maint.mk: enhance useless header checks
[pspp] / ChangeLog
1 2011-06-24  Eric Blake  <eblake@redhat.com>
2
3         maint.mk: enhance useless header checks
4         * top/maint.mk (_sc_header_without_use): Check both include
5         styles.
6         (sc_prohibit_assert_without_use)
7         (sc_prohibit_close_stream_without_use)
8         (sc_prohibit_getopt_without_use)
9         (sc_prohibit_quotearg_without_use)
10         (sc_prohibit_quote_without_use)
11         (sc_prohibit_long_options_without_use)
12         (sc_prohibit_inttostr_without_use)
13         (sc_prohibit_ignore_value_without_use)
14         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
15         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
16         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
17         (sc_prohibit_hash_pjw_without_use)
18         (sc_prohibit_safe_read_without_use)
19         (sc_prohibit_argmatch_without_use)
20         (sc_prohibit_canonicalize_without_use)
21         (sc_prohibit_root_dev_ino_without_use)
22         (sc_prohibit_openat_without_use)
23         (sc_prohibit_c_ctype_without_use)
24         (sc_prohibit_signal_without_use)
25         (sc_prohibit_stdio--_without_use)
26         (sc_prohibit_stdio-safer_without_use)
27         (sc_prohibit_strings_without_use)
28         (sc_prohibit_intprops_without_use)
29         (sc_prohibit_stddef_without_use)
30         (sc_prohibit_xfreopen_without_use): Update clients.
31
32 2011-06-24  Jim Meyering  <meyering@redhat.com>
33
34         syntax-check: keep one maint.mk rule in sync with its header
35         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
36         of the bug Eric has just fixed, with today's commit 25e4c2ec.
37         I prefer to avoid temporary files here, so use <(...), but that
38         is not supported by /bin/sh, so...
39         (SHELL): Define to /bin/bash.
40
41 2011-06-24  Eric Blake  <eblake@redhat.com>
42
43         maint.mk: update sc_prohibit_intprops_without_use
44         * top/maint.mk (_intprops_names): Match recent changes.
45
46 2011-06-24  Bruno Haible  <bruno@clisp.org>
47
48         strerror-override: No-op tweak.
49         * lib/strerror-override.h (strerror_override): Reorder conditions,
50         for consistency with lib/strerror-override.c.
51
52 2011-06-23  Eric Blake  <eblake@redhat.com>
53
54         maint.mk: test further PATH_MAX issues
55         * top/maint.mk (sc_prohibit_path_max_array): Rename...
56         (sc_prohibit_path_max_allocation): ...and also test alloca.
57         Suggested by Jim Meyering.
58
59 2011-06-22  Eric Blake  <eblake@redhat.com>
60
61         maint.mk: add syntax-check to avoid char[PATH_MAX]
62         * top/maint.mk (sc_prohibit_path_max_array): New rule.
63
64         stat: be robust to PATH_MAX definition
65         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
66         * modules/stat (Depends-on): Add verify.
67
68         link: work around IRIX bug
69         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
70         * lib/link.c (rpl_link): Work around it.
71         * tests/test-link.h (test_link): Enhance test.
72         * doc/posix-functions/link.texi (link): Document the bug.
73
74         getopt: silence clang warning
75         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
76         dereference.
77         Reported by Gustavo Martin Domato.
78
79 2011-06-22  Jim Meyering  <meyering@redhat.com>
80
81         bootstrap: do not insert a blank line into each .gitignore file
82         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
83
84 2011-06-21  Eric Blake  <eblake@redhat.com>
85
86         perror: test for output mismatch
87         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
88         perror on IRIX.
89
90         strerror_r: fix OpenBSD behavior on out-of-range
91         * lib/strerror_r.c (strerror_r): Always use maximal string.
92         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
93
94         strerror_r: fix OpenBSD behavior on 0
95         * lib/strerror-override.c (strerror_override): Also override 0
96         when needed.
97         * lib/strerror-override.h (strerror_override): Likewise.
98         * lib/strerror.c (strerror): Simplify, now that 0 override is done
99         earlier.
100         * lib/strerror_r.c (strerror_r): Likewise.
101         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
102         behavior...
103         (gl_FUNC_STRERROR_0): ...into new macro.
104         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
105         is overridden.
106         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
107         * modules/strerror-override (Files): Add strerror.m4.
108         (configure.ac): Also provide override for 0 when needed.
109         * doc/posix-functions/strerror.texi (strerror): Document this.
110         * doc/posix-functions/perror.texi (perror): Likewise.
111
112         perror: adjust array size
113         * modules/perror (Depends-on): Add strerror-override.
114         * lib/perror.c (perror): Use it to avoid magic number.
115
116         strerror-override: reduce size
117         * lib/strerror-override.c (strerror_override): Use fewer lines.
118
119 2011-06-20  Bruno Haible  <bruno@clisp.org>
120
121         pathmax: Ensure correct value for PATH_MAX on HP-UX.
122         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
123
124 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
125
126         alloca: port to compilers that can optimize like GCC 4.6.0
127         * lib/alloca.c (find_stack_direction): New signature, taken from
128         Autoconf git.  This works with GCC 4.6.0.  This code should never
129         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
130         be used with other compilers that optimize as well as GCC 4.6.0 does.
131         (alloca): Adjust to new signature.
132         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
133         New macro, which patches Autoconf in a similar way.
134
135         c-stack: stop worrying about stack direction
136         * lib/c-stack.c (find_stack_direction): Remove.
137         (segv_handler): Don't worry about stack direction growth, as it's
138         too much of a pain to configure this correctly, given how compilers
139         are optimizing-away our stack-growth detection code.  Instead, assume
140         that any access to just before or just after the stack is OK.
141         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
142         Don't require AC_FUNC_ALLOCA; no longer needed.
143
144 2011-06-20  Eric Blake  <eblake@redhat.com>
145
146         test-stat: don't allocate PATH_MAX bytes
147         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
148         PATH_MAX-sized buffer.
149         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
150         * modules/stat-tests (Depends-on): Likewise.
151         * tests/test-fstatat.c (includes): Drop pathmax.h.
152         * tests/test-stat.c (includes): Likewise.
153         Reported by Bruno Haible.
154
155 2011-06-20  Bruno Haible  <bruno@clisp.org>
156
157         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
158         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
159         * lib/float.c: New file.
160         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
161         REPLACE_FLOAT_LDBL.
162         * modules/float (Files): Add lib/float.c.
163         (configure.ac): Invoke AC_LIBOBJ.
164         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
165
166 2011-06-20  Bruno Haible  <bruno@clisp.org>
167
168         Tests for module 'float'.
169         * modules/float-tests: New file.
170         * tests/test-float.c: New file.
171
172 2011-06-19  Bruno Haible  <bruno@clisp.org>
173
174         isinf: Coding style.
175         * lib/isinf.c: Use GNU coding style.
176
177 2011-06-19  Bruno Haible  <bruno@clisp.org>
178
179         linkat test: Avoid test failure on AIX 7.1.
180         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
181         * tests/test-link.h (test_link): Likewise.
182
183 2011-06-19  Bruno Haible  <bruno@clisp.org>
184
185         pread test: Avoid test failure on OpenBSD 4.9.
186         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
187
188 2011-06-19  Bruno Haible  <bruno@clisp.org>
189
190         sprintf-posix: Fix test failure on AIX 7.1.
191         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
192         * doc/posix-functions/dprintf.texi: Mention limited precision problem
193         on AIX.
194         * doc/posix-functions/fprintf.texi: Likewise.
195         * doc/posix-functions/printf.texi: Likewise.
196         * doc/posix-functions/snprintf.texi: Likewise.
197         * doc/posix-functions/sprintf.texi: Likewise.
198         * doc/posix-functions/vdprintf.texi: Likewise.
199         * doc/posix-functions/vfprintf.texi: Likewise.
200         * doc/posix-functions/vprintf.texi: Likewise.
201         * doc/posix-functions/vsnprintf.texi: Likewise.
202         * doc/posix-functions/vsprintf.texi: Likewise.
203
204 2011-06-19  Bruno Haible  <bruno@clisp.org>
205
206         roundl-ieee: Fix test failure on AIX 7.1.
207         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
208         * doc/posix-functions/roundl.texi: Mention problem with negative
209         arguments.
210
211 2011-06-19  Bruno Haible  <bruno@clisp.org>
212
213         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
214         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
215         * doc/posix-functions/round.texi: Mention problem with negative
216         arguments.
217         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
218
219 2011-06-19  Bruno Haible  <bruno@clisp.org>
220
221         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
222         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
223         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
224         * doc/posix-functions/roundf.texi: Mention problem with negative
225         arguments.
226         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
227
228 2011-06-19  Bruno Haible  <bruno@clisp.org>
229
230         ceilf-ieee: Work around bug on MacOS X 10.5.
231         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
232
233         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
234         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
235         IEEE compliant, avoid compiler optimizations.
236         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
237         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
238         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
239         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
240         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
241         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
242         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
243         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
244         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
245         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
246
247 2011-06-19  Bruno Haible  <bruno@clisp.org>
248
249         ceilf-ieee: Work around bug on AIX 7.1.
250         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
251         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
252
253 2011-06-19  Bruno Haible  <bruno@clisp.org>
254
255         ceil-ieee: Work around bug on AIX 7.1.
256         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
257         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
258
259 2011-06-18  Bruno Haible  <bruno@clisp.org>
260
261         fsync test: Avoid test failure on MacOS X and AIX.
262         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
263         EINVAL.
264
265 2011-06-18  Bruno Haible  <bruno@clisp.org>
266
267         openat, fdopendir tests: Fix link errors.
268         * modules/openat-tests (Depends-on): Add progname.
269         * modules/fdopendir-tests (Depends-on): Likewise.
270         * tests/test-fchownat.c: Include progname.h.
271         (main): Call set_program_name.
272         * tests/test-fstatat.c: Include progname.h.
273         (main): Call set_program_name.
274         * tests/test-mkdirat.c: Include progname.h.
275         (main): Call set_program_name.
276         * tests/test-openat.c: Include progname.h.
277         (main): Call set_program_name.
278         * tests/test-unlinkat.c: Include progname.h.
279         (main): Call set_program_name.
280         * tests/test-fdopendir.c: Include progname.h.
281         (main): Call set_program_name.
282
283 2011-06-18  Bruno Haible  <bruno@clisp.org>
284
285         Doc update.
286         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
287         HP-UX.
288         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
289
290 2011-06-18  Bruno Haible  <bruno@clisp.org>
291
292         getcwd tests: Avoid compilation error on HP-UX 11.31.
293         * modules/getcwd-tests (Depends-on): Add pathmax.
294         * tests/test-getcwd.c: Include pathmax.h.
295
296 2011-06-18  Bruno Haible  <bruno@clisp.org>
297
298         isfinite, isinf: Fix link error on AIX 6 and 7.
299         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
300         needed, also test the macro with a 'float' argument.
301         * m4/isinf.m4 (gl_ISINF): Likewise.
302
303 2011-06-18  Bruno Haible  <bruno@clisp.org>
304
305         getloadavg: Don't clobber LIBS. Regression from previous commit.
306         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
307         AC_CHECK_LIB from here...
308         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
309         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
310         gl_func_getloadavg_done.
311         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
312
313 2011-06-18  Bruno Haible  <bruno@clisp.org>
314
315         clean-temp: Improve documentation.
316         * lib/clean-temp.h: Explain better how to use this module.
317         Reported by John Darrington <john@darrington.wattle.id.au>.
318
319 2011-06-17  Bruno Haible  <bruno@clisp.org>
320
321         pread, pwrite: Avoid cc warning on AIX.
322         * lib/unistd.in.h (pread): Undefine before defining as a macro.
323         (pwrite): Likewise.
324
325 2011-06-17  Bruno Haible  <bruno@clisp.org>
326
327         spawn-pipe tests: Fix link error.
328         * tests/test-spawn-pipe-child.c: Undefine fprintf.
329         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
330
331 2011-06-17  Bruno Haible  <bruno@clisp.org>
332
333         Tests: Remove unnecessary dependency.
334         * modules/canonicalize-tests (Depends-on): Remove progname.
335         * modules/chown-tests (Depends-on): Likewise.
336         * modules/dirname-tests (Depends-on): Likewise.
337         * modules/fdopendir-tests (Depends-on): Likewise.
338         * modules/fdutimensat-tests (Depends-on): Likewise.
339         * modules/hash-tests (Depends-on): Likewise.
340         * modules/lchown-tests (Depends-on): Likewise.
341         * modules/linkat-tests (Depends-on): Likewise.
342         * modules/renameat-tests (Depends-on): Likewise.
343         * modules/spawn-pipe-tests (Depends-on): Likewise.
344         * modules/utimensat-tests (Depends-on): Likewise.
345
346 2011-06-17  Bruno Haible  <bruno@clisp.org>
347
348         spawn-pipe tests: Fix link error.
349         * tests/test-spawn-pipe-child.c: Undefine fflush.
350
351 2011-06-17  Bruno Haible  <bruno@clisp.org>
352
353         Fix tests link errors.
354         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
355         * modules/chown-tests (Makefile.am): Don't link test-chown with
356         LIBINTL.
357         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
358         LIBINTL.
359         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
360         LIBINTL.
361         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
362         LIBINTL.
363
364 2011-06-16  Bruno Haible  <bruno@clisp.org>
365
366         crypto/gc-sha1: Fix recent regression.
367         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
368         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
369
370         crypto/gc-md5: Fix recent regression.
371         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
372
373         crypto/gc-md4: Fix recent regression.
374         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
375         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
376
377         crypto/gc-arctwo: Fix recent regression.
378         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
379         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
380
381         crypto/gc-rijndael: Fix recent regression.
382         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
383         (configure.ac): Invoke AC_LIBOBJ here.
384         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
385         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
386
387         crypto/gc-hmac-sha1: Fix recent regression.
388         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
389         (configure.ac): Invoke AC_LIBOBJ here.
390         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
391         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
392
393         crypto/gc-hmac-md5: Fix recent regression.
394         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
395         (configure.ac): Invoke AC_LIBOBJ here.
396         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
397         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
398
399         crypto/gc-des: Fix recent regression.
400         * modules/crypto/gc-des (Files): Remove m4/des.m4.
401         (configure.ac): Invoke AC_LIBOBJ here.
402         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
403         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
404
405         crypto/gc-arcfour: Fix recent regression.
406         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
407         (configure.ac): Invoke AC_LIBOBJ here.
408         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
409         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
410
411 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
412
413         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
414         After the 2011-05-21 change, this macro requires
415         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
416         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
417
418 2011-06-16  Bruno Haible  <bruno@clisp.org>
419
420         fprintftime: Move AC_LIBOBJ invocations to module description.
421         * m4/fprintftime.m4: Remove file.
422         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
423         (configure.ac): Remove gl_FPRINTFTIME call.
424         (Makefile.am): Augment lib_SOURCES.
425         Reported by Jim Meyering.
426
427 2011-06-16  Bruno Haible  <bruno@clisp.org>
428
429         tmpfile-safer: Finish 2011-05-23 commit.
430         * m4/stdio-safer.m4: Really remove file.
431         Reported by Jim Meyering.
432
433 2011-06-16  Bruno Haible  <bruno@clisp.org>
434
435         syntax-check: Fix typo.
436         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
437         printf-posix.m4.
438         Reported by Jim Meyering.
439
440 2011-06-13  Jim Meyering  <meyering@redhat.com>
441
442         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
443         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
444
445 2011-05-23  Bruno Haible  <bruno@clisp.org>
446
447         yesno: Move AC_LIBOBJ invocations to module description.
448         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
449         * modules/yesno (Makefile.am): Augment lib_SOURCES.
450
451 2011-05-23  Bruno Haible  <bruno@clisp.org>
452
453         xstrtol: Move AC_LIBOBJ invocations to module description.
454         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
455         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
456
457 2011-05-23  Bruno Haible  <bruno@clisp.org>
458
459         xstrtold: Move AC_LIBOBJ invocations to module description.
460         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
461         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
462
463 2011-05-23  Bruno Haible  <bruno@clisp.org>
464
465         xstrtod: Move AC_LIBOBJ invocations to module description.
466         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
467         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
468
469 2011-05-23  Bruno Haible  <bruno@clisp.org>
470
471         xnanosleep: Move AC_LIBOBJ invocations to module description.
472         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
473         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
474
475 2011-05-23  Bruno Haible  <bruno@clisp.org>
476
477         xgetcwd: Move AC_LIBOBJ invocations to module description.
478         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
479         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
480
481 2011-05-23  Bruno Haible  <bruno@clisp.org>
482
483         xalloc: Move AC_LIBOBJ invocations to module description.
484         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
485         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
486
487 2011-05-23  Bruno Haible  <bruno@clisp.org>
488
489         write-any-file: Move AC_LIBOBJ invocations to module description.
490         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
491         invocation.
492         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
493
494 2011-05-23  Bruno Haible  <bruno@clisp.org>
495
496         utimens: Move AC_LIBOBJ invocations to module description.
497         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
498         * modules/utimens (Makefile.am): Augment lib_SOURCES.
499
500 2011-05-23  Bruno Haible  <bruno@clisp.org>
501
502         utimecmp: Move AC_LIBOBJ invocations to module description.
503         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
504         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
505
506 2011-05-23  Bruno Haible  <bruno@clisp.org>
507
508         userspec: Move AC_LIBOBJ invocations to module description.
509         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
510         * modules/userspec (Makefile.am): Augment lib_SOURCES.
511
512 2011-05-23  Bruno Haible  <bruno@clisp.org>
513
514         unlinkdir: Move AC_LIBOBJ invocations to module description.
515         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
516         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
517
518 2011-05-23  Bruno Haible  <bruno@clisp.org>
519
520         unistd-safer: Move AC_LIBOBJ invocations to module description.
521         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
522         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
523
524 2011-05-23  Bruno Haible  <bruno@clisp.org>
525
526         tempname: Move AC_LIBOBJ invocations to module description.
527         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
528         * modules/tempname (Makefile.am): Augment lib_SOURCES.
529
530 2011-05-23  Bruno Haible  <bruno@clisp.org>
531
532         strftime: Move AC_LIBOBJ invocations to module description.
533         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
534         * modules/strftime (Makefile.am): Augment lib_SOURCES.
535
536 2011-05-23  Bruno Haible  <bruno@clisp.org>
537
538         stdlib-safer: Move AC_LIBOBJ invocations to module description.
539         * m4/stdlib-safer.m4: Remove file.
540         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
541         (configure.ac): Remove gl_STDLIB_SAFER call.
542         (Makefile.am): Augment lib_SOURCES.
543
544 2011-05-23  Bruno Haible  <bruno@clisp.org>
545
546         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
547         * m4/stdio-safer.m4: Remove file.
548         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
549         (configure.ac): Remove gl_TMPFILE_SAFER call.
550         (Makefile.am): Augment lib_SOURCES.
551
552 2011-05-23  Bruno Haible  <bruno@clisp.org>
553
554         popen-safer: Move AC_LIBOBJ invocations to module description.
555         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
556         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
557         (configure.ac): Remove gl_POPEN_SAFER call.
558         (Makefile.am): Augment lib_SOURCES.
559
560 2011-05-23  Bruno Haible  <bruno@clisp.org>
561
562         freopen-safer: Move AC_LIBOBJ invocations to module description.
563         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
564         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
565         (configure.ac): Remove gl_FREOPEN_SAFER call.
566         (Makefile.am): Augment lib_SOURCES.
567
568 2011-05-23  Bruno Haible  <bruno@clisp.org>
569
570         fopen-safer: Move AC_LIBOBJ invocations to module description.
571         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
572         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
573         (configure.ac): Remove gl_FOPEN_SAFER call.
574         (Makefile.am): Augment lib_SOURCES.
575
576 2011-05-23  Bruno Haible  <bruno@clisp.org>
577
578         crypto/sha512: Move AC_LIBOBJ invocations to module description.
579         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
580         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
581
582 2011-05-23  Bruno Haible  <bruno@clisp.org>
583
584         crypto/sha256: Move AC_LIBOBJ invocations to module description.
585         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
586         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
587
588 2011-05-23  Bruno Haible  <bruno@clisp.org>
589
590         crypto/sha1: Move AC_LIBOBJ invocations to module description.
591         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
592         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
593
594 2011-05-23  Bruno Haible  <bruno@clisp.org>
595
596         settime: Move AC_LIBOBJ invocations to module description.
597         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
598         * modules/settime (Makefile.am): Augment lib_SOURCES.
599
600 2011-05-23  Bruno Haible  <bruno@clisp.org>
601
602         savedir: Move AC_LIBOBJ invocations to module description.
603         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
604         * modules/savedir (Makefile.am): Augment lib_SOURCES.
605
606 2011-05-23  Bruno Haible  <bruno@clisp.org>
607
608         save-cwd: Move AC_LIBOBJ invocations to module description.
609         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
610         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
611
612 2011-05-23  Bruno Haible  <bruno@clisp.org>
613
614         same: Move AC_LIBOBJ invocations to module description.
615         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
616         * modules/same (Makefile.am): Augment lib_SOURCES.
617
618 2011-05-23  Bruno Haible  <bruno@clisp.org>
619
620         safe-write: Move AC_LIBOBJ invocations to module description.
621         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
622         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
623         instead of gl_SAFE_WRITE.
624         (Makefile.am): Augment lib_SOURCES.
625
626 2011-05-23  Bruno Haible  <bruno@clisp.org>
627
628         safe-read: Move AC_LIBOBJ invocations to module description.
629         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
630         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
631         of gl_SAFE_READ.
632         (Makefile.am): Augment lib_SOURCES.
633
634 2011-05-23  Bruno Haible  <bruno@clisp.org>
635
636         safe-alloc: Move AC_LIBOBJ invocations to module description.
637         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
638         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
639
640 2011-05-23  Bruno Haible  <bruno@clisp.org>
641
642         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
643         * m4/rijndael.m4: Remove file.
644         * modules/crypto/rijndael (Files): Remove it.
645         (configure.ac): Remove gl_RIJNDAEL call.
646         (Makefile.am): Augment lib_SOURCES.
647
648 2011-05-23  Bruno Haible  <bruno@clisp.org>
649
650         readtokens: Move AC_LIBOBJ invocations to module description.
651         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
652         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
653
654 2011-05-23  Bruno Haible  <bruno@clisp.org>
655
656         read-file: Move AC_LIBOBJ invocations to module description.
657         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
658         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
659         of gl_FUNC_READ_FILE.
660         (Makefile.am): Augment lib_SOURCES.
661
662 2011-05-23  Bruno Haible  <bruno@clisp.org>
663
664         quotearg: Move AC_LIBOBJ invocations to module description.
665         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
666         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
667
668 2011-05-23  Bruno Haible  <bruno@clisp.org>
669
670         quote: Move AC_LIBOBJ invocations to module description.
671         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
672         * modules/quote (Makefile.am): Augment lib_SOURCES.
673
674 2011-05-23  Bruno Haible  <bruno@clisp.org>
675
676         posixver: Move AC_LIBOBJ invocations to module description.
677         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
678         * modules/posixver (Makefile.am): Augment lib_SOURCES.
679
680 2011-05-23  Bruno Haible  <bruno@clisp.org>
681
682         posixtm: Move AC_LIBOBJ invocations to module description.
683         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
684         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
685
686 2011-05-23  Bruno Haible  <bruno@clisp.org>
687
688         physmem: Move AC_LIBOBJ invocations to module description.
689         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
690         * modules/physmem (Makefile.am): Augment lib_SOURCES.
691
692 2011-05-23  Bruno Haible  <bruno@clisp.org>
693
694         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
695         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
696         invocation.
697         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
698
699 2011-05-23  Bruno Haible  <bruno@clisp.org>
700
701         mpsort: Move AC_LIBOBJ invocations to module description.
702         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
703         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
704
705 2011-05-23  Bruno Haible  <bruno@clisp.org>
706
707         modechange: Move AC_LIBOBJ invocations to module description.
708         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
709         * modules/modechange (Makefile.am): Augment lib_SOURCES.
710
711 2011-05-23  Bruno Haible  <bruno@clisp.org>
712
713         mkdir-p: Move AC_LIBOBJ invocations to module description.
714         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
715         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
716
717 2011-05-23  Bruno Haible  <bruno@clisp.org>
718
719         mkancesdirs: Move AC_LIBOBJ invocations to module description.
720         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
721         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
722
723 2011-05-23  Bruno Haible  <bruno@clisp.org>
724
725         mgetgroups: Move AC_LIBOBJ invocations to module description.
726         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
727         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
728
729 2011-05-23  Bruno Haible  <bruno@clisp.org>
730
731         memxor: Move AC_LIBOBJ invocations to module description.
732         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
733         * modules/memxor (Makefile.am): Augment lib_SOURCES.
734
735 2011-05-23  Bruno Haible  <bruno@clisp.org>
736
737         memcoll: Move AC_LIBOBJ invocations to module description.
738         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
739         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
740
741 2011-05-23  Bruno Haible  <bruno@clisp.org>
742
743         memcasecmp: Move AC_LIBOBJ invocations to module description.
744         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
745         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
746
747 2011-05-23  Bruno Haible  <bruno@clisp.org>
748
749         crypto/md5: Move AC_LIBOBJ invocations to module description.
750         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
751         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
752
753 2011-05-23  Bruno Haible  <bruno@clisp.org>
754
755         crypto/md4: Move AC_LIBOBJ invocations to module description.
756         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
757         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
758
759 2011-05-23  Bruno Haible  <bruno@clisp.org>
760
761         crypto/md2: Move AC_LIBOBJ invocations to module description.
762         * m4/md2.m4: Remove file.
763         * modules/crypto/md2 (Files): Remove it.
764         (configure.ac): Remove gl_MD2 call.
765         (Makefile.am): Augment lib_SOURCES.
766
767 2011-05-23  Bruno Haible  <bruno@clisp.org>
768
769         long-options: Move AC_LIBOBJ invocations to module description.
770         * m4/long-options.m4: Remove file.
771         * modules/long-options (Files): Remove it.
772         (configure.ac): Remove gl_LONG_OPTIONS call.
773         (Makefile.am): Augment lib_SOURCES.
774
775 2011-05-23  Bruno Haible  <bruno@clisp.org>
776
777         i-ring: Move AC_LIBOBJ invocations to module description.
778         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
779         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
780
781 2011-05-23  Bruno Haible  <bruno@clisp.org>
782
783         idcache: Move AC_LIBOBJ invocations to module description.
784         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
785         * modules/idcache (Makefile.am): Augment lib_SOURCES.
786
787 2011-05-23  Bruno Haible  <bruno@clisp.org>
788
789         human: Move AC_LIBOBJ invocations to module description.
790         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
791         * modules/human (Makefile.am): Augment lib_SOURCES.
792
793 2011-05-23  Bruno Haible  <bruno@clisp.org>
794
795         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
796         * m4/hmac-sha1.m4: Remove file.
797         * modules/crypto/hmac-sha1 (Files): Remove it.
798         (configure.ac): Remove gl_HMAC_SHA1 call.
799         (Makefile.am): Augment lib_SOURCES.
800
801 2011-05-23  Bruno Haible  <bruno@clisp.org>
802
803         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
804         * m4/hmac-md5.m4: Remove file.
805         * modules/crypto/hmac-md5 (Files): Remove it.
806         (configure.ac): Remove gl_HMAC_MD5 call.
807         (Makefile.am): Augment lib_SOURCES.
808
809 2011-05-23  Bruno Haible  <bruno@clisp.org>
810
811         hash: Move AC_LIBOBJ invocations to module description.
812         * m4/hash.m4: Remove file.
813         * modules/hash (Files): Remove it.
814         (configure.ac): Remove gl_HASH call.
815         (Makefile.am): Augment lib_SOURCES.
816
817 2011-05-23  Bruno Haible  <bruno@clisp.org>
818
819         hard-locale: Move AC_LIBOBJ invocations to module description.
820         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
821         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
822
823 2011-05-23  Bruno Haible  <bruno@clisp.org>
824
825         getugroups: Move AC_LIBOBJ invocations to module description.
826         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
827         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
828
829 2011-05-23  Bruno Haible  <bruno@clisp.org>
830
831         gettime: Move AC_LIBOBJ invocations to module description.
832         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
833         * modules/gettime (Makefile.am): Augment lib_SOURCES.
834
835 2011-05-23  Bruno Haible  <bruno@clisp.org>
836
837         getndelim2: Move AC_LIBOBJ invocations to module description.
838         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
839         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
840
841 2011-05-23  Bruno Haible  <bruno@clisp.org>
842
843         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
844         * m4/gc-pbkdf2-sha1.m4: Remove file.
845         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
846         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
847         (Makefile.am): Augment lib_SOURCES.
848
849 2011-05-23  Bruno Haible  <bruno@clisp.org>
850
851         fts: Move AC_LIBOBJ invocations to module description.
852         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
853         * modules/fts (configure.ac): ... to here.
854
855 2011-05-23  Bruno Haible  <bruno@clisp.org>
856
857         file-type: Move AC_LIBOBJ invocations to module description.
858         * m4/file-type.m4: Remove file.
859         * modules/file-type (Files): Remove it.
860         (configure.ac): Remove gl_FILE_TYPE call.
861         (Makefile.am): Augment lib_SOURCES.
862
863 2011-05-23  Bruno Haible  <bruno@clisp.org>
864
865         filenamecat*: Respect rules for use of AC_LIBOBJ.
866         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
867         Remove AC_LIBOBJ invocation.
868         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
869         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
870
871 2011-05-23  Bruno Haible  <bruno@clisp.org>
872
873         filemode: Move AC_LIBOBJ invocations to module description.
874         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
875         * modules/filemode (Makefile.am): Augment lib_SOURCES.
876
877 2011-05-23  Bruno Haible  <bruno@clisp.org>
878
879         openat-safer: Move AC_LIBOBJ invocations to module description.
880         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
881         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
882
883 2011-05-23  Bruno Haible  <bruno@clisp.org>
884
885         fcntl-safer: Move AC_LIBOBJ invocations to module description.
886         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
887         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
888
889 2011-05-23  Bruno Haible  <bruno@clisp.org>
890
891         exclude: Move AC_LIBOBJ invocations to module description.
892         * m4/exclude.m4: Remove file.
893         * modules/exclude (Files): Remove it.
894         (configure.ac): Remove gl_EXCLUDE call.
895         (Makefile.am): Augment lib_SOURCES.
896
897 2011-05-23  Bruno Haible  <bruno@clisp.org>
898
899         dirname*: Respect rules for use of AC_LIBOBJ.
900         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
901         invocations.
902         * modules/dirname (Makefile.am): Augment lib_SOURCES.
903         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
904
905 2011-05-23  Bruno Haible  <bruno@clisp.org>
906
907         dirent-safer: Move AC_LIBOBJ invocations to module description.
908         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
909         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
910
911 2011-05-23  Bruno Haible  <bruno@clisp.org>
912
913         crypto/des: Move AC_LIBOBJ invocations to module description.
914         * m4/des.m4: Remove file.
915         * modules/crypto/des (Files): Remove it.
916         (configure.ac): Remove gl_DES call.
917         (Makefile.am): Augment lib_SOURCES.
918
919 2011-05-23  Bruno Haible  <bruno@clisp.org>
920
921         cycle-check: Move AC_LIBOBJ invocations to module description.
922         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
923         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
924
925 2011-05-23  Bruno Haible  <bruno@clisp.org>
926
927         c-strtold: Move AC_LIBOBJ invocations to module description.
928         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
929         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
930
931 2011-05-23  Bruno Haible  <bruno@clisp.org>
932
933         c-strtod: Move AC_LIBOBJ invocations to module description.
934         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
935         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
936
937 2011-05-23  Bruno Haible  <bruno@clisp.org>
938
939         crc: Move AC_LIBOBJ invocations to module description.
940         * m4/crc.m4: Remove file.
941         * modules/crc (Files): Remove it.
942         (configure.ac): Remove gl_CRC call.
943         (Makefile.am): Augment lib_SOURCES.
944
945 2011-05-23  Bruno Haible  <bruno@clisp.org>
946
947         close-stream: Move AC_LIBOBJ invocations to module description.
948         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
949         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
950
951 2011-05-23  Bruno Haible  <bruno@clisp.org>
952
953         closeout: Move AC_LIBOBJ invocations to module description.
954         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
955         * modules/closeout (Makefile.am): Augment lib_SOURCES.
956
957 2011-05-23  Bruno Haible  <bruno@clisp.org>
958
959         closein: Move AC_LIBOBJ invocations to module description.
960         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
961         * modules/closein (Makefile.am): Augment lib_SOURCES.
962
963 2011-05-23  Bruno Haible  <bruno@clisp.org>
964
965         cloexec: Move AC_LIBOBJ invocations to module description.
966         * m4/cloexec.m4: Remove file.
967         * modules/cloexec (Files): Remove it.
968         (configure.ac): Remove gl_CLOEXEC call.
969         (Makefile.am): Augment lib_SOURCES.
970
971 2011-05-23  Bruno Haible  <bruno@clisp.org>
972
973         check-version: Move AC_LIBOBJ invocations to module description.
974         * m4/check-version.m4: Remove file.
975         * modules/check-version (Files): Remove it.
976         (configure.ac): Remove gl_CHECK_VERSION call.
977         (Makefile.am): Augment lib_SOURCES.
978
979 2011-05-23  Bruno Haible  <bruno@clisp.org>
980
981         chdir-safer: Move AC_LIBOBJ invocations to module description.
982         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
983         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
984
985 2011-05-23  Bruno Haible  <bruno@clisp.org>
986
987         canonicalize: Move AC_LIBOBJ invocations to module description.
988         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
989         AC_LIBOBJ invocation.
990         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
991
992 2011-05-23  Bruno Haible  <bruno@clisp.org>
993
994         canon-host: Move AC_LIBOBJ invocations to module description.
995         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
996         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
997         instead of gl_CANON_HOST.
998         (Makefile.am): Augment lib_SOURCES.
999
1000 2011-05-23  Bruno Haible  <bruno@clisp.org>
1001
1002         backupfile: Move AC_LIBOBJ invocations to module description.
1003         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
1004         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
1005
1006 2011-05-23  Bruno Haible  <bruno@clisp.org>
1007
1008         argmatch: Move AC_LIBOBJ invocations to module description.
1009         * m4/argmatch.m4: Remove file.
1010         * modules/argmatch (Files): Remove it.
1011         (configure.ac): Remove gl_ARGMATCH call.
1012         (Makefile.am): Augment lib_SOURCES.
1013
1014 2011-05-23  Bruno Haible  <bruno@clisp.org>
1015
1016         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
1017         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
1018         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
1019
1020 2011-05-23  Bruno Haible  <bruno@clisp.org>
1021
1022         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
1023         * m4/arcfour.m4: Remove file.
1024         * modules/crypto/arcfour (Files): Remove it.
1025         (configure.ac): Remove gl_ARCFOUR call.
1026         (Makefile.am): Augment lib_SOURCES.
1027
1028 2011-05-22  Bruno Haible  <bruno@clisp.org>
1029
1030         write: Move AC_LIBOBJ invocations to module description.
1031         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
1032         * modules/write (configure.ac): ... to here.
1033
1034 2011-05-22  Bruno Haible  <bruno@clisp.org>
1035
1036         wmemset: Move AC_LIBOBJ invocations to module description.
1037         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
1038         here...
1039         * modules/wmemset (configure.ac): ... to here.
1040
1041 2011-05-22  Bruno Haible  <bruno@clisp.org>
1042
1043         wmemmove: Move AC_LIBOBJ invocations to module description.
1044         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
1045         here...
1046         * modules/wmemmove (configure.ac): ... to here.
1047
1048 2011-05-22  Bruno Haible  <bruno@clisp.org>
1049
1050         wmemcpy: Move AC_LIBOBJ invocations to module description.
1051         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
1052         here...
1053         * modules/wmemcpy (configure.ac): ... to here.
1054
1055 2011-05-22  Bruno Haible  <bruno@clisp.org>
1056
1057         wmemcmp: Move AC_LIBOBJ invocations to module description.
1058         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
1059         here...
1060         * modules/wmemcmp (configure.ac): ... to here.
1061
1062 2011-05-22  Bruno Haible  <bruno@clisp.org>
1063
1064         wmemchr: Move AC_LIBOBJ invocations to module description.
1065         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
1066         here...
1067         * modules/wmemchr (configure.ac): ... to here.
1068
1069 2011-05-22  Bruno Haible  <bruno@clisp.org>
1070
1071         wcswidth: Move AC_LIBOBJ invocations to module description.
1072         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
1073         here...
1074         * modules/wcswidth (configure.ac): ... to here.
1075
1076 2011-05-22  Bruno Haible  <bruno@clisp.org>
1077
1078         wcwidth: Respect rules for use of AC_LIBOBJ.
1079         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
1080         invocation from here...
1081         * modules/wcwidth (configure.ac): ... to here.
1082         (Depends-on): Update conditions.
1083
1084 2011-05-22  Bruno Haible  <bruno@clisp.org>
1085
1086         wctype: Move AC_LIBOBJ invocations to module description.
1087         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
1088         invocation from here...
1089         * modules/wctype (configure.ac): ... to here.
1090         (Depends-on): Update conditions.
1091
1092 2011-05-22  Bruno Haible  <bruno@clisp.org>
1093
1094         wctrans: Move AC_LIBOBJ invocations to module description.
1095         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
1096         invocation from here...
1097         * modules/wctrans (configure.ac): ... to here.
1098
1099 2011-05-22  Bruno Haible  <bruno@clisp.org>
1100
1101         wctomb: Move AC_LIBOBJ invocations to module description.
1102         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
1103         invocations from here...
1104         * modules/wctomb (configure.ac): ... to here.
1105
1106 2011-05-22  Bruno Haible  <bruno@clisp.org>
1107
1108         wctob: Move AC_LIBOBJ invocations to module description.
1109         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
1110         gl_PREREQ_WCTOB invocations from here...
1111         * modules/wctob (configure.ac): ... to here.
1112         (Depends-on): Update conditions.
1113
1114 2011-05-22  Bruno Haible  <bruno@clisp.org>
1115
1116         wcsxfrm: Move AC_LIBOBJ invocations to module description.
1117         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
1118         here...
1119         * modules/wcsxfrm (configure.ac): ... to here.
1120
1121 2011-05-22  Bruno Haible  <bruno@clisp.org>
1122
1123         wcstok: Move AC_LIBOBJ invocations to module description.
1124         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
1125         * modules/wcstok (configure.ac): ... to here.
1126
1127 2011-05-22  Bruno Haible  <bruno@clisp.org>
1128
1129         wcsstr: Move AC_LIBOBJ invocations to module description.
1130         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
1131         * modules/wcsstr (configure.ac): ... to here.
1132
1133 2011-05-22  Bruno Haible  <bruno@clisp.org>
1134
1135         wcsspn: Move AC_LIBOBJ invocations to module description.
1136         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
1137         * modules/wcsspn (configure.ac): ... to here.
1138
1139 2011-05-22  Bruno Haible  <bruno@clisp.org>
1140
1141         wcsrtombs: Move AC_LIBOBJ invocations to module description.
1142         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
1143         gl_PREREQ_WCSRTOMBS invocations from here...
1144         * modules/wcsrtombs (configure.ac): ... to here.
1145
1146 2011-05-22  Bruno Haible  <bruno@clisp.org>
1147
1148         wcsrchr: Move AC_LIBOBJ invocations to module description.
1149         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
1150         here...
1151         * modules/wcsrchr (configure.ac): ... to here.
1152
1153 2011-05-22  Bruno Haible  <bruno@clisp.org>
1154
1155         wcspbrk: Move AC_LIBOBJ invocations to module description.
1156         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
1157         here...
1158         * modules/wcspbrk (configure.ac): ... to here.
1159
1160 2011-05-22  Bruno Haible  <bruno@clisp.org>
1161
1162         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
1163         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
1164         gl_PREREQ_WCSNRTOMBS invocations from here...
1165         * modules/wcsnrtombs (configure.ac): ... to here.
1166
1167 2011-05-22  Bruno Haible  <bruno@clisp.org>
1168
1169         wcsnlen: Move AC_LIBOBJ invocations to module description.
1170         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
1171         here...
1172         * modules/wcsnlen (configure.ac): ... to here.
1173
1174 2011-05-22  Bruno Haible  <bruno@clisp.org>
1175
1176         wcsncpy: Move AC_LIBOBJ invocations to module description.
1177         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
1178         here...
1179         * modules/wcsncpy (configure.ac): ... to here.
1180
1181 2011-05-22  Bruno Haible  <bruno@clisp.org>
1182
1183         wcsncmp: Move AC_LIBOBJ invocations to module description.
1184         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
1185         here...
1186         * modules/wcsncmp (configure.ac): ... to here.
1187
1188 2011-05-22  Bruno Haible  <bruno@clisp.org>
1189
1190         wcsncat: Move AC_LIBOBJ invocations to module description.
1191         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
1192         here...
1193         * modules/wcsncat (configure.ac): ... to here.
1194
1195 2011-05-22  Bruno Haible  <bruno@clisp.org>
1196
1197         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
1198         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
1199         from here...
1200         * modules/wcsncasecmp (configure.ac): ... to here.
1201
1202 2011-05-22  Bruno Haible  <bruno@clisp.org>
1203
1204         wcslen: Move AC_LIBOBJ invocations to module description.
1205         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
1206         * modules/wcslen (configure.ac): ... to here.
1207
1208 2011-05-22  Bruno Haible  <bruno@clisp.org>
1209
1210         wcsdup: Move AC_LIBOBJ invocations to module description.
1211         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
1212         * modules/wcsdup (configure.ac): ... to here.
1213
1214 2011-05-22  Bruno Haible  <bruno@clisp.org>
1215
1216         wcscspn: Move AC_LIBOBJ invocations to module description.
1217         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
1218         here...
1219         * modules/wcscspn (configure.ac): ... to here.
1220
1221 2011-05-22  Bruno Haible  <bruno@clisp.org>
1222
1223         wcscpy: Move AC_LIBOBJ invocations to module description.
1224         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
1225         * modules/wcscpy (configure.ac): ... to here.
1226
1227 2011-05-22  Bruno Haible  <bruno@clisp.org>
1228
1229         wcscoll: Move AC_LIBOBJ invocations to module description.
1230         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
1231         here...
1232         * modules/wcscoll (configure.ac): ... to here.
1233
1234 2011-05-22  Bruno Haible  <bruno@clisp.org>
1235
1236         wcscmp: Move AC_LIBOBJ invocations to module description.
1237         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
1238         * modules/wcscmp (configure.ac): ... to here.
1239
1240 2011-05-22  Bruno Haible  <bruno@clisp.org>
1241
1242         wcschr: Move AC_LIBOBJ invocations to module description.
1243         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
1244         * modules/wcschr (configure.ac): ... to here.
1245
1246 2011-05-22  Bruno Haible  <bruno@clisp.org>
1247
1248         wcscat: Move AC_LIBOBJ invocations to module description.
1249         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
1250         * modules/wcscat (configure.ac): ... to here.
1251
1252 2011-05-22  Bruno Haible  <bruno@clisp.org>
1253
1254         wcscasecmp: Move AC_LIBOBJ invocations to module description.
1255         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
1256         here...
1257         * modules/wcscasecmp (configure.ac): ... to here.
1258
1259 2011-05-22  Bruno Haible  <bruno@clisp.org>
1260
1261         wcrtomb: Move AC_LIBOBJ invocations to module description.
1262         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
1263         invocations from here...
1264         * modules/wcrtomb (configure.ac): ... to here.
1265
1266 2011-05-22  Bruno Haible  <bruno@clisp.org>
1267
1268         wcpncpy: Move AC_LIBOBJ invocations to module description.
1269         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
1270         here...
1271         * modules/wcpncpy (configure.ac): ... to here.
1272
1273 2011-05-22  Bruno Haible  <bruno@clisp.org>
1274
1275         wcpcpy: Move AC_LIBOBJ invocations to module description.
1276         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
1277         * modules/wcpcpy (configure.ac): ... to here.
1278
1279 2011-05-22  Bruno Haible  <bruno@clisp.org>
1280
1281         waitpid: Move AC_LIBOBJ invocations to module description.
1282         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
1283         invocation from here...
1284         * modules/waitpid (configure.ac): ... to here.
1285
1286 2011-05-22  Bruno Haible  <bruno@clisp.org>
1287
1288         utimensat: Move AC_LIBOBJ invocations to module description.
1289         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
1290         here...
1291         * modules/utimensat (configure.ac): ... to here.
1292
1293 2011-05-22  Bruno Haible  <bruno@clisp.org>
1294
1295         usleep: Move AC_LIBOBJ invocations to module description.
1296         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
1297         here...
1298         * modules/usleep (configure.ac): ... to here.
1299
1300 2011-05-22  Bruno Haible  <bruno@clisp.org>
1301
1302         unlockpt: Move AC_LIBOBJ invocations to module description.
1303         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
1304         gl_PREREQ_UNLOCKPT invocations from here...
1305         * modules/unlockpt (configure.ac): ... to here.
1306
1307 2011-05-22  Bruno Haible  <bruno@clisp.org>
1308
1309         unlink: Respect rules for use of AC_LIBOBJ.
1310         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
1311         * modules/unlink (configure.ac): ... to here.
1312
1313 2011-05-22  Bruno Haible  <bruno@clisp.org>
1314
1315         uname: Move AC_LIBOBJ invocations to module description.
1316         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
1317         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
1318         here...
1319         * modules/uname (configure.ac): ... to here.
1320
1321 2011-05-22  Bruno Haible  <bruno@clisp.org>
1322
1323         ttyname_r: Move AC_LIBOBJ invocations to module description.
1324         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
1325         gl_PREREQ_TTYNAME_R invocations from here...
1326         * modules/ttyname_r (configure.ac): ... to here.
1327
1328 2011-05-22  Bruno Haible  <bruno@clisp.org>
1329
1330         tsearch: Move AC_LIBOBJ invocations to module description.
1331         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
1332         invocations from here...
1333         * modules/tsearch (configure.ac): ... to here.
1334
1335 2011-05-22  Bruno Haible  <bruno@clisp.org>
1336
1337         towctrans: Move AC_LIBOBJ invocations to module description.
1338         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
1339         AC_LIBOBJ invocation from here...
1340         * modules/towctrans (configure.ac): ... to here.
1341
1342 2011-05-22  Bruno Haible  <bruno@clisp.org>
1343
1344         tmpfile: Move AC_LIBOBJ invocations to module description.
1345         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
1346         invocations from here...
1347         * modules/tmpfile (configure.ac): ... to here.
1348
1349 2011-05-22  Bruno Haible  <bruno@clisp.org>
1350
1351         times: Move AC_LIBOBJ invocations to module description.
1352         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
1353         * modules/times (configure.ac): ... to here.
1354
1355 2011-05-22  Bruno Haible  <bruno@clisp.org>
1356
1357         time_r: Move AC_LIBOBJ invocations to module description.
1358         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
1359         invocations from here...
1360         * modules/time_r (configure.ac): ... to here.
1361
1362 2011-05-22  Bruno Haible  <bruno@clisp.org>
1363
1364         timegm: Move AC_LIBOBJ invocations to module description.
1365         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
1366         invocations from here...
1367         * modules/timegm (configure.ac): ... to here.
1368
1369 2011-05-22  Bruno Haible  <bruno@clisp.org>
1370
1371         tcgetsid: Move AC_LIBOBJ invocations to module description.
1372         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
1373         and gl_PREREQ_TCGETSID invocations from here...
1374         * modules/tcgetsid (configure.ac): ... to here.
1375         (Depends-on): Update conditions.
1376
1377 2011-05-22  Bruno Haible  <bruno@clisp.org>
1378
1379         symlinkat: Move AC_LIBOBJ invocations to module description.
1380         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
1381         here...
1382         * modules/symlinkat (configure.ac): ... to here.
1383
1384 2011-05-22  Bruno Haible  <bruno@clisp.org>
1385
1386         symlink: Move AC_LIBOBJ invocations to module description.
1387         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
1388         here...
1389         * modules/symlink (configure.ac): ... to here.
1390
1391 2011-05-22  Bruno Haible  <bruno@clisp.org>
1392
1393         strverscmp: Move AC_LIBOBJ invocations to module description.
1394         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
1395         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
1396         from here...
1397         * modules/strverscmp (configure.ac): ... to here.
1398
1399 2011-05-22  Bruno Haible  <bruno@clisp.org>
1400
1401         strtok_r: Move AC_LIBOBJ invocations to module description.
1402         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
1403         and gl_PREREQ_STRTOK_R invocations from here...
1404         * modules/strtok_r (configure.ac): ... to here.
1405         (Depends-on): Update conditions.
1406
1407 2011-05-22  Bruno Haible  <bruno@clisp.org>
1408
1409         strtoumax: Move AC_LIBOBJ invocations to module description.
1410         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
1411         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
1412         from here...
1413         * modules/strtoumax (configure.ac): ... to here.
1414
1415 2011-05-22  Bruno Haible  <bruno@clisp.org>
1416
1417         strtoimax: Move AC_LIBOBJ invocations to module description.
1418         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
1419         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
1420         from here...
1421         * modules/strtoimax (configure.ac): ... to here.
1422
1423 2011-05-22  Bruno Haible  <bruno@clisp.org>
1424
1425         strtoull: Move AC_LIBOBJ invocations to module description.
1426         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
1427         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
1428         from here...
1429         * modules/strtoull (configure.ac): ... to here.
1430
1431 2011-05-22  Bruno Haible  <bruno@clisp.org>
1432
1433         strtoll: Move AC_LIBOBJ invocations to module description.
1434         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
1435         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
1436         here...
1437         * modules/strtoll (configure.ac): ... to here.
1438
1439 2011-05-22  Bruno Haible  <bruno@clisp.org>
1440
1441         strtoul: Move AC_LIBOBJ invocations to module description.
1442         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
1443         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
1444         * modules/strtoul (configure.ac): ... to here.
1445
1446 2011-05-22  Bruno Haible  <bruno@clisp.org>
1447
1448         strtol: Move AC_LIBOBJ invocations to module description.
1449         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
1450         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
1451         * modules/strtol (configure.ac): ... to here.
1452
1453 2011-05-22  Bruno Haible  <bruno@clisp.org>
1454
1455         strtod: Move AC_LIBOBJ invocations to module description.
1456         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
1457         invocations from here...
1458         * modules/strtod (configure.ac): ... to here.
1459
1460 2011-05-22  Bruno Haible  <bruno@clisp.org>
1461
1462         strstr*: Move AC_LIBOBJ invocations to module description.
1463         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
1464         invocations from here...
1465         * modules/strstr-simple (configure.ac): ... to here.
1466         * modules/strstr (configure.ac): ... and here.
1467
1468 2011-05-22  Bruno Haible  <bruno@clisp.org>
1469
1470         strsignal: Move AC_LIBOBJ invocations to module description.
1471         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
1472         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
1473         * modules/strsignal (configure.ac): ... to here.
1474         (Depends-on): Update conditions.
1475
1476 2011-05-22  Bruno Haible  <bruno@clisp.org>
1477
1478         strsep: Move AC_LIBOBJ invocations to module description.
1479         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
1480         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
1481         here...
1482         * modules/strsep (configure.ac): ... to here.
1483
1484 2011-05-22  Bruno Haible  <bruno@clisp.org>
1485
1486         strptime: Move AC_LIBOBJ invocations to module description.
1487         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
1488         gl_PREREQ_STRPTIME invocations from here...
1489         * modules/strptime (configure.ac): ... to here.
1490
1491 2011-05-22  Bruno Haible  <bruno@clisp.org>
1492
1493         strpbrk: Move AC_LIBOBJ invocations to module description.
1494         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
1495         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
1496         here...
1497         * modules/strpbrk (configure.ac): ... to here.
1498
1499 2011-05-22  Bruno Haible  <bruno@clisp.org>
1500
1501         strnlen: Move AC_LIBOBJ invocations to module description.
1502         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
1503         invocations from here...
1504         * modules/strnlen (configure.ac): ... to here.
1505
1506 2011-05-22  Bruno Haible  <bruno@clisp.org>
1507
1508         strndup: Move AC_LIBOBJ invocations to module description.
1509         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
1510         invocations from here...
1511         * modules/strndup (configure.ac): ... to here.
1512         (Depends-on): Update conditions.
1513
1514 2011-05-22  Bruno Haible  <bruno@clisp.org>
1515
1516         strncat: Move AC_LIBOBJ invocations to module description.
1517         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
1518         invocations from here...
1519         * modules/strncat (configure.ac): ... to here.
1520
1521 2011-05-22  Bruno Haible  <bruno@clisp.org>
1522
1523         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
1524         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
1525         invocations from here...
1526         * modules/strdup (configure.ac): ... to here.
1527         * modules/strdup-posix (configure.ac): ... and here.
1528
1529 2011-05-22  Bruno Haible  <bruno@clisp.org>
1530
1531         strcspn: Move AC_LIBOBJ invocations to module description.
1532         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
1533         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
1534         here...
1535         * modules/strcspn (configure.ac): ... to here.
1536
1537 2011-05-22  Bruno Haible  <bruno@clisp.org>
1538
1539         strchrnul: Move AC_LIBOBJ invocations to module description.
1540         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
1541         gl_PREREQ_STRCHRNUL invocations from here...
1542         * modules/strchrnul (configure.ac): ... to here.
1543
1544 2011-05-22  Bruno Haible  <bruno@clisp.org>
1545
1546         strcasestr*: Move AC_LIBOBJ invocations to module description.
1547         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
1548         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
1549         * modules/strcasestr-simple (configure.ac): ... to here.
1550         * modules/strcasestr (configure.ac): ... and here.
1551
1552 2011-05-22  Bruno Haible  <bruno@clisp.org>
1553
1554         strcase: Move AC_LIBOBJ invocations to module description.
1555         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
1556         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
1557         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
1558         gl_PREREQ_STRNCASECMP invocations from here...
1559         * modules/strcase (configure.ac): ... to here.
1560
1561 2011-05-22  Bruno Haible  <bruno@clisp.org>
1562
1563         stpncpy: Move AC_LIBOBJ invocations to module description.
1564         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
1565         here...
1566         * modules/stpncpy (configure.ac): ... to here.
1567
1568 2011-05-22  Bruno Haible  <bruno@clisp.org>
1569
1570         stpcpy: Move AC_LIBOBJ invocations to module description.
1571         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
1572         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
1573         here...
1574         * modules/stpcpy (configure.ac): ... to here.
1575
1576 2011-05-21  Bruno Haible  <bruno@clisp.org>
1577
1578         stat: Move AC_LIBOBJ invocations to module description.
1579         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
1580         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
1581         here...
1582         * modules/stat (configure.ac): ... to here.
1583
1584 2011-05-21  Bruno Haible  <bruno@clisp.org>
1585
1586         sleep: Move AC_LIBOBJ invocations to module description.
1587         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
1588         * modules/sleep (configure.ac): ... to here.
1589
1590 2011-05-21  Bruno Haible  <bruno@clisp.org>
1591
1592         signbit: Move AC_LIBOBJ invocations to module description.
1593         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
1594         * modules/signbit (configure.ac): ... to here.
1595
1596 2011-05-21  Bruno Haible  <bruno@clisp.org>
1597
1598         sigprocmask: Move AC_LIBOBJ invocations to module description.
1599         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
1600         gl_PREREQ_SIGPROMASK invocations from here...
1601         * modules/sigprocmask (configure.ac): ... to here.
1602
1603 2011-05-21  Bruno Haible  <bruno@clisp.org>
1604
1605         sigaction: Move AC_LIBOBJ invocations to module description.
1606         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
1607         gl_PREREQ_SIGACTION invocations from here...
1608         * modules/sigaction (configure.ac): ... to here.
1609
1610 2011-05-21  Bruno Haible  <bruno@clisp.org>
1611
1612         sig2str: Move AC_LIBOBJ invocations to module description.
1613         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
1614         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
1615         here...
1616         * modules/sig2str (configure.ac): ... to here.
1617
1618 2011-05-21  Bruno Haible  <bruno@clisp.org>
1619
1620         setlocale: Move AC_LIBOBJ invocations to module description.
1621         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
1622         gl_PREREQ_SETLOCALE invocations from here...
1623         * modules/setlocale (configure.ac): ... to here.
1624
1625 2011-05-21  Bruno Haible  <bruno@clisp.org>
1626
1627         unsetenv: Move AC_LIBOBJ invocations to module description.
1628         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
1629         and gl_PREREQ_UNSETENV invocations from here...
1630         * modules/unsetenv (configure.ac): ... to here.
1631         (Depends-on): Update.
1632
1633 2011-05-21  Bruno Haible  <bruno@clisp.org>
1634
1635         setenv: Move AC_LIBOBJ invocations to module description.
1636         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
1637         here...
1638         * modules/setenv (configure.ac): ... to here.
1639
1640 2011-05-21  Bruno Haible  <bruno@clisp.org>
1641
1642         selinux-h: Move AC_LIBOBJ invocations to module description.
1643         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
1644         AC_LIBOBJ invocation from here...
1645         * modules/selinux-h (configure.ac): ... to here.
1646
1647 2011-05-21  Bruno Haible  <bruno@clisp.org>
1648
1649         select: Respect rules for use of AC_LIBOBJ.
1650         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
1651         here...
1652         * modules/select (configure.ac): ... to here.
1653
1654 2011-05-21  Bruno Haible  <bruno@clisp.org>
1655
1656         scandir: Move AC_LIBOBJ invocations to module description.
1657         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
1658         invocations from here...
1659         * modules/scandir (configure.ac): ... to here.
1660
1661 2011-05-21  Bruno Haible  <bruno@clisp.org>
1662
1663         rpmatch: Move AC_LIBOBJ invocations to module description.
1664         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
1665         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
1666         here...
1667         * modules/rpmatch (configure.ac): ... to here.
1668
1669 2011-05-21  Bruno Haible  <bruno@clisp.org>
1670
1671         rmdir: Respect rules for use of AC_LIBOBJ.
1672         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
1673         * modules/rmdir (configure.ac): ... to here.
1674
1675 2011-05-21  Bruno Haible  <bruno@clisp.org>
1676
1677         renameat: Move AC_LIBOBJ invocations to module description.
1678         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
1679         here...
1680         * modules/renameat (configure.ac): ... to here.
1681
1682 2011-05-21  Bruno Haible  <bruno@clisp.org>
1683
1684         rename: Respect rules for use of AC_LIBOBJ.
1685         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
1686         here...
1687         * modules/rename (configure.ac): ... to here.
1688
1689 2011-05-21  Bruno Haible  <bruno@clisp.org>
1690
1691         remove: Move AC_LIBOBJ invocations to module description.
1692         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
1693         here...
1694         * modules/remove (configure.ac): ... to here.
1695
1696 2011-05-21  Bruno Haible  <bruno@clisp.org>
1697
1698         relocatable-lib: Move AC_LIBOBJ invocations to module description.
1699         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
1700         macro.
1701         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
1702         * modules/relocatable-lib (configure.ac): ... to here.
1703         * modules/relocatable-prog-wrapper (configure.ac): Invoke
1704         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
1705
1706 2011-05-21  Bruno Haible  <bruno@clisp.org>
1707
1708         relocatable-prog: Move AC_LIBOBJ invocations to module description.
1709         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
1710         here...
1711         * modules/relocatable-prog (configure.ac): ... to here.
1712
1713 2011-05-21  Bruno Haible  <bruno@clisp.org>
1714
1715         regex: Move AC_LIBOBJ invocations to module description.
1716         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
1717         invocations from here...
1718         * modules/regex (configure.ac): ... to here.
1719
1720 2011-05-21  Bruno Haible  <bruno@clisp.org>
1721
1722         realloc-*: Move AC_LIBOBJ invocations to module description.
1723         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
1724         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
1725         AC_LIBOBJ invocations from here...
1726         * modules/realloc-gnu (configure.ac): ... to here.
1727         * modules/realloc-posix (configure.ac): ... and here.
1728
1729 2011-05-21  Bruno Haible  <bruno@clisp.org>
1730
1731         readutmp: Move AC_LIBOBJ invocations to module description.
1732         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
1733         * modules/readutmp (configure.ac): ... to here.
1734
1735 2011-05-21  Bruno Haible  <bruno@clisp.org>
1736
1737         readlinkat: Move AC_LIBOBJ invocations to module description.
1738         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
1739         here...
1740         * modules/readlinkat (configure.ac): ... to here.
1741
1742 2011-05-21  Bruno Haible  <bruno@clisp.org>
1743
1744         readlink: Move AC_LIBOBJ invocations to module description.
1745         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
1746         gl_PREREQ_READLINK invocations from here...
1747         * modules/readlink (configure.ac): ... to here.
1748
1749 2011-05-21  Bruno Haible  <bruno@clisp.org>
1750
1751         readline: Move AC_LIBOBJ invocations to module description.
1752         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
1753         gl_PREREQ_READLINE invocations from here...
1754         * modules/readline (configure.ac): ... to here.
1755
1756 2011-05-21  Bruno Haible  <bruno@clisp.org>
1757
1758         read: Move AC_LIBOBJ invocations to module description.
1759         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
1760         * modules/read (configure.ac): ... to here.
1761
1762 2011-05-21  Bruno Haible  <bruno@clisp.org>
1763
1764         rawmemchr: Move AC_LIBOBJ invocations to module description.
1765         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
1766         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
1767         from here...
1768         * modules/rawmemchr (configure.ac): ... to here.
1769
1770 2011-05-21  Bruno Haible  <bruno@clisp.org>
1771
1772         random_r: Move AC_LIBOBJ invocations to module description.
1773         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
1774         gl_PREREQ_RANDOM_R invocations from here...
1775         * modules/random_r (configure.ac): ... to here.
1776
1777 2011-05-21  Bruno Haible  <bruno@clisp.org>
1778
1779         pwrite: Move AC_LIBOBJ invocations to module description.
1780         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
1781         * modules/pwrite (configure.ac): ... to here.
1782
1783 2011-05-21  Bruno Haible  <bruno@clisp.org>
1784
1785         putenv: Move AC_LIBOBJ invocations to module description.
1786         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
1787         * modules/putenv (configure.ac): ... to here.
1788
1789 2011-05-21  Bruno Haible  <bruno@clisp.org>
1790
1791         login_tty: Move AC_LIBOBJ invocations to module description.
1792         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
1793         * modules/login_tty (configure.ac): ... to here.
1794
1795 2011-05-21  Bruno Haible  <bruno@clisp.org>
1796
1797         openpty: Move AC_LIBOBJ invocations to module description.
1798         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
1799         * modules/openpty (configure.ac): ... to here.
1800
1801 2011-05-21  Bruno Haible  <bruno@clisp.org>
1802
1803         forkpty: Move AC_LIBOBJ invocations to module description.
1804         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
1805         * modules/forkpty (configure.ac): ... to here.
1806
1807 2011-05-21  Bruno Haible  <bruno@clisp.org>
1808
1809         ptsname: Move AC_LIBOBJ invocations to module description.
1810         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
1811         invocations from here...
1812         * modules/ptsname (configure.ac): ... to here.
1813
1814 2011-05-21  Bruno Haible  <bruno@clisp.org>
1815
1816         pread: Move AC_LIBOBJ invocations to module description.
1817         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
1818         * modules/pread (configure.ac): ... to here.
1819
1820 2011-05-21  Bruno Haible  <bruno@clisp.org>
1821
1822         posix_spawn*: Move AC_LIBOBJ invocations to module description.
1823         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
1824         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
1825         * modules/posix_spawn (configure.ac): ... to here.
1826         * modules/posix_spawnp (configure.ac): ... and here.
1827
1828 2011-05-21  Bruno Haible  <bruno@clisp.org>
1829
1830         popen: Move AC_LIBOBJ invocations to module description.
1831         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
1832         invocations from here...
1833         * modules/popen (configure.ac): ... to here.
1834
1835 2011-05-21  Bruno Haible  <bruno@clisp.org>
1836
1837         poll: Move AC_LIBOBJ invocations to module description.
1838         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
1839         invocations from here...
1840         * modules/poll (configure.ac): ... to here.
1841
1842 2011-05-21  Bruno Haible  <bruno@clisp.org>
1843
1844         pipe-posix: Move AC_LIBOBJ invocations to module description.
1845         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
1846         * modules/pipe-posix (configure.ac): ... to here.
1847
1848 2011-05-21  Bruno Haible  <bruno@clisp.org>
1849
1850         openat: Respect rules for use of AC_LIBOBJ.
1851         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
1852         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
1853         * modules/openat (configure.ac): ... to here.
1854
1855 2011-05-21  Bruno Haible  <bruno@clisp.org>
1856
1857         obstack-printf*: Move AC_LIBOBJ invocations to module description.
1858         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
1859         invocation from here...
1860         * modules/obstack-printf (configure.ac): ... to here.
1861         * modules/obstack-printf-posix (configure.ac): ... and here.
1862
1863 2011-05-21  Bruno Haible  <bruno@clisp.org>
1864
1865         nl_langinfo: Move AC_LIBOBJ invocations to module description.
1866         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
1867         from here...
1868         * modules/nl_langinfo (configure.ac): ... to here.
1869
1870 2011-05-21  Bruno Haible  <bruno@clisp.org>
1871
1872         nanosleep: Move AC_LIBOBJ invocations to module description.
1873         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
1874         gl_PREREQ_NANOSLEEP invocations from here...
1875         * modules/nanosleep (configure.ac): ... to here.
1876
1877 2011-05-21  Bruno Haible  <bruno@clisp.org>
1878
1879         mountlist: Move AC_LIBOBJ invocations to module description.
1880         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
1881         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
1882         * modules/mountlist (configure.ac): ... to here.
1883
1884 2011-05-21  Bruno Haible  <bruno@clisp.org>
1885
1886         mktime: Respect rules for use of AC_LIBOBJ.
1887         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
1888         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
1889         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
1890         (gl_FUNC_MKTIME_INTERNAL): ... and here...
1891         * modules/mktime (configure.ac): ... to here.
1892         * modules/mktime-internal (configure.ac): ... and here.
1893         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
1894
1895 2011-05-21  Bruno Haible  <bruno@clisp.org>
1896
1897         mkstemps: Move AC_LIBOBJ invocations to module description.
1898         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
1899         here...
1900         * modules/mkstemps (configure.ac): ... to here.
1901
1902 2011-05-21  Bruno Haible  <bruno@clisp.org>
1903
1904         mkstemp: Move AC_LIBOBJ invocations to module description.
1905         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
1906         gl_PREREQ_MKSTEMP invocations from here...
1907         * modules/mkstemp (configure.ac): ... to here.
1908
1909 2011-05-21  Bruno Haible  <bruno@clisp.org>
1910
1911         mkostemps: Move AC_LIBOBJ invocations to module description.
1912         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
1913         here...
1914         * modules/mkostemps (configure.ac): ... to here.
1915
1916 2011-05-21  Bruno Haible  <bruno@clisp.org>
1917
1918         mkostemp: Move AC_LIBOBJ invocations to module description.
1919         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
1920         gl_PREREQ_MKOSTEMP invocations from here...
1921         * modules/mkostemp (configure.ac): ... to here.
1922
1923 2011-05-21  Bruno Haible  <bruno@clisp.org>
1924
1925         mknod: Move AC_LIBOBJ invocations to module description.
1926         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
1927         * modules/mknod (configure.ac): ... to here.
1928
1929 2011-05-21  Bruno Haible  <bruno@clisp.org>
1930
1931         mkfifoat: Move AC_LIBOBJ invocations to module description.
1932         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
1933         here...
1934         * modules/mkfifoat (configure.ac): ... to here.
1935
1936 2011-05-21  Bruno Haible  <bruno@clisp.org>
1937
1938         mkfifo: Respect rules for use of AC_LIBOBJ.
1939         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
1940         here...
1941         * modules/mkfifo (configure.ac): ... to here.
1942
1943 2011-05-21  Bruno Haible  <bruno@clisp.org>
1944
1945         mkdtemp: Move AC_LIBOBJ invocations to module description.
1946         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
1947         invocations from here...
1948         * modules/mkdtemp (configure.ac): ... to here.
1949
1950 2011-05-21  Bruno Haible  <bruno@clisp.org>
1951
1952         mkdir: Move AC_LIBOBJ invocations to module description.
1953         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
1954         * modules/mkdir (configure.ac): ... to here.
1955
1956 2011-05-21  Bruno Haible  <bruno@clisp.org>
1957
1958         memset: Move AC_LIBOBJ invocations to module description.
1959         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
1960         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
1961         here...
1962         * modules/memset (configure.ac): ... to here.
1963
1964 2011-05-21  Bruno Haible  <bruno@clisp.org>
1965
1966         memrchr: Move AC_LIBOBJ invocations to module description.
1967         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
1968         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
1969         here...
1970         * modules/memrchr (configure.ac): ... to here.
1971
1972 2011-05-21  Bruno Haible  <bruno@clisp.org>
1973
1974         mempcpy: Move AC_LIBOBJ invocations to module description.
1975         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
1976         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
1977         here...
1978         * modules/mempcpy (configure.ac): ... to here.
1979
1980 2011-05-21  Bruno Haible  <bruno@clisp.org>
1981
1982         memmove: Move AC_LIBOBJ invocations to module description.
1983         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
1984         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
1985         here...
1986         * modules/memmove (configure.ac): ... to here.
1987
1988 2011-05-21  Bruno Haible  <bruno@clisp.org>
1989
1990         memmem*: Move AC_LIBOBJ invocations to module description.
1991         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
1992         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
1993         here...
1994         (gl_FUNC_MEMMEM): ... and here...
1995         * modules/memmem-simple (configure.ac): ... to here.
1996         * modules/memmem (configure.ac): ... and here.
1997
1998 2011-05-21  Bruno Haible  <bruno@clisp.org>
1999
2000         memcpy: Move AC_LIBOBJ invocations to module description.
2001         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
2002         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
2003         here...
2004         * modules/memcpy (configure.ac): ... to here.
2005
2006 2011-05-21  Bruno Haible  <bruno@clisp.org>
2007
2008         memcmp: Simplify autoconf macro.
2009         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
2010         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
2011         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
2012
2013 2011-05-21  Bruno Haible  <bruno@clisp.org>
2014
2015         memcmp: Move AC_LIBOBJ invocations to module description.
2016         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
2017         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
2018         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
2019         * modules/memcmp (configure.ac): ... to here.
2020         (Depends-on): Update conditions.
2021
2022 2011-05-21  Bruno Haible  <bruno@clisp.org>
2023
2024         memchr: Respect rules for use of AC_LIBOBJ.
2025         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
2026         invocations from here...
2027         * modules/memchr (configure.ac): ... to here.
2028
2029 2011-05-21  Bruno Haible  <bruno@clisp.org>
2030
2031         mbtowc: Move AC_LIBOBJ invocations to module description.
2032         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
2033         invocations from here...
2034         * modules/mbtowc (configure.ac): ... to here.
2035
2036 2011-05-21  Bruno Haible  <bruno@clisp.org>
2037
2038         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
2039         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
2040         gl_PREREQ_MBSRTOWCS invocations from here...
2041         * modules/mbsrtowcs (configure.ac): ... to here.
2042
2043 2011-05-21  Bruno Haible  <bruno@clisp.org>
2044
2045         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
2046         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
2047         gl_PREREQ_MBSNRTOWCS invocations from here...
2048         * modules/mbsnrtowcs (configure.ac): ... to here.
2049
2050 2011-05-21  Bruno Haible  <bruno@clisp.org>
2051
2052         mbsinit: Move AC_LIBOBJ invocations to module description.
2053         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
2054         invocations from here...
2055         * modules/mbsinit (configure.ac): ... to here.
2056
2057 2011-05-21  Bruno Haible  <bruno@clisp.org>
2058
2059         mbrlen: Move AC_LIBOBJ invocations to module description.
2060         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
2061         invocations from here...
2062         * modules/mbrlen (configure.ac): ... to here.
2063
2064 2011-05-21  Bruno Haible  <bruno@clisp.org>
2065
2066         mbrtowc: Respect rules for use of AC_LIBOBJ.
2067         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
2068         invocations from here...
2069         * modules/mbrtowc (configure.ac): ... to here.
2070
2071 2011-05-21  Bruno Haible  <bruno@clisp.org>
2072
2073         malloc-*: Move AC_LIBOBJ invocations to module description.
2074         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
2075         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
2076         AC_LIBOBJ invocations from here...
2077         * modules/malloc-gnu (configure.ac): ... to here.
2078         * modules/malloc-posix (configure.ac): ... and here.
2079
2080 2011-05-21  Bruno Haible  <bruno@clisp.org>
2081
2082         lstat, openat: Respect rules for use of AC_LIBOBJ.
2083         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
2084         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
2085         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
2086         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
2087         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
2088         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
2089         here.
2090         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
2091
2092 2011-05-21  Bruno Haible  <bruno@clisp.org>
2093
2094         lseek: Move AC_LIBOBJ invocations to module description.
2095         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
2096         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
2097         * modules/lseek (configure.ac): ... to here.
2098
2099 2011-05-21  Bruno Haible  <bruno@clisp.org>
2100
2101         linkat: Move AC_LIBOBJ invocations to module description.
2102         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
2103         here...
2104         * modules/linkat (configure.ac): ... to here.
2105
2106 2011-05-21  Bruno Haible  <bruno@clisp.org>
2107
2108         link: Respect rules for use of AC_LIBOBJ.
2109         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
2110         * modules/link (configure.ac): ... to here.
2111
2112 2011-05-21  Bruno Haible  <bruno@clisp.org>
2113
2114         lchown: Move AC_LIBOBJ invocations to module description.
2115         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
2116         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
2117         * modules/lchown (configure.ac): ... to here.
2118
2119 2011-05-21  Bruno Haible  <bruno@clisp.org>
2120
2121         iswctype: Move AC_LIBOBJ invocations to module description.
2122         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
2123         here...
2124         * modules/iswctype (configure.ac): ... to here.
2125
2126 2011-05-21  Bruno Haible  <bruno@clisp.org>
2127
2128         iswblank: Move AC_LIBOBJ invocations to module description.
2129         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
2130         here...
2131         * modules/iswblank (configure.ac): ... to here.
2132
2133 2011-05-21  Bruno Haible  <bruno@clisp.org>
2134
2135         atanl: Move AC_LIBOBJ invocations to module description.
2136         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
2137         * modules/atanl (configure.ac): ... to here.
2138
2139 2011-05-21  Bruno Haible  <bruno@clisp.org>
2140
2141         acosl: Move AC_LIBOBJ invocations to module description.
2142         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
2143         * modules/acosl (configure.ac): ... to here.
2144
2145 2011-05-21  Bruno Haible  <bruno@clisp.org>
2146
2147         asinl: Respect rules for use of AC_LIBOBJ.
2148         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
2149         * modules/asinl (configure.ac): ... to here.
2150
2151 2011-05-21  Bruno Haible  <bruno@clisp.org>
2152
2153         tanl: Move AC_LIBOBJ invocations to module description.
2154         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
2155         * modules/tanl (configure.ac): ... to here.
2156
2157 2011-05-21  Bruno Haible  <bruno@clisp.org>
2158
2159         cosl: Move AC_LIBOBJ invocations to module description.
2160         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
2161         * modules/cosl (configure.ac): ... to here.
2162
2163 2011-05-21  Bruno Haible  <bruno@clisp.org>
2164
2165         sinl: Move AC_LIBOBJ invocations to module description.
2166         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
2167         * modules/sinl (configure.ac): ... to here.
2168
2169 2011-05-21  Bruno Haible  <bruno@clisp.org>
2170
2171         logl: Move AC_LIBOBJ invocations to module description.
2172         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
2173         * modules/logl (configure.ac): ... to here.
2174
2175 2011-05-21  Bruno Haible  <bruno@clisp.org>
2176
2177         expl: Move AC_LIBOBJ invocations to module description.
2178         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
2179         * modules/expl (configure.ac): ... to here.
2180
2181 2011-05-21  Bruno Haible  <bruno@clisp.org>
2182
2183         roundl: Move AC_LIBOBJ invocations to module description.
2184         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
2185         * modules/roundl (configure.ac): ... to here.
2186
2187 2011-05-21  Bruno Haible  <bruno@clisp.org>
2188
2189         round: Move AC_LIBOBJ invocations to module description.
2190         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
2191         * modules/round (configure.ac): ... to here.
2192
2193 2011-05-21  Bruno Haible  <bruno@clisp.org>
2194
2195         roundf: Move AC_LIBOBJ invocations to module description.
2196         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
2197         * modules/roundf (configure.ac): ... to here.
2198
2199 2011-05-21  Bruno Haible  <bruno@clisp.org>
2200
2201         truncl: Move AC_LIBOBJ invocations to module description.
2202         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
2203         * modules/truncl (configure.ac): ... to here.
2204
2205 2011-05-21  Bruno Haible  <bruno@clisp.org>
2206
2207         trunc: Move AC_LIBOBJ invocations to module description.
2208         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
2209         * modules/trunc (configure.ac): ... to here.
2210
2211 2011-05-21  Bruno Haible  <bruno@clisp.org>
2212
2213         truncf: Move AC_LIBOBJ invocations to module description.
2214         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
2215         * modules/truncf (configure.ac): ... to here.
2216
2217 2011-05-21  Bruno Haible  <bruno@clisp.org>
2218
2219         ceill: Move AC_LIBOBJ invocations to module description.
2220         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
2221         * modules/ceill (configure.ac): ... to here.
2222
2223 2011-05-21  Bruno Haible  <bruno@clisp.org>
2224
2225         ceil: Move AC_LIBOBJ invocations to module description.
2226         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
2227         * modules/ceil (configure.ac): ... to here.
2228
2229 2011-05-21  Bruno Haible  <bruno@clisp.org>
2230
2231         ceilf: Move AC_LIBOBJ invocations to module description.
2232         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
2233         * modules/ceilf (configure.ac): ... to here.
2234
2235 2011-05-21  Bruno Haible  <bruno@clisp.org>
2236
2237         floorl: Respect rules for use of AC_LIBOBJ.
2238         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
2239         * modules/floorl (configure.ac): ... to here.
2240
2241 2011-05-21  Bruno Haible  <bruno@clisp.org>
2242
2243         floor: Respect rules for use of AC_LIBOBJ.
2244         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
2245         * modules/floor (configure.ac): ... to here.
2246
2247 2011-05-21  Bruno Haible  <bruno@clisp.org>
2248
2249         floorf: Move AC_LIBOBJ invocations to module description.
2250         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
2251         * modules/floorf (configure.ac): ... to here.
2252
2253 2011-05-20  Bruno Haible  <bruno@clisp.org>
2254
2255         sqrtl: Respect rules for use of AC_LIBOBJ.
2256         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
2257         * modules/sqrtl (configure.ac): ... to here.
2258
2259 2011-05-20  Bruno Haible  <bruno@clisp.org>
2260
2261         ldexpl: Respect rules for use of AC_LIBOBJ.
2262         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
2263         * modules/ldexpl (configure.ac): ... to here.
2264
2265 2011-05-20  Bruno Haible  <bruno@clisp.org>
2266
2267         frexpl*: Respect rules for use of AC_LIBOBJ.
2268         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
2269         invocation from here...
2270         * modules/frexpl (configure.ac): ... to here.
2271         * modules/frexpl-nolibm (configure.ac): ... and here.
2272
2273 2011-05-20  Bruno Haible  <bruno@clisp.org>
2274
2275         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
2276         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
2277         invocation from here...
2278         * modules/frexp (configure.ac): ... to here.
2279         * modules/frexp-nolibm (configure.ac): ... and here.
2280
2281 2011-05-20  Bruno Haible  <bruno@clisp.org>
2282
2283         isnan: Respect rules for use of AC_LIBOBJ.
2284         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
2285         invocations here.
2286         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
2287         REPLACE_ISNAN.
2288         * modules/isnand (configure.ac): Likewise.
2289         * modules/isnanl (configure.ac): Likewise.
2290
2291 2011-05-20  Bruno Haible  <bruno@clisp.org>
2292
2293         isnanl*: Respect rules for use of AC_LIBOBJ.
2294         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
2295         invocation from here...
2296         * modules/isnanl (configure.ac): ... to here.
2297         * modules/isnanl-nolibm (configure.ac): ... and here.
2298
2299 2011-05-20  Bruno Haible  <bruno@clisp.org>
2300
2301         isnand*: Move AC_LIBOBJ invocations to module description.
2302         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
2303         invocation from here...
2304         * modules/isnand (configure.ac): ... to here.
2305         * modules/isnand-nolibm (configure.ac): ... and here.
2306
2307 2011-05-20  Bruno Haible  <bruno@clisp.org>
2308
2309         isnanf*: Move AC_LIBOBJ invocations to module description.
2310         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
2311         invocation from here...
2312         * modules/isnanf (configure.ac): ... to here.
2313         * modules/isnanf-nolibm (configure.ac): ... and here.
2314
2315 2011-05-20  Bruno Haible  <bruno@clisp.org>
2316
2317         isnan*: Separate the AC_LIBOBJ invocations.
2318         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
2319         AC_LIBOBJ invocation.
2320         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
2321         here.
2322         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
2323         AC_LIBOBJ invocation.
2324         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
2325         here.
2326         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
2327         AC_LIBOBJ invocation.
2328         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
2329         here.
2330         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
2331
2332 2011-05-08  Bruno Haible  <bruno@clisp.org>
2333
2334         isinf: Move AC_LIBOBJ invocations to module description.
2335         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
2336         * modules/isinf (configure.ac): ... to here.
2337
2338 2011-05-08  Bruno Haible  <bruno@clisp.org>
2339
2340         isfinite: Move AC_LIBOBJ invocations to module description.
2341         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
2342         * modules/isfinite (configure.ac): ... to here.
2343
2344 2011-05-08  Bruno Haible  <bruno@clisp.org>
2345
2346         isblank: Move AC_LIBOBJ invocations to module description.
2347         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
2348         here...
2349         * modules/isblank (configure.ac): ... to here.
2350
2351 2011-05-08  Bruno Haible  <bruno@clisp.org>
2352
2353         isapipe: Move AC_LIBOBJ invocations to module description.
2354         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
2355         gl_PREREQ_ISAPIPE invocations from here...
2356         * modules/isapipe (configure.ac): ... to here.
2357         (Depends-on): Update condition.
2358
2359 2011-05-08  Bruno Haible  <bruno@clisp.org>
2360
2361         ioctl: Move AC_LIBOBJ invocations to module description.
2362         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
2363         invocations from here...
2364         * modules/ioctl (configure.ac): ... to here.
2365         (Depends-on): Update condition.
2366
2367 2011-05-08  Bruno Haible  <bruno@clisp.org>
2368
2369         imaxdiv: Move AC_LIBOBJ invocations to module description.
2370         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
2371         invocations from here...
2372         * modules/imaxdiv (configure.ac): ... to here.
2373
2374 2011-05-08  Bruno Haible  <bruno@clisp.org>
2375
2376         imaxabs: Move AC_LIBOBJ invocations to module description.
2377         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
2378         invocations from here...
2379         * modules/imaxabs (configure.ac): ... to here.
2380
2381 2011-05-08  Bruno Haible  <bruno@clisp.org>
2382
2383         getaddrinfo: Move AC_LIBOBJ invocations to module description.
2384         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
2385         AC_LIBOBJ invocations from here...
2386         * modules/getaddrinfo (configure.ac): ... to here.
2387         (Depends-on): Add conditions.
2388
2389 2011-05-08  Bruno Haible  <bruno@clisp.org>
2390
2391         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
2392         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
2393         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
2394         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
2395         (gl_PREREQ_INET_PTON): ... from here.
2396         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
2397         gl_PREREQ_INET_PTON here.
2398         (Depends-on): Update condition.
2399
2400 2011-05-08  Bruno Haible  <bruno@clisp.org>
2401
2402         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
2403         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
2404         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
2405         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
2406         (gl_PREREQ_INET_NTOP): ... from here.
2407         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
2408         gl_PREREQ_INET_NTOP here.
2409         (Depends-on): Update condition.
2410
2411 2011-05-08  Bruno Haible  <bruno@clisp.org>
2412
2413         iconv_open: Move AC_LIBOBJ invocations to module description.
2414         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
2415         AC_LIBOBJ invocations from here...
2416         * modules/iconv_open (configure.ac): ... to here.
2417
2418 2011-05-08  Bruno Haible  <bruno@clisp.org>
2419
2420         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
2421         If module 'iconv_open' is among the main modules and module
2422         'iconv_open-utf' is among the tests dependencies, then
2423         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
2424         return the special iconv_t values. Therefore iconv() and iconv_close()
2425         must support these special iconv_t values, already in lib, not only in
2426         tests.
2427         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
2428         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
2429         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
2430         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
2431         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
2432         (Depends-on): Add the dependencies of iconv_open-utf.
2433         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
2434         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
2435         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
2436
2437 2011-05-08  Bruno Haible  <bruno@clisp.org>
2438
2439         group-member: Move AC_LIBOBJ invocations to module description.
2440         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
2441         gl_PREREQ_GROUP_MEMBER invocations from here...
2442         * modules/group-member (configure.ac): ... to here.
2443
2444 2011-05-08  Bruno Haible  <bruno@clisp.org>
2445
2446         grantpt: Move AC_LIBOBJ invocations to module description.
2447         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
2448         invocations from here...
2449         * modules/grantpt (configure.ac): ... to here.
2450
2451 2011-05-08  Bruno Haible  <bruno@clisp.org>
2452
2453         glob: Move AC_LIBOBJ invocations to module description.
2454         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
2455         from here...
2456         * modules/glob (configure.ac): ... to here.
2457
2458 2011-05-08  Bruno Haible  <bruno@clisp.org>
2459
2460         getusershell: Move AC_LIBOBJ invocations to module description.
2461         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
2462         Move AC_LIBOBJ invocation from here...
2463         * modules/getusershell (configure.ac): ... to here.
2464         (Depends-on): Update condition.
2465
2466 2011-05-08  Bruno Haible  <bruno@clisp.org>
2467
2468         gettimeofday: Move AC_LIBOBJ invocations to module description.
2469         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
2470         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
2471         gl_PREREQ_GETTIMEOFDAY invocations from here...
2472         * modules/gettimeofday (configure.ac): ... to here.
2473
2474 2011-05-08  Bruno Haible  <bruno@clisp.org>
2475
2476         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
2477         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
2478         just gl_FUNC_TZSET.
2479         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
2480         (gl_FUNC_TZSET_CLOBBER): Remove actions.
2481         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
2482         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
2483
2484 2011-05-08  Bruno Haible  <bruno@clisp.org>
2485
2486         getsubopt: Move AC_LIBOBJ invocations to module description.
2487         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
2488         gl_PREREQ_GETSUBOPT invocations from here...
2489         * modules/getsubopt (configure.ac): ... to here.
2490
2491 2011-05-08  Bruno Haible  <bruno@clisp.org>
2492
2493         getpass-gnu: Move AC_LIBOBJ invocations to module description.
2494         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
2495         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
2496         * modules/getpass-gnu (configure.ac): ... to here.
2497
2498 2011-05-08  Bruno Haible  <bruno@clisp.org>
2499
2500         getpass: Move AC_LIBOBJ invocations to module description.
2501         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
2502         gl_PREREQ_GETPASS invocations from here...
2503         * modules/getpass (configure.ac): ... to here.
2504
2505 2011-05-08  Bruno Haible  <bruno@clisp.org>
2506
2507         getpagesize: Move AC_LIBOBJ invocations to module description.
2508         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
2509         from here...
2510         * modules/getpagesize (configure.ac): ... to here.
2511
2512 2011-05-08  Bruno Haible  <bruno@clisp.org>
2513
2514         getopt: Move AC_LIBOBJ invocations to module description.
2515         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
2516         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
2517         invocations from here...
2518         * modules/getopt-gnu (configure.ac): ... to here.
2519         * modules/getopt-posix (configure.ac): ... and here.
2520         (Depends-on): Update condition.
2521
2522 2011-05-08  Bruno Haible  <bruno@clisp.org>
2523
2524         getopt, argp: Respect rules for use of AC_LIBOBJ.
2525         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
2526         (gl_REPLACE_GETOPT_ALWAYS): New macro.
2527         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
2528         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
2529
2530 2011-05-08  Bruno Haible  <bruno@clisp.org>
2531
2532         getlogin_r: Move AC_LIBOBJ invocations to module description.
2533         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
2534         gl_PREREQ_GETLOGIN_R invocations from here...
2535         * modules/getlogin_r (configure.ac): ... to here.
2536
2537 2011-05-08  Bruno Haible  <bruno@clisp.org>
2538
2539         getlogin: Move AC_LIBOBJ invocations to module description.
2540         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
2541         here...
2542         * modules/getlogin (configure.ac): ... to here.
2543
2544 2011-05-08  Bruno Haible  <bruno@clisp.org>
2545
2546         getloadavg: Move AC_LIBOBJ invocations to module description.
2547         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
2548         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
2549         * modules/getloadavg (configure.ac): ... to here.
2550
2551 2011-05-08  Bruno Haible  <bruno@clisp.org>
2552
2553         gethrxtime: Move AC_LIBOBJ invocations to module description.
2554         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
2555         LIB_GETHRXTIME from here...
2556         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
2557         invocations from here...
2558         * modules/gethrxtime (configure.ac): ... to here.
2559
2560 2011-05-08  Bruno Haible  <bruno@clisp.org>
2561
2562         gethostname: Move AC_LIBOBJ invocations to module description.
2563         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
2564         gl_PREREQ_GETHOSTNAME invocations from here...
2565         * modules/gethostname (configure.ac): ... to here.
2566
2567 2011-05-08  Bruno Haible  <bruno@clisp.org>
2568
2569         getgroups: Move AC_LIBOBJ invocations to module description.
2570         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
2571         here...
2572         * modules/getgroups (configure.ac): ... to here.
2573
2574 2011-05-08  Bruno Haible  <bruno@clisp.org>
2575
2576         getdtablesize: Move AC_LIBOBJ invocations to module description.
2577         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
2578         invocation from here...
2579         * modules/getdtablesize (configure.ac): ... to here.
2580
2581 2011-05-08  Bruno Haible  <bruno@clisp.org>
2582
2583         getdomainname: Move AC_LIBOBJ invocations to module description.
2584         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
2585         gl_PREREQ_GETDOMAINNAME invocations from here...
2586         * modules/getdomainname (configure.ac): ... to here.
2587
2588 2011-05-08  Bruno Haible  <bruno@clisp.org>
2589
2590         getline: Move AC_LIBOBJ invocations to module description.
2591         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
2592         invocations from here...
2593         * modules/getline (configure.ac): ... to here.
2594
2595 2011-05-08  Bruno Haible  <bruno@clisp.org>
2596
2597         getline: Simplify.
2598         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
2599         It's already handled through the module dependency.
2600
2601 2011-05-08  Bruno Haible  <bruno@clisp.org>
2602
2603         getdelim: Move AC_LIBOBJ invocations to module description.
2604         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
2605         and gl_PREREQ_GETDELIM invocations from here...
2606         * modules/getdelim (configure.ac): ... to here.
2607         (Depends-on): Fix condition.
2608
2609 2011-05-08  Bruno Haible  <bruno@clisp.org>
2610
2611         getcwd: Move AC_LIBOBJ invocations to module description.
2612         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
2613         invocations from here...
2614         * modules/getcwd (configure.ac): ... to here.
2615
2616 2011-05-08  Bruno Haible  <bruno@clisp.org>
2617
2618         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
2619         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
2620         here...
2621         * modules/getcwd-lgpl (configure.ac): ... to here.
2622
2623 2011-05-07  Bruno Haible  <bruno@clisp.org>
2624
2625         crypto/gc: Move AC_LIBOBJ invocations to module description.
2626         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
2627         * modules/crypto/gc (configure.ac): ... to here.
2628
2629 2011-05-07  Bruno Haible  <bruno@clisp.org>
2630
2631         fwriting: Move AC_LIBOBJ invocations to module description.
2632         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
2633         here...
2634         * modules/fwriting (configure.ac): ... to here.
2635
2636 2011-05-07  Bruno Haible  <bruno@clisp.org>
2637
2638         fwritable: Move AC_LIBOBJ invocations to module description.
2639         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
2640         here...
2641         * modules/fwritable (configure.ac): ... to here.
2642
2643 2011-05-07  Bruno Haible  <bruno@clisp.org>
2644
2645         futimens: Move AC_LIBOBJ invocations to module description.
2646         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
2647         here...
2648         * modules/futimens (configure.ac): ... to here.
2649
2650 2011-05-07  Bruno Haible  <bruno@clisp.org>
2651
2652         ftruncate: Move AC_LIBOBJ invocations to module description.
2653         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
2654         gl_PREREQ_FTRUNCATE invocations from here...
2655         * modules/ftruncate (configure.ac): ... to here.
2656
2657 2011-05-07  Bruno Haible  <bruno@clisp.org>
2658
2659         fsync: Move AC_LIBOBJ invocations to module description.
2660         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
2661         invocations from here...
2662         * modules/fsync (configure.ac): ... to here.
2663
2664 2011-05-07  Bruno Haible  <bruno@clisp.org>
2665
2666         fsusage: Move AC_LIBOBJ invocations to module description.
2667         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
2668         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
2669         * modules/fsusage (configure.ac): ... to here.
2670
2671 2011-05-07  Bruno Haible  <bruno@clisp.org>
2672
2673         freopen: Move AC_LIBOBJ invocations to module description.
2674         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
2675         invocations from here...
2676         * modules/freopen (configure.ac): ... to here.
2677
2678 2011-05-07  Bruno Haible  <bruno@clisp.org>
2679
2680         free: Move AC_LIBOBJ invocations to module description.
2681         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
2682         invocations from here...
2683         * modules/free (configure.ac): ... to here.
2684
2685 2011-05-07  Bruno Haible  <bruno@clisp.org>
2686
2687         freadable: Move AC_LIBOBJ invocations to module description.
2688         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
2689         here...
2690         * modules/freadable (configure.ac): ... to here.
2691
2692 2011-05-07  Bruno Haible  <bruno@clisp.org>
2693
2694         fpurge: Move AC_LIBOBJ invocations to module description.
2695         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
2696         invocations from here...
2697         * modules/fpurge (configure.ac): ... to here.
2698
2699 2011-05-07  Bruno Haible  <bruno@clisp.org>
2700
2701         fpending: Move AC_LIBOBJ invocations to module description.
2702         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
2703         gl_FUNC_FPENDING.
2704         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
2705         invocations from here...
2706         * modules/fpending (configure.ac): ... to here.
2707
2708 2011-05-07  Bruno Haible  <bruno@clisp.org>
2709
2710         fopen: Move AC_LIBOBJ invocations to module description.
2711         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
2712         invocations from here...
2713         * modules/fopen (configure.ac): ... to here.
2714
2715 2011-05-07  Bruno Haible  <bruno@clisp.org>
2716
2717         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
2718         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
2719         gl_FUNC_FNMATCH_POSIX.
2720         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
2721         invocations from here...
2722         * modules/fnmatch (configure.ac): ... to here.
2723         * modules/fnmatch-gnu (configure.ac): ... and here.
2724
2725 2011-05-07  Bruno Haible  <bruno@clisp.org>
2726
2727         flock: Move AC_LIBOBJ invocations to module description.
2728         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
2729         invocations from here...
2730         * modules/flock (configure.ac): ... to here.
2731
2732 2011-05-07  Bruno Haible  <bruno@clisp.org>
2733
2734         fileblocks: Move AC_LIBOBJ invocations to module description.
2735         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
2736         gl_PREREQ_FILEBLOCKS invocations from here...
2737         * modules/fileblocks (configure.ac): ... to here.
2738
2739 2011-05-06  Bruno Haible  <bruno@clisp.org>
2740
2741         fflush: Move AC_LIBOBJ invocations to module description.
2742         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
2743         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
2744         invocations from here...
2745         * modules/fflush (configure.ac): ... to here.
2746
2747 2011-05-06  Bruno Haible  <bruno@clisp.org>
2748
2749         fdopendir: Move AC_LIBOBJ invocations to module description.
2750         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
2751         here...
2752         * modules/fdopendir (configure.ac): ... to here.
2753         (Depends-on): Improve conditions.
2754
2755 2011-05-06  Bruno Haible  <bruno@clisp.org>
2756
2757         _Exit: Move AC_LIBOBJ invocations to module description.
2758         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
2759         invocations from here...
2760         * modules/_Exit (configure.ac): ... to here.
2761
2762 2011-05-21  Bruno Haible  <bruno@clisp.org>
2763
2764         euidaccess: Respect rules for use of AC_LIBOBJ.
2765         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
2766         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
2767         from here...
2768         * modules/euidaccess (configure.ac): ... to here.
2769
2770 2011-05-06  Bruno Haible  <bruno@clisp.org>
2771
2772         error: Move AC_LIBOBJ invocations to module description.
2773         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
2774         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
2775         invocations from here...
2776         * modules/error (configure.ac): ... to here.
2777
2778 2011-05-06  Bruno Haible  <bruno@clisp.org>
2779
2780         duplocale: Move AC_LIBOBJ invocations to module description.
2781         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
2782         gl_PREREQ_DUPLOCALE invocations from here...
2783         * modules/duplocale (configure.ac): ... to here.
2784
2785 2011-05-05  Bruno Haible  <bruno@clisp.org>
2786
2787         dirfd: Move AC_LIBOBJ invocations to module description.
2788         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
2789         gl_FUNC_DIRFD.
2790         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
2791         here...
2792         * modules/dirfd (configure.ac): ... to here.
2793         (Depends-on): Fix condition.
2794
2795 2011-05-05  Bruno Haible  <bruno@clisp.org>
2796
2797         chown: Respect rules for use of AC_LIBOBJ.
2798         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
2799         * modules/chown (configure.ac): ... to here.
2800
2801 2011-05-05  Bruno Haible  <bruno@clisp.org>
2802
2803         chdir-long: Move AC_LIBOBJ invocations to module description.
2804         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
2805         gl_PREREQ_CHDIR_LONG invocations from here...
2806         * modules/chdir-long (configure.ac): ... to here.
2807
2808 2011-05-05  Bruno Haible  <bruno@clisp.org>
2809
2810         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
2811         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
2812         from here...
2813         * modules/canonicalize-lgpl (configure.ac): ... to here.
2814
2815 2011-05-05  Bruno Haible  <bruno@clisp.org>
2816
2817         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
2818         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
2819         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
2820         REPLACE_CALLOC.
2821         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
2822         * modules/calloc-gnu (configure.ac): Likewise.
2823
2824 2011-05-05  Bruno Haible  <bruno@clisp.org>
2825
2826         btowc: Move AC_LIBOBJ invocations to module description.
2827         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
2828         invocations from here...
2829         * modules/btowc (configure.ac): ... to here.
2830
2831 2011-05-21  Bruno Haible  <bruno@clisp.org>
2832
2833         atexit: Move AC_LIBOBJ invocations to module description.
2834         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
2835         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
2836         here...
2837         * modules/atexit (configure.ac): ... to here.
2838
2839 2011-05-05  Bruno Haible  <bruno@clisp.org>
2840
2841         atoll: Move AC_LIBOBJ invocations to module description.
2842         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
2843         invocations from here...
2844         * modules/atoll (configure.ac): ... to here.
2845
2846 2011-05-05  Bruno Haible  <bruno@clisp.org>
2847
2848         argz: Move AC_LIBOBJ invocations to module description.
2849         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
2850         * modules/argz (configure.ac): ... to here.
2851
2852 2011-05-05  Bruno Haible  <bruno@clisp.org>
2853
2854         alphasort: Move AC_LIBOBJ invocations to module description.
2855         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
2856         gl_PREREQ_ALPHASORT invocations from here...
2857         * modules/alphasort (configure.ac): ... to here.
2858
2859 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
2860
2861         verify: new macro verify_expr; verify_true deprecated
2862         * NEWS: Mention this.
2863         * doc/verify.texi (Compile-time Assertions): Document this.
2864         * lib/verify.h (verify_true): Deprecate.
2865         (verify_expr): New macro.
2866         * tests/test-verify.c (function): Test verify_expr.
2867
2868 2011-06-14  Jim Meyering  <meyering@redhat.com>
2869
2870         init.sh: give more portable redirection-related advice in a comment
2871         * tests/init.sh (stderr_fileno_): Update the advice in comments.
2872         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
2873         for lots of discussion.  Stefano Lattarini suggested the solution
2874         of putting "9>&2" after the command.  Reported by Bruno Haible.
2875
2876 2011-06-13  Bruno Haible  <bruno@clisp.org>
2877
2878         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
2879         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
2880         'none'.
2881
2882 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
2883
2884         ftoastr: use strtof only if HAVE_STRTOF
2885         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
2886         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
2887         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
2888         * modules/ftoastr (configure.ac): Check for strtof.
2889
2890 2011-06-13  Bruno Haible  <bruno@clisp.org>
2891
2892         gnulib-tool: Addendum to 2011-06-08 commit.
2893         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
2894         and --witness-c-macro have been given, augment AM_CPPFLAGS.
2895
2896 2011-06-13  Bruno Haible  <bruno@clisp.org>
2897
2898         fseeko: Provide a non-inline replacement of fseek().
2899         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
2900         * modules/fseeko (Depends-on): Add fseek.
2901         * modules/fseek (License): Change to LGPLv2+.
2902
2903 2011-06-13  Bruno Haible  <bruno@clisp.org>
2904
2905         ftello: Provide a non-inline replacement of ftell().
2906         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
2907         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
2908         not have ftello() (such as on mingw).
2909         * modules/ftello (Depends-on): Add ftell.
2910         * modules/ftell (License): Change to LGPLv2+.
2911
2912 2011-05-07  Bruno Haible  <bruno@clisp.org>
2913
2914         ftell: Move AC_LIBOBJ invocations to module description.
2915         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
2916         * modules/ftell (configure.ac): ... to here.
2917
2918 2011-05-07  Bruno Haible  <bruno@clisp.org>
2919
2920         ftello: Respect rules for use of AC_LIBOBJ.
2921         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
2922         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
2923         here...
2924         * modules/ftello (configure.ac): ... to here.
2925
2926 2011-05-07  Bruno Haible  <bruno@clisp.org>
2927
2928         fseeko: Simplify.
2929         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
2930         (gl_FUNC_FSEEKO): Inline it here.
2931
2932 2011-05-07  Bruno Haible  <bruno@clisp.org>
2933
2934         fseek: Move AC_LIBOBJ invocations to module description.
2935         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
2936         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
2937         * modules/fseek (configure.ac): ... to here.
2938
2939 2011-05-07  Bruno Haible  <bruno@clisp.org>
2940
2941         fseek: Respect rules for use of AC_LIBOBJ.
2942         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
2943         here...
2944         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
2945
2946 2011-05-07  Bruno Haible  <bruno@clisp.org>
2947
2948         fseeko: Respect rules for use of AC_LIBOBJ.
2949         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
2950         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
2951         here...
2952         * modules/fseeko (configure.ac): ... to here.
2953
2954 2011-06-13  Bruno Haible  <bruno@clisp.org>
2955
2956         gnulib-tool: Allow comments in the 'Depends-on' section.
2957         * doc/gnulib.texi (Module description): Mention comment syntax in the
2958         Depends-on section.
2959         * gnulib-tool (func_get_dependencies): Filter out comment lines.
2960
2961 2011-06-13  Bruno Haible  <bruno@clisp.org>
2962
2963         file-set.h: guard __attibute__ use, now that it's not always defined
2964         * lib/file-set.h (record_file): Use __attribute__ only with compiler
2965         versions that support it.  This fixes a coreutils build failure with
2966         the vendor cc on HP-UX 11.31.
2967
2968 2011-06-12  Bruno Haible  <bruno@clisp.org>
2969
2970         acl: Add support for HP-UX >= 11.11 JFS ACLs.
2971         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
2972         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
2973         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
2974         (acl, aclsort): New declarations.
2975         (aclv_nontrivial): New declaration.
2976         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
2977         (file_has_acl): Read also the second kind of HP-UX ACLs.
2978         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
2979         kind of HP-UX ACLs if the first kind fails.
2980         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
2981         second kind of HP-UX ACLs.
2982         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
2983         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
2984         agree.
2985         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
2986         hpuxjfs.
2987         Handle hpuxjfs.
2988         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
2989         hpuxjfs.
2990         Handle hpuxjfs.
2991         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
2992         (func_test_same_acls): Use both lsacl and getacl.
2993         Handle hpuxjfs.
2994         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
2995         (func_test_same_acls): Use both lsacl and getacl.
2996         Handle hpuxjfs.
2997
2998 2011-06-12  Bruno Haible  <bruno@clisp.org>
2999
3000         acl: Complete the 2010-08-10 fix.
3001         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
3002         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
3003         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
3004         explicitly.
3005         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
3006         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
3007
3008 2011-06-12  Bruno Haible  <bruno@clisp.org>
3009
3010         spawn-pipe tests: Comments.
3011         * tests/test-spawn-pipe-child.c (main): Update comment.
3012         Reported by James Youngman <jay@gnu.org>.
3013
3014 2011-06-11  James Youngman  <jay@gnu.org>
3015
3016         New module 'stat-size'.
3017         * modules/stat-size: New module.  Provides macros for accessing
3018         file size information in instances of struct stat.  Depends on the
3019         fileblocks module because it calls st_blocks.
3020         * lib/stat-size.h: New file, adapted from coreutils' system.h.
3021         * doc/gnulib.texi: Include stat-size.texi.
3022         * doc/stat-size.texi: Documentation for this module.
3023         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
3024         * m4/fileblocks.m4: Mention that stat-size depends on the call to
3025         AC_STRUCT_ST_BLOCKS.
3026
3027 2011-06-09  Bruno Haible  <bruno@clisp.org>
3028
3029         thread: Support pthreads-win32.
3030         * lib/glthread/thread.h (gl_thread_self): Define differently on
3031         pthreads-win32.
3032         (gl_null_thread): New declaration.
3033         (gl_thread_self_pointer): New macro.
3034         * lib/glthread/thread.c (gl_null_thread): New constant.
3035         * tests/test-lock.c: Use gl_thread_self_pointer instead of
3036         gl_thread_self.
3037         * tests/test-tls.c: Likewise.
3038         Suggested by Paul Eggert. Reported by Eric Blake.
3039
3040 2011-06-09  Bruno Haible  <bruno@clisp.org>
3041
3042         thread: Fix confusion between NULL and 0.
3043         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
3044         Reported by Paul Eggert.
3045
3046 2011-06-09  Bruno Haible  <bruno@clisp.org>
3047
3048         spawn-pipe tests: Avoid test failure on HP-UX 11.
3049         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
3050         is closed.
3051
3052 2011-06-09  Bruno Haible  <bruno@clisp.org>
3053
3054         acl tests: Fix compilation error on HP-UX 11.
3055         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
3056
3057 2011-06-09  Bruno Haible  <bruno@clisp.org>
3058
3059         rmdir: Avoid test failure on HP-UX 10.20.
3060         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
3061         EEXIST.
3062
3063 2011-06-08  Eric Blake  <eblake@redhat.com>
3064
3065         perror: fix test on mingw
3066         * modules/perror-tests (Depends-on): Add dup2.
3067
3068         strerror_r-posix: fix on MacOS
3069         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
3070         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
3071         logic bug.
3072         * lib/strerror_r.c (strerror_r): Fix the bug.
3073         * lib/strerror.c (strerror): Likewise.
3074         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
3075         problem.
3076         * doc/posix-functions/strerror.texi (strerror): Likewise.
3077         * doc/posix-functions/perror.texi (perror): Likewise.
3078         * tests/test-strerror.c (main): Enhance test.
3079         * tests/test-strerror_r.c (main): Likewise.
3080
3081 2011-06-08  Bruno Haible  <bruno@clisp.org>
3082
3083         gnulib-tool: Better isolation between different gnulib-tool invocations.
3084         * gnulib-tool: New option --witness-c-macro.
3085         (witness_c_macro): New variable.
3086         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
3087         AM_CPPFLAGS define it as a C macro.
3088         (func_emit_tests_Makefile_am): Likewise.
3089         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
3090         read it from there.
3091         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
3092         m4_define, not AC_DEFUN.
3093         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
3094         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
3095         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
3096         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
3097         s|...|...|, to substitute the values of the GNULIB_* module indicator
3098         variables.
3099         * modules/dirent (Makefile.am): Likewise.
3100         * modules/fcntl-h (Makefile.am): Likewise.
3101         * modules/iconv-h (Makefile.am): Likewise.
3102         * modules/langinfo (Makefile.am): Likewise.
3103         * modules/locale (Makefile.am): Likewise.
3104         * modules/math (Makefile.am): Likewise.
3105         * modules/netdb (Makefile.am): Likewise.
3106         * modules/poll-h (Makefile.am): Likewise.
3107         * modules/pty (Makefile.am): Likewise.
3108         * modules/search (Makefile.am): Likewise.
3109         * modules/signal (Makefile.am): Likewise.
3110         * modules/spawn (Makefile.am): Likewise.
3111         * modules/stdio (Makefile.am): Likewise.
3112         * modules/stdlib (Makefile.am): Likewise.
3113         * modules/string (Makefile.am): Likewise.
3114         * modules/sys_ioctl (Makefile.am): Likewise.
3115         * modules/sys_select (Makefile.am): Likewise.
3116         * modules/sys_socket (Makefile.am): Likewise.
3117         * modules/sys_stat (Makefile.am): Likewise.
3118         * modules/sys_times (Makefile.am): Likewise.
3119         * modules/sys_utsname (Makefile.am): Likewise.
3120         * modules/sys_wait (Makefile.am): Likewise.
3121         * modules/termios (Makefile.am): Likewise.
3122         * modules/time (Makefile.am): Likewise.
3123         * modules/unistd (Makefile.am): Likewise.
3124         * modules/wchar (Makefile.am): Likewise.
3125
3126 2011-06-08  Eric Blake  <eblake@redhat.com>
3127
3128         strerror: simplify replacement
3129         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
3130         * modules/strerror (configure.ac): No prereqs needed here...
3131         * modules/strerror-override (configure.ac): ...but this needs it.
3132         (Files): Add file for needed prereq macro.
3133
3134 2011-06-08  Bruno Haible  <bruno@clisp.org>
3135
3136         strerror_r-posix: Tweaks.
3137         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
3138         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
3139         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
3140         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
3141         (gl_FUNC_STRERROR_R): ... to here.
3142         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
3143
3144 2011-06-07  Eric Blake  <eblake@redhat.com>
3145
3146         perror: document fixed bugs
3147         * doc/posix-functions/perror.texi (perror): Document recent
3148         patches.
3149
3150 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
3151
3152         stat-time: get_stat_birthtime failure is better-defined
3153         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
3154         return a timestamp whose tv_sec and tv_nsec values are both -1.
3155         Previously, the spec said only that the tv_nsec value was negative.
3156         This upward-compatible change simplifies GNU tar a bit.
3157
3158 2011-06-07  Eric Blake  <eblake@redhat.com>
3159
3160         strerror_r-posix: work around cygwin 1.7.9
3161         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
3162         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
3163         bug without replacing strerror_r.
3164         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
3165         strerror_r is buggy, but without requiring strerror_r compilation.
3166         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
3167
3168         test-perror: relax test to ignore cygwin bug
3169         * tests/test-perror2.c (main): Relax test on requiring detection
3170         of stream errors, and use unbuffered stream.
3171         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
3172         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
3173         * doc/posix-functions/fputc.texi (fputc): Likewise.
3174         * doc/posix-functions/fputs.texi (fputs): Likewise.
3175         * doc/posix-functions/fputws.texi (fputws): Likewise.
3176         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
3177         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
3178         * doc/posix-functions/getopt.texi (getopt): Likewise.
3179         * doc/posix-functions/perror.texi (perror): Likewise.
3180         * doc/posix-functions/printf.texi (printf): Likewise.
3181         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
3182         * doc/posix-functions/psignal.texi (psignal): Likewise.
3183         * doc/posix-functions/putc.texi (putc): Likewise.
3184         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
3185         Likewise.
3186         * doc/posix-functions/putchar.texi (putchar): Likewise.
3187         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
3188         Likewise.
3189         * doc/posix-functions/puts.texi (puts): Likewise.
3190         * doc/posix-functions/putwc.texi (putwc): Likewise.
3191         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
3192         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
3193         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
3194         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
3195         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
3196         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
3197         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
3198         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
3199
3200 2011-05-22  Bruno Haible  <bruno@clisp.org>
3201
3202         strerror: Move AC_LIBOBJ invocations to module description.
3203         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
3204         gl_PREREQ_STRERROR invocations from here...
3205         * modules/strerror (configure.ac): ... to here.
3206
3207 2011-05-21  Bruno Haible  <bruno@clisp.org>
3208
3209         perror: Use common idiom.
3210         * modules/perror (configure.ac): Reorder statements.
3211
3212 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
3213
3214         tests: fix usage message in 'mktempd_'
3215         * tests/init.sh (mktempd_): In the usage message, use literal
3216         'mktempd_', not '$ME' (which is even undefined), as the name of
3217         the subroutine.
3218
3219 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
3220
3221         tests init: new function 'fatal_', for hard errors
3222         Before this patch, the only way offered by tests/init.sh to
3223         properly signal a hard error was the `framework_failure_'
3224         function.  But the error message issued by that function,
3225         as its name would suggest, refers to a set-up failure in the
3226         testsuite, while hard errors can obviously also be due to
3227         other reasons.  The best way to fix this inconsistency is to
3228         introduce a new function with a more general error message.
3229         * tests/init.sh (fatal_): New function.
3230
3231 2011-06-06  Eric Blake  <eblake@redhat.com>
3232
3233         canonicalize-lgpl: use common idiom
3234         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
3235         over newer POSIX -Rf.
3236         Reported by Bruno Haible.
3237
3238         canonicalize-lgpl: work around AIX realpath bug
3239         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
3240         * doc/posix-functions/realpath.texi (realpath): Document it.
3241         Reported by Bruno Haible.
3242
3243         strerror: work around FreeBSD bug
3244         * lib/strerror.c (strerror): Special case 0.
3245         Reported by Bruno Haible.
3246
3247         strerror-override: avoid bloating errno module
3248         * modules/errno (Files, configure.ac): Move replacement strings...
3249         * modules/strerror-override: ...to new module.
3250         * modules/strerror (Depends-on): Add strerror-override.
3251         * modules/strerror_r-posix (Depends-on): Likewise.
3252         * MODULES.html.sh: Document new module.
3253         Reported by Bruno Haible.
3254
3255 2011-06-06  Bruno Haible  <bruno@clisp.org>
3256
3257         spawn-pipe tests: Rename program.
3258         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
3259         * tests/test-spawn-pipe-child.c: Update comment.
3260         * tests/test-spawn-pipe.sh: Update.
3261         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
3262
3263         spawn-pipe tests: Link the child program only against libc.
3264         * tests/test-spawn-pipe-child.c: New file, extracted from
3265         tests/test-spawn-pipe.c.
3266         (main): Expect only one argument.
3267         (is_open): New function, copied from tests/test-pipe.c.
3268         * tests/test-spawn-pipe.c: Don't include <errno.h>.
3269         (child_main): Remove function.
3270         (test_pipe): Pass only one argument to the child program.
3271         (main): Remove child process code. Expect the child program's name as
3272         first argument.
3273         * tests/test-spawn-pipe.sh: Pass the child program's name as first
3274         argument.
3275         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
3276         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
3277         test-spawn-pipe-child against no libraries.
3278
3279 2011-06-06  Bruno Haible  <bruno@clisp.org>
3280
3281         careadlinkat: Avoid mismatch between ssize_t and int.
3282         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
3283         * lib/careadlinkat.c (careadlinkatcwd): Define always.
3284
3285 2011-06-06  Jim Meyering  <meyering@redhat.com>
3286
3287         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
3288         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
3289         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
3290
3291 2011-06-05  Bruno Haible  <bruno@clisp.org>
3292
3293         ansi-c++-opt: Interoperability with libtool.
3294         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
3295         set the variable to "no", not to ":".
3296         * NEWS: Mention the change.
3297
3298 2011-06-05  Bruno Haible  <bruno@clisp.org>
3299
3300         acl: Fix test failure on AIX 7.
3301         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
3302         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
3303
3304 2011-06-05  Bruno Haible  <bruno@clisp.org>
3305
3306         pipe-filter-ii: Fix test failure on AIX and IRIX.
3307         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
3308         with EAGAIN, retry with a smaller buffer size.
3309
3310 2011-06-05  Bruno Haible  <bruno@clisp.org>
3311
3312         localename: Fix link dependencies.
3313         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
3314         * modules/localename-tests (Makefile.am): Link test-localename with
3315         $(LIBTHREAD).
3316
3317 2011-06-05  Bruno Haible  <bruno@clisp.org>
3318
3319         error: Avoid gcc warning.
3320         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
3321
3322 2011-06-05  Bruno Haible  <bruno@clisp.org>
3323
3324         unsetenv: Avoid gcc warning.
3325         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
3326
3327 2011-06-05  Bruno Haible  <bruno@clisp.org>
3328
3329         setenv: Avoid gcc warning.
3330         * lib/setenv.c (setenv): Provide declaration if system lacks it.
3331
3332 2011-06-05  Bruno Haible  <bruno@clisp.org>
3333
3334         sys_select: Ensure memset is declared also on AIX 7.
3335         * lib/sys_select.in.h: Include <string.h> also on AIX.
3336         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
3337         self-contained also on AIX 7.1.
3338
3339 2011-06-04  Jim Meyering  <meyering@redhat.com>
3340
3341         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
3342         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
3343         function name, "error".
3344         (_gl_translatable_diag_func_re): New configurable variable.
3345
3346 2011-06-04  Bruno Haible  <bruno@clisp.org>
3347
3348         getopt: Avoid gcc warning.
3349         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
3350
3351 2011-06-04  Bruno Haible  <bruno@clisp.org>
3352
3353         strerror_r: Fix comments.
3354         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
3355         commit.
3356
3357 2011-06-04  Bruno Haible  <bruno@clisp.org>
3358
3359         perror: Fix compilation error.
3360         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
3361         Undefine fprintf, not sprintf.
3362         * modules/perror (Depends-on): Remove intprops, verify.
3363
3364 2011-06-04  Bruno Haible  <bruno@clisp.org>
3365
3366         setlocale: Enable replacement on Cygwin 1.5.
3367         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
3368         Cygwin 1.5.x.
3369         * doc/posix-functions/setlocale.texi: Mention that the problem with the
3370         LC_CTYPE category also exists on Cygwin 1.5.x.
3371
3372 2011-06-04  Bruno Haible  <bruno@clisp.org>
3373
3374         strerror-override: Don't disable symbol renamings.
3375         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
3376         * lib/strerror-override.c: Include config.h.
3377         (strerror_override): Don't undefine.
3378
3379 2011-06-03  Bruno Haible  <bruno@clisp.org>
3380
3381         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
3382         * lib/localename.h: Update copyright header.
3383         * lib/localename.c: Likewise.
3384         * lib/relocatable.h: Likewise.
3385         * lib/relocatable.c: Likewise.
3386
3387 2011-06-02  Bruno Haible  <bruno@clisp.org>
3388
3389         doc: Fix a module name.
3390         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
3391
3392 2011-06-02  Bruno Haible  <bruno@clisp.org>
3393
3394         pipe2: Remove dependency on 'nonblocking' module.
3395         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
3396         O_NONBLOCK is defined by gnulib.
3397         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
3398         is zero.
3399         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
3400         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
3401         defined by gnulib.
3402         (get_nonblocking_flag): New function.
3403         (main): Test O_NONBLOCK flag only if it is nonzero.
3404         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
3405
3406 2011-06-03  Jim Meyering  <meyering@redhat.com>
3407
3408         maint: three new prohibit-header-without-use rules
3409         Prohibit use of cloexec.h, posixver.h, same.h without use.
3410         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
3411         (sc_prohibit_posixver_without_use): Likewise.
3412         (sc_prohibit_same_without_use): Likewise.
3413
3414 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
3415
3416         allocator: 'die' routine is now given requested size
3417         * lib/allocator.h (struct allocator.die): New size arg.
3418         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
3419         If the actual problem is an ssize_t limitation, not a size_t or
3420         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
3421
3422 2011-06-01  Eric Blake  <eblake@redhat.com>
3423
3424         strerror: drop strerror_r dependency
3425         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
3426         * lib/strerror-override.c (strerror_override): ...to new file.
3427         * lib/strerror-override.h: Add prototype.
3428         * lib/strerror-impl.h: Delete.
3429         * lib/strerror.c (strerror): New implementation.
3430         * modules/errno (Files): Add new files.
3431         (configure.ac): Compile new file as appropriate.
3432         * modules/strerror (Files): Drop unused file.
3433         (Depends-on): Drop strerror_r-posix.
3434         * MODULES.html.sh: Document strerror_r-posix.
3435         Requested by Sam Steingold.
3436
3437         perror: call strerror_r directly
3438         * modules/perror (Files): Drop strerror-impl.h.
3439         * lib/perror.c (perror): Use our own stack buffer, rather than
3440         calling a wrapper that uses static storage.
3441         * doc/posix-functions/perror.texi (perror): Document a limitation
3442         of our replacement.
3443
3444         strerror_r: fix includes for FreeBSD
3445         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
3446         since we use abort on some platforms.
3447         Reported by Matthias Bolte.
3448
3449 2011-05-31  Bruno Haible  <bruno@clisp.org>
3450
3451         Fix link errors in tests: openat-die uses gettext-h.
3452         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
3453         against $(LIBINTL).
3454         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
3455         against $(LIBINTL).
3456         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
3457         $(LIBINTL).
3458         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
3459         against $(LIBINTL).
3460         * modules/linkat-tests (Makefile.am): Link test-linkat against
3461         $(LIBINTL).
3462         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
3463         $(LIBINTL).
3464         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
3465         against $(LIBINTL).
3466         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
3467         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
3468         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
3469         $(LIBINTL).
3470         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
3471         $(LIBINTL).
3472         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
3473         $(LIBINTL).
3474         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
3475
3476 2011-05-31  Bruno Haible  <bruno@clisp.org>
3477
3478         Fix link errors in tests: wait-process uses gettext-h.
3479         * modules/nonblocking-pipe-tests (Makefile.am): Set
3480         test_nonblocking_pipe_main_LDADD.
3481         * modules/nonblocking-socket-tests (Makefile.am): Link
3482         test-nonblocking-socket-main against $(LIBINTL).
3483         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
3484
3485 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
3486
3487         assert-h: work around 'verify' incompatibility
3488         * lib/verify.h: Use @...@ directives, not ifdef.
3489         * modules/assert-h (assert.h): Implement the directives.
3490         (assert.h): Substitute the symbol-prefix more consistently.
3491
3492 2011-05-29  Jim Meyering  <meyering@redhat.com>
3493
3494         trim: remove three superfluous assignments
3495         * lib/trim.c (trim2): Remove three superfluous assignments
3496         and correct brace positioning.
3497
3498 2011-05-29  Bruno Haible  <bruno@clisp.org>
3499
3500         wctype-h: Avoid namespace pollution on Solaris 2.6.
3501         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
3502         identifiers.
3503         * doc/posix-headers/wctype.texi: Mention the problem.
3504         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
3505
3506 2011-05-28  Jim Meyering  <meyering@redhat.com>
3507
3508         parse-datetime.y: accommodate -Wstrict-overflow
3509         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
3510         placate -Wstrict-overflow.
3511
3512         trim: avoid a warning from -O2 -Wstrict-overflow
3513         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
3514
3515 2011-05-29  Bruno Haible  <bruno@clisp.org>
3516
3517         gnulib-tool: Fix bug in yesterday's commit.
3518         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
3519         twice.
3520
3521 2011-05-29  Bruno Haible  <bruno@clisp.org>
3522
3523         Allow multiple gnulib generated include files to be combined.
3524         * gnulib-tool (func_compute_include_guard_prefix): New function.
3525         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
3526         ${gl_include_guard_prefix} references.
3527         (func_import, func_create_testdir): Invoke
3528         func_compute_include_guard_prefix.
3529         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
3530         * lib/ctype.in.h: Likewise.
3531         * lib/dirent.in.h: Likewise.
3532         * lib/errno.in.h: Likewise.
3533         * lib/fcntl.in.h: Likewise.
3534         * lib/float.in.h: Likewise.
3535         * lib/getopt.in.h: Likewise.
3536         * lib/iconv.in.h: Likewise.
3537         * lib/langinfo.in.h: Likewise.
3538         * lib/locale.in.h: Likewise.
3539         * lib/math.in.h: Likewise.
3540         * lib/netdb.in.h: Likewise.
3541         * lib/netinet_in.in.h: Likewise.
3542         * lib/poll.in.h: Likewise.
3543         * lib/pthread.in.h: Likewise.
3544         * lib/pty.in.h: Likewise.
3545         * lib/sched.in.h: Likewise.
3546         * lib/se-selinux.in.h: Likewise.
3547         * lib/search.in.h: Likewise.
3548         * lib/signal.in.h: Likewise.
3549         * lib/spawn.in.h: Likewise.
3550         * lib/stdarg.in.h: Likewise.
3551         * lib/stddef.in.h: Likewise.
3552         * lib/stdint.in.h: Likewise.
3553         * lib/stdio.in.h: Likewise.
3554         * lib/stdlib.in.h: Likewise.
3555         * lib/string.in.h: Likewise.
3556         * lib/strings.in.h: Likewise.
3557         * lib/sys_file.in.h: Likewise.
3558         * lib/sys_ioctl.in.h: Likewise.
3559         * lib/sys_select.in.h: Likewise.
3560         * lib/sys_socket.in.h: Likewise.
3561         * lib/sys_stat.in.h: Likewise.
3562         * lib/sys_time.in.h: Likewise.
3563         * lib/sys_times.in.h: Likewise.
3564         * lib/sys_uio.in.h: Likewise.
3565         * lib/sys_utsname.in.h: Likewise.
3566         * lib/sys_wait.in.h: Likewise.
3567         * lib/sysexits.in.h: Likewise.
3568         * lib/termios.in.h: Likewise.
3569         * lib/time.in.h: Likewise.
3570         * lib/unistd.in.h: Likewise.
3571         * lib/wchar.in.h: Likewise.
3572         * lib/wctype.in.h: Likewise.
3573         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
3574         * modules/ctype (Makefile.am): Likewise.
3575         * modules/dirent (Makefile.am): Likewise.
3576         * modules/errno (Makefile.am): Likewise.
3577         * modules/fcntl-h (Makefile.am): Likewise.
3578         * modules/float (Makefile.am): Likewise.
3579         * modules/getopt-posix (Makefile.am): Likewise.
3580         * modules/iconv-h (Makefile.am): Likewise.
3581         * modules/langinfo (Makefile.am): Likewise.
3582         * modules/locale (Makefile.am): Likewise.
3583         * modules/math (Makefile.am): Likewise.
3584         * modules/netdb (Makefile.am): Likewise.
3585         * modules/netinet_in (Makefile.am): Likewise.
3586         * modules/poll-h (Makefile.am): Likewise.
3587         * modules/pthread (Makefile.am): Likewise.
3588         * modules/pty (Makefile.am): Likewise.
3589         * modules/sched (Makefile.am): Likewise.
3590         * modules/search (Makefile.am): Likewise.
3591         * modules/selinux-h (Makefile.am): Likewise.
3592         * modules/signal (Makefile.am): Likewise.
3593         * modules/spawn (Makefile.am): Likewise.
3594         * modules/stdarg (Makefile.am): Likewise.
3595         * modules/stddef (Makefile.am): Likewise.
3596         * modules/stdint (Makefile.am): Likewise.
3597         * modules/stdio (Makefile.am): Likewise.
3598         * modules/stdlib (Makefile.am): Likewise.
3599         * modules/string (Makefile.am): Likewise.
3600         * modules/strings (Makefile.am): Likewise.
3601         * modules/sys_file (Makefile.am): Likewise.
3602         * modules/sys_ioctl (Makefile.am): Likewise.
3603         * modules/sys_select (Makefile.am): Likewise.
3604         * modules/sys_socket (Makefile.am): Likewise.
3605         * modules/sys_stat (Makefile.am): Likewise.
3606         * modules/sys_time (Makefile.am): Likewise.
3607         * modules/sys_times (Makefile.am): Likewise.
3608         * modules/sys_uio (Makefile.am): Likewise.
3609         * modules/sys_utsname (Makefile.am): Likewise.
3610         * modules/sys_wait (Makefile.am): Likewise.
3611         * modules/sysexits (Makefile.am): Likewise.
3612         * modules/termios (Makefile.am): Likewise.
3613         * modules/time (Makefile.am): Likewise.
3614         * modules/unistd (Makefile.am): Likewise.
3615         * modules/wchar (Makefile.am): Likewise.
3616         * modules/wctype-h (Makefile.am): Likewise.
3617         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
3618
3619 2011-05-29  Bruno Haible  <bruno@clisp.org>
3620
3621         assert-h: Allow multiple gnulib generated replacements to coexist.
3622         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
3623
3624 2011-05-29  Bruno Haible  <bruno@clisp.org>
3625
3626         argp: Allow coexistence with strerror_r-posix module.
3627         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
3628         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
3629         by gnulib's <string.h> replacement), assume it has the POSIX signature,
3630         not the glibc signature.
3631
3632 2011-05-28  Bruno Haible  <bruno@clisp.org>
3633
3634         gnulib-tool: Alternative structure of testdirs, similar to --import.
3635         * gnulib-tool: New option --single-configure.
3636         (func_usage): Document it.
3637         (single_configure): New variable.
3638         (func_modules_transitive_closure_separately,
3639         func_modules_transitive_closure_separately,
3640         func_determine_use_libtests, func_modules_add_dummy_separately,
3641         func_modules_to_filelist_separately): New functions, extracted from
3642         func_import.
3643         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
3644         (func_import): Use the new functions.
3645         (func_create_testdir): Set final_modules. Handle $single_configure =
3646         true case.
3647
3648 2011-05-28  Bruno Haible  <bruno@clisp.org>
3649
3650         getloadavg: Remove an unreliable safety check.
3651         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
3652         getloadavg.c is in place.
3653         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
3654         Reported by Sam Steingold <sds@gnu.org>.
3655
3656 2011-05-28  Bruno Haible  <bruno@clisp.org>
3657
3658         doc: Cleanup yet another file produced by texinfo.tex.
3659         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
3660
3661 2011-05-28  Bruno Haible  <bruno@clisp.org>
3662
3663         Finish the conditional dependencies mechanism.
3664         * gnulib-tool: New option --no-conditional-dependencies.
3665         (func_usage): Document it. Don't mark --conditional-dependencies as
3666         experimental.
3667         (cond_dependencies): The possible values can now be true, false, empty.
3668         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
3669         (func_import): Store setting in gnulib-cache.m4 and read it from there.
3670         * doc/gnulib-tool.texi (Conditional dependencies): New section.
3671
3672 2011-05-28  Bruno Haible  <bruno@clisp.org>
3673
3674         doc: Use a recent texinfo.tex.
3675         * doc/Makefile (tex_opts): New variable.
3676         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
3677
3678 2011-05-28  Jim Meyering  <meyering@redhat.com>
3679
3680         intprops.h: adjust comment to match code change
3681         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
3682         only once, it *may* have side effects.  Also fix an unrelated typo.
3683         (_GL_INT_SIGNED): Likewise.
3684
3685 2011-05-26  Simon Josefsson  <simon@josefsson.org>
3686
3687         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
3688
3689 2011-05-26  Bruno Haible  <bruno@clisp.org>
3690
3691         mbsrchr: Avoid collision with system function on Interix.
3692         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
3693         Reported by Markus Duft <mduft@gentoo.org>.
3694
3695 2011-05-15  James Youngman  <jay@gnu.org>
3696
3697         getopt: for ambiguous options, enumerate the possibilities.
3698         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
3699         the ambiguous options when an ambiguous prefix is given. This was
3700         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
3701         glibc change was
3702         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
3703
3704 2011-05-25  Eric Blake  <eblake@redhat.com>
3705
3706         getcwd: work around mingw bug
3707         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
3708         * doc/posix-functions/getcwd.texi (getcwd): Document it.
3709         Reported by Matthias Bolte.
3710
3711 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
3712
3713         test-intprops: disable -Wtype-limits diagnostics
3714         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
3715         diagnostics.  Otherwise, the integer overflow macros generate many
3716         diagnostics.  Reported by Jim Meyering in
3717         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
3718
3719         intprops: shorten, to pacify gcc -Woverlength-strings
3720         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
3721         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
3722         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
3723         likely to run afoul of C compiler limits for string constant lengths.
3724         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
3725
3726 2011-05-24  Eric Blake  <eblake@redhat.com>
3727
3728         docs: document recently fixed glibc printf bug
3729         * doc/posix-functions/fprintf.texi (fprintf): Document it.
3730         * doc/posix-functions/printf.texi (printf): Likewise.
3731         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
3732         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
3733
3734         closein-tests: convert to init.sh
3735         * modules/closein-tests (Files): Add init.sh
3736         * tests/test-closein.sh Use it.
3737
3738         yesno-tests: convert to init.sh
3739         * modules/yesno-tests (Files): Add init.sh.
3740         * tests/test-yesno.sh: Use it.
3741
3742         atexit-tests: ensure reliable exit status
3743         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
3744         Reported by Bruno Haible.
3745
3746 2011-05-24  Bruno Haible  <bruno@clisp.org>
3747
3748         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
3749         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
3750         gl_PREREQ_STRERROR_R invocations from here...
3751         * modules/strerror_r-posix (configure.ac): ... to here.
3752
3753 2011-05-24  Eric Blake  <eblake@redhat.com>
3754
3755         strerror_r: fix missing header
3756         * lib/strerror_r.c: Avoid compiler warning about snprintf.
3757
3758         strerror_r: fix AIX test failures
3759         * lib/strerror_r.c (strerror_r): Convert silent truncation to
3760         ERANGE failure.
3761
3762         strerror_r: fix Solaris test failures
3763         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
3764         failures.
3765         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
3766
3767         strerror_r: enforce POSIX recommendations
3768         * lib/strerror_r.c (safe_copy): New helper method.
3769         (strerror_r): Guarantee a non-empty string.
3770         * tests/test-strerror_r.c (main): Enhance tests to incorporate
3771         recent POSIX rulings and to match our strerror guarantees.
3772         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
3773
3774 2011-05-24  Jim Meyering  <meyering@redhat.com>
3775
3776         test-perror2.c: avoid warning about unused variable
3777         * tests/test-perror2.c (main): Remove declaration of unused "fp".
3778
3779 2011-05-24  Eric Blake  <eblake@redhat.com>
3780
3781         perror: avoid spurious test failure on HP-UX
3782         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
3783
3784         tests: fix logic bug in init.sh
3785         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
3786         shell.
3787
3788 2011-05-24  Jim Meyering  <meyering@redhat.com>
3789
3790         utimensat: do not reference an out-of-scope buffer
3791         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
3792         declared in an inner scope, yet "times" would be dereferenced outside
3793         the scope in which "ts" was valid.
3794         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
3795         of ts[2] "out/up", so that the use of aliased "times" (via
3796         "times = ts;") does not end up referencing an out-of-scope "ts"
3797
3798         opendir-safer.c: don't clobber errno; don't close negative FD
3799         * lib/opendir-safer.c (opendir_safer):
3800         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
3801         file descriptor, and more importantly, don't clobber the
3802         offending errno value with EINVAL.  Before, upon failure
3803         of dup_safer, we would pass the negative file descriptor to
3804         fdopendir, which would clobber errno.
3805
3806 2011-05-23  Bruno Haible  <bruno@clisp.org>
3807
3808         idcache: Fix module description.
3809         * modules/idcache (Include): Set to "idcache.h".
3810
3811 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
3812
3813         gnulib-tool: fix portability problem with MacOS sed
3814         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
3815         before the "}".  Problem reported by Leo in
3816         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
3817         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
3818         sed_extract_condition1, sed_extract_condition2.
3819
3820 2011-05-23  Bruno Haible  <bruno@clisp.org>
3821
3822         hash: Simplify autoconf macro.
3823         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
3824
3825 2011-05-23  Bruno Haible  <bruno@clisp.org>
3826
3827         getugroups: Fix module description.
3828         * modules/getugroups (Include): Set to "getugroups.h".
3829
3830 2011-05-23  Bruno Haible  <bruno@clisp.org>
3831
3832         linkat: Simplify autoconf macro.
3833         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
3834
3835 2011-05-23  Bruno Haible  <bruno@clisp.org>
3836             Eric Blake  <eblake@redhat.com>
3837
3838         linkat, renameat: Update dependencies.
3839         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
3840         * modules/linkat (Depends-on): Likewise. Remove also readlink,
3841         symlinkat.
3842
3843 2011-05-23  Jim Meyering  <meyering@redhat.com>
3844
3845         maint.mk: more tight_scope improvements
3846         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
3847         (_gl_TS_headers): Define only in if-0'd block.
3848         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
3849         sometimes we must *not* use it.  Adjust uses accordingly.
3850         (sc_tight_scope): Use much simpler grep-based test to determine
3851         whether we skip this rule.
3852
3853         maint.mk: generalize/improve the tight-scope rule
3854         * top/maint.mk: Emit a warning when the test is skipped.
3855         (_gl_TS_dir): Add $(srcdir)/ prefix.
3856         (_gl_TS_function_match): Simplify, rather than trying
3857         to enumerate common types.  Otherwise, it would fail to match an
3858         "extern unsigned char const *" declaration in idutils.
3859         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
3860         a way to support use of that type of macro.
3861         (_gl_TS_var_match): Simplify regexp.
3862         (_gl_TS_obj_files): New configurable variable.
3863         (_gl_TS_headers): Likewise.
3864
3865 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
3866
3867         verify: fix bug when gnulib <assert.h> is also included
3868         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
3869         is defined, not if _GL_STATIC_ASSERT_H is not defined.
3870         Perhaps there's a better way, but this fixes the immediate problem.
3871         Problem reported by Bruno Haible in
3872         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
3873
3874 2011-05-22  Bruno Haible  <bruno@clisp.org>
3875
3876         xgetcwd: Simplify autoconf macro.
3877         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
3878
3879 2011-05-22  Bruno Haible  <bruno@clisp.org>
3880
3881         New module 'mktime-internal'.
3882         * modules/mktime-internal: New file.
3883         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
3884         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
3885         mktime_internal as a C macro if libc has __mktime_internal.
3886         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
3887         conditions.
3888         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
3889
3890 2011-05-22  Bruno Haible  <bruno@clisp.org>
3891
3892         timegm: Correct mktime replacement statements.
3893         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
3894         defining mktime as a C macro. This completes a 2009-07-28 commit.
3895
3896 2011-05-22  Bruno Haible  <bruno@clisp.org>
3897
3898         timegm: Simplify autoconf macro.
3899         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
3900
3901 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
3902
3903         clock-time: change to LGPLv2+.
3904         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
3905         BSD-like but we have no mark for that; this is good enough for now.
3906
3907 2011-05-21  Bruno Haible  <bruno@clisp.org>
3908
3909         strerror_r: Fix comments.
3910         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
3911
3912 2011-05-21  Bruno Haible  <bruno@clisp.org>
3913
3914         relocatable-prog-wrapper: Fix possible link error.
3915         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
3916         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
3917         (gl_FUNC_SETENV): ... to here.
3918         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
3919         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
3920
3921 2011-05-21  Bruno Haible  <bruno@clisp.org>
3922
3923         relocatable-prog-wrapper: Assume strerror() exists.
3924         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
3925         m4/strerror.m4.
3926         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
3927         * lib/relocwrapper.c: Remove mention of strerror module.
3928         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
3929         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
3930         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
3931         C macro.
3932
3933 2011-05-21  Bruno Haible  <bruno@clisp.org>
3934
3935         select: Simplify replacement idiom.
3936         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
3937         Win32 platforms.
3938         * lib/sys_select.in.h (select): Simplify accordingly.
3939         * modules/select (Depends-on): Likewise.
3940
3941 2011-05-21  Bruno Haible  <bruno@clisp.org>
3942
3943         mkdir-p: Simplify autoconf macro.
3944         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
3945         gl_FUNC_LCHOWN.
3946
3947 2011-05-21  Eric Blake  <eblake@redhat.com>
3948
3949         strerror_r: avoid clobbering strerror on cygwin
3950         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
3951         fall back instead to sys_errlist.
3952         * modules/strerror (configure.ac): Add witness.
3953         * tests/test-strerror_r.c (main): Enhance test.
3954         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
3955         * tests/test-perror2.c (main): Free memory before exit.
3956
3957 2011-05-21  Bruno Haible  <bruno@clisp.org>
3958
3959         mkdtemp: Use gnulib naming conventions.
3960         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
3961         * modules/mkdtemp (configure.ac): Update.
3962
3963 2011-05-20  Eric Blake  <eblake@redhat.com>
3964
3965         strerror_r: avoid corrupting errno on Solaris
3966         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
3967         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
3968
3969         strerror_r: avoid compiler warning
3970         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
3971
3972         strerror_r: simplify AIX code
3973         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
3974
3975         test-perror: avoid spurious failure on FreeBSD
3976         * modules/perror-tests (Depends-on): Add strerror, now that
3977         strerror_r no longer pulls it in.
3978
3979 2011-05-20  Bruno Haible  <bruno@clisp.org>
3980
3981         strerror_r-posix: Remove unused dependencies.
3982         * modules/strerror_r-posix (Depends-on): Remove strerror.
3983         Reported by Eric Blake.
3984
3985 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
3986
3987         intprops: remove assumption about A|B representation
3988         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
3989         is a valid integer if both A and B are.  Although this is true for
3990         all known practical hosts, the C standard doesn't guarantee it,
3991         and the code need not assume it.  Also, this change may work around
3992         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
3993         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
3994
3995 2011-05-20  Eric Blake  <eblake@redhat.com>
3996
3997         perror: work around FreeBSD bug
3998         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
3999         is broken.  Move AC_LIBOBJ...
4000         * modules/perror (configure.ac): Here.
4001         * doc/posix-functions/perror.texi (perror): Document this.
4002         * tests/test-perror2.c (main): Enhance test.
4003
4004         test-perror: check for strerror interactions
4005         * tests/macros.h (STREQ): Add macro.
4006         * modules/perror-tests (Files): Add second test.
4007         * tests/test-perror2.c (main): New file.
4008         * doc/posix-functions/perror.texi (perror): Document glibc bug.
4009
4010         test-perror: rewrite to use init script
4011         * modules/perror-tests (Files): Add init.sh.
4012         * tests/test-perror.sh: Use temporary directory.
4013
4014 2011-05-20  Jim Meyering  <meyering@redhat.com>
4015
4016         maint: replace misused "a" with "an"
4017         * doc/intprops.texi: "a integer"
4018         * doc/regex.texi: "a explanation"
4019         * lib/alignof.h: "a object"
4020         * lib/argmatch.h: "a explanation"
4021         * lib/argp-help.c: "a option" and "a OPTION_DOC"
4022         * lib/stdint.in.h: "a integer"
4023         * lib/userspec.c: "a owner"
4024         * doc/gnulib.texi: Fix "a idea", and reword.
4025
4026 2011-05-19  Jim Meyering  <meyering@redhat.com>
4027
4028         maint: correct misuse of "a" and "an"
4029         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
4030         * lib/argp-help.c: "an docum...": s/an/a/
4031         * lib/argp-parse.c: "An vector": s/An/A/
4032         * lib/execute.c: "an native": s/an/a/
4033         * lib/spawn-pipe.c: Likewise.
4034         * lib/gc.h: "an Gc_rc": s/an/a/
4035         * lib/unigbrk.in.h: "an grapheme": s/an/a/
4036         * lib/fts.c: "an stat.st_dev": s/an/a/
4037
4038 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
4039
4040         intprops-tests: work around HP-UX 11.23 cc bug with constants
4041         * tests/test-intprops.c (VERIFY): New macro.
4042         (main): Use it, instead of verify, to work around the compiler bug; see
4043         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
4044
4045         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
4046         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
4047         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
4048         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
4049         (_GL_REMAINDER_OVERFLOW): Use it.
4050
4051         intprops-tests: revert unsigned part of previous change
4052         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
4053         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
4054         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
4055         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
4056
4057 2011-05-19  Bruno Haible  <bruno@clisp.org>
4058
4059         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
4060         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
4061         strerror_r() returned without filling the buffer.
4062         Reported by Eric Blake.
4063
4064 2011-05-19  Eric Blake  <eblake@redhat.com>
4065
4066         strerror_r: guarantee unchanged errno
4067         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
4068         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
4069         failure.
4070         * tests/test-strerror_r.c (main): Enhance test.
4071
4072 2011-05-19  Bruno Haible  <bruno@clisp.org>
4073
4074         strerror_r: Reorder #if blocks.
4075         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
4076         for consistency with the previous commit.
4077
4078 2011-05-19  Bruno Haible  <bruno@clisp.org>
4079
4080         perror: Avoid clobbering the strerror buffer when possible.
4081         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
4082         * lib/strerror.c: Include it.
4083         * modules/strerror (Files): Add lib/strerror-impl.h.
4084         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
4085         (my_strerror): New function, defined through lib/strerror-impl.h.
4086         (perror): Use it instead of strerror.
4087         * modules/perror (Files): Add lib/strerror-impl.h.
4088         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
4089
4090 2011-05-19  Eric Blake  <eblake@redhat.com>
4091
4092         strerror_r: fix on newer cygwin
4093         * lib/strerror_r.c (strerror_r): Cygwin now has
4094         __xpg_strerror_r, use it.
4095
4096 2011-05-19  Bruno Haible  <bruno@clisp.org>
4097
4098         strerror_r: Avoid clobbering the strerror buffer when possible.
4099         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
4100         (sys_nerr, sys_errlist): New declarations.
4101         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
4102         HP-UX, native Win32, IRIX, and 32-bit Solaris.
4103         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
4104
4105 2011-05-19  Bruno Haible  <bruno@clisp.org>
4106
4107         strerror_r: Fix test failure on mingw.
4108         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
4109         EXTEND_STRERROR_R.
4110         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
4111         macros from errno.in.h instead.
4112
4113 2011-05-19  Eric Blake  <eblake@redhat.com>
4114
4115         strerror: relax test for Solaris
4116         * tests/test-strerror.c (main): Permit Solaris behavior.
4117         * tests/test-strerror_r.c (main): Likewise.
4118
4119         strerror: enforce POSIX ruling on strerror(0)
4120         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
4121         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
4122         * lib/strerror_r.c (rpl_strerror_r): Work around it.
4123         * doc/posix-functions/strerror.texi (strerror): Document it.
4124         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
4125         * tests/test-strerror.c (main): Strengthen test.
4126         * tests/test-strerror_r.c (main): Likewise.
4127
4128 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
4129
4130         intprop-tests: port to older and more-pedantic compilers
4131         * modules/intprops-tests (Files): Add tests/macros.h.
4132         * tests/test-intprops.c: Include macros.h.
4133         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
4134         it's no longer documented to expand to an integer constant expression.
4135         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
4136         argument is floating point, as it's no longer documented to expand
4137         to an integer constant expression in that case.
4138         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
4139         compiler bugs reported by Bruno Haible.  See
4140         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
4141         (U0, U1): New constants, to work around the same bugs.  Also,
4142         in tests, use e.g., "(unsigned int) 39" rather than "39u".
4143
4144         intprops: work around C compiler bugs
4145         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
4146         bug in Sun C 5.11 2010/08/13 and other compilers; see
4147         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
4148
4149         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
4150         * doc/intprops.texi (Integer Type Determination): Fix
4151         documentation for TYPE_IS_INTEGER: it returns an constant
4152         expression, not an integer constant expression.  Fix doc for
4153         TYPE_SIGNED: it returns an integer constant expression only if its
4154         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
4155         hardly worth documented that way....)
4156
4157 2011-05-18  Bruno Haible  <bruno@clisp.org>
4158
4159         strerror_r: Avoid clobbering the strerror buffer when possible.
4160         * lib/strerror_r.c (strerror_r): Merge the three implementations.
4161         Handle gnulib defined errno values here. When strerror() returns NULL
4162         or an empty string, return EINVAL.
4163         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
4164         gnulib defined errno values here.
4165         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
4166
4167 2011-05-18  Eric Blake  <eblake@redhat.com>
4168
4169         fnmatch: avoid compiler warning
4170         * lib/fnmatch_loop.c (FCT): Use correct type.
4171         Reported by Matthias Bolte.
4172
4173 2011-05-13  Jim Meyering  <meyering@redhat.com>
4174
4175         maint.mk: three new prohibit_<HDR>_without_use rules
4176         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
4177         (sc_prohibit_stdio-safer_without_use): Likewise.
4178         (sc_prohibit_xfreopen_without_use): Likewise.
4179
4180 2011-05-17  Jim Meyering  <meyering@redhat.com>
4181
4182         announce-gen: fail if the NEWS delta is empty
4183         If there's nothing noteworthy in NEWS, then either you forgot
4184         or you shouldn't be releasing.
4185         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
4186
4187 2011-05-17  Pádraig Brady <P@draigBrady.com>
4188
4189         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
4190         reserved symbols starting with double underscore from the check.
4191
4192 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
4193
4194         intprops: add doc
4195         * doc/intprops.texi: New file, documenting intprops.
4196         * doc/gnulib.texi (Particular Modules): Include it.
4197
4198         verify: add doc to gnulib manual and fix example
4199         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
4200         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
4201         (Compile-time Assertions): Fix example so it can't overflow.
4202
4203 2011-05-17  Jim Meyering  <meyering@redhat.com>
4204
4205         warnings.m4: don't usurp save_CPPFLAGS variable name
4206         * m4/warnings.m4: Prefix local temporary variable name with gl_.
4207
4208         doc: fix typo
4209         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
4210
4211 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
4212             Bruno Haible  <bruno@clisp.org>
4213
4214         doc: Tweak recent change.
4215         * README (Portability guidelines): Tweak new text.
4216         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
4217         Interix 6.1.
4218
4219 2011-05-16  Eric Blake  <eblake@redhat.com>
4220
4221         inttypes: avoid autoconf warning
4222         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
4223         * m4/stdint.m4 (gl_STDINT_H): Likewise.
4224
4225 2011-05-16  Sam Steingold <sds@gnu.org>
4226         and Eric Blake  <eblake@redhat.com>
4227
4228         vc-list-files: accept multiple directory operands
4229         * build-aux/vc-list-files: Iterate over all remaining operands.
4230
4231 2011-05-16  Bruno Haible  <bruno@clisp.org>
4232
4233         Fix confusion regarding deprecated modules.
4234         * modules/calloc (Status, Notice): Mark module as deprecated, not
4235         obsolete.
4236         * modules/fnmatch-posix (Status, Notice): Likewise.
4237         * modules/getdate (Status, Notice): Likewise.
4238         * modules/getopt (Status, Notice): Likewise.
4239         * modules/malloc (Status, Notice): Likewise.
4240         * modules/pipe (Status, Notice): Likewise.
4241         * modules/realloc (Status, Notice): Likewise.
4242         * modules/rename-dest-slash (Status, Notice): Likewise.
4243         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
4244         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
4245         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
4246         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
4247         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
4248
4249 2011-05-16  Bruno Haible  <bruno@clisp.org>
4250
4251         doc: List the target platforms.
4252         * doc/gnulib-intro.texi (Target Platforms): New section.
4253         * doc/gnulib.texi (Introduction): Update menu.
4254         * README (Portability guidelines): Refer to the new section. Update
4255         statement about oldest supported environment. Remove rationale why
4256         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
4257         unportable C89 function.
4258         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
4259         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
4260
4261 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
4262
4263         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
4264
4265 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
4266
4267         intprops-tests: new module
4268         * modules/intprops-tests, tests/test-intprops.c: New files.
4269
4270         intprops: add safe, portable integer overflow checking
4271         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
4272         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
4273         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
4274         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
4275         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
4276         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
4277         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
4278         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
4279         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
4280         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
4281         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
4282
4283 2011-05-12  James Youngman  <jay@gnu.org>
4284
4285         Add a test for glibc's Bugzilla bug #12378.
4286         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
4287         doesn't allow the literal matching of a lone "[" (which is
4288         required by POSIX).
4289         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
4290
4291 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
4292
4293         Sync glibc change fixing Bugzilla bug #12378.
4294         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
4295         beginning and fall back to matching as normal character if the
4296         string ends before the matching ']' is found.  This is what POSIX
4297         requires.
4298
4299 2011-05-13  Eric Blake  <eblake@redhat.com>
4300
4301         getcwd-lgpl: relax test for FreeBSD
4302         * doc/posix-functions/getcwd.texi (getcwd): Document portability
4303         issue.
4304         * tests/test-getcwd-lgpl.c (main): Relax test.
4305         Reported by Matthias Bolte.
4306
4307 2011-05-11  Eric Blake  <eblake@redhat.com>
4308
4309         test-fflush: silence compiler warning
4310         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
4311
4312 2011-05-11  Bruno Haible  <bruno@clisp.org>
4313
4314         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
4315         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
4316         * modules/canonicalize (Depends-on): Add 'nocrash'.
4317         * modules/canonicalize-lgpl (Depends-on): Likewise.
4318         * doc/posix-functions/realpath.texi: Update platforms list.
4319         Reported by Ryan Schmidt <ryandesign@macports.org>.
4320
4321 2011-05-11  Bruno Haible  <bruno@clisp.org>
4322
4323         group-member: Declare function in <unistd.h>.
4324         * lib/unistd.in.h (group_member): New declaration.
4325         * lib/group-member.h: Remove file.
4326         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
4327         * tests/test-unistd-c++.cc: Check signature of group_member.
4328         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
4329         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
4330         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
4331         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
4332         HAVE_GROUP_MEMBER.
4333         * modules/group-member (Files): Remove lib/group-member.h.
4334         (Depends-on): Add unistd. Specify conditions.
4335         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
4336         (Include): Change to <unistd.h>.
4337         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
4338         HAVE_GROUP_MEMBER.
4339         * NEWS: Mention the change.
4340         * lib/euidaccess.c: Don't include group-member.h.
4341
4342 2011-05-11  Bruno Haible  <bruno@clisp.org>
4343
4344         group-member: Document module.
4345         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
4346         module.
4347
4348 2011-05-11  Bruno Haible  <bruno@clisp.org>
4349
4350         fclose: Fix mistake earlier today.
4351         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
4352
4353 2011-05-11  Eric Blake  <eblake@redhat.com>
4354
4355         fclose: preserve fflush errors
4356         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
4357         Reported by Jim Meyering.
4358
4359         bootstrap: support a prereq of 'rpcgen -' on RHEL5
4360         * build-aux/bootstrap (check_versions): When no specific version
4361         is required, merely check that the app produces an exit status
4362         that indicates its existence.
4363
4364         maint.mk: drop redundant check
4365         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
4366         the same but better.
4367
4368 2011-05-11  Bruno Haible  <bruno@clisp.org>
4369
4370         fclose: Fix possible link error.
4371         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
4372         unregister_shadow_fd. Improve comments.
4373         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
4374         Eric Blake.
4375
4376 2011-05-11  Jim Meyering  <meyering@redhat.com>
4377
4378         maint.mk: improve "can not" detection and generalize rule name
4379         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
4380         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
4381         Use the same technique as in sc_prohibit_doubled_word, so that
4382         we recognize "can not" also when the words are separated by a newline.
4383         Suggested by Eric Blake.
4384         (perl_filename_lineno_text_): Define.  Factored out of...
4385         (prohibit_doubled_word_): ...here.  Use the new definition.
4386         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
4387         (prohibit_undesirable_word_seq_RE_): New overridable variable.
4388         (ignore_undesirable_word_sequence_RE_): New overridable variable.
4389
4390 2011-05-10  Eric Blake  <eblake@redhat.com>
4391
4392         fclose: avoid double close race when possible
4393         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
4394         all but WINDOWS_SOCKETS.
4395
4396 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
4397
4398         openat: correct new comment
4399         * lib/openat-proc.c (openat_proc_name): Correct the comment.
4400
4401 2011-05-10  Jim Meyering  <meyering@redhat.com>
4402
4403         openat: add comments
4404         * lib/openat-proc.c (openat_proc_name): Add comments,
4405         mostly from Eric Blake.
4406
4407 2011-05-09  Eric Blake  <eblake@redhat.com>
4408
4409         openat: reduce syscalls in first probe of /proc
4410         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
4411         be a directory.  Simplify the probe for .. bugs.
4412         * modules/openat (Depends-on): Drop same-inode.
4413         Reported by Bastien ROUCARIES.
4414
4415 2011-05-09  Jim Meyering  <meyering@redhat.com>
4416
4417         maint.mk: change semantics/name of tight_scope variables
4418         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
4419         Rename variables to align with semantics that make them more useful.
4420
4421         maint.mk: tweak new rule's name not to impinge
4422         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
4423         (sc_tight_scope): Use new rule name rather than $@-0.
4424
4425         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
4426         * top/maint.mk (sc_tight_scope): New rule.
4427         (sc_tight_scope-0): New rule, ifdef'd out.
4428         (_gl_TS_dir): Default.
4429         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
4430         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
4431
4432 2011-05-09  Simon Josefsson  <simon@josefsson.org>
4433
4434         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
4435         Haible <bruno@clisp.org>.
4436
4437 2011-05-08  Bruno Haible  <bruno@clisp.org>
4438
4439         Comments.
4440         * m4/isnanf.m4: Add comment.
4441         * m4/isnanl.m4: Likewise.
4442
4443 2011-05-08  Bruno Haible  <bruno@clisp.org>
4444
4445         glob: Remove obsolete macro.
4446         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
4447
4448 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
4449
4450         intprops: Sun C 5.11 supports __typeof__
4451         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
4452         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
4453         which is new.
4454         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
4455
4456         intprops: switch to usual gnulib indenting and naming
4457         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
4458         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
4459
4460         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
4461
4462 2011-05-08  Jim Meyering  <meyering@redhat.com>
4463
4464         maint.mk: suppress "Entering/Leaving directory" diag in announcement
4465         * top/maint.mk (release-prep): Use make's --no-print-directory
4466         option when generating the announcement.  This eliminates the
4467         pesky "make[2]: Entering/Leaving directory" diagnostics in the
4468         generated announcement template.
4469
4470 2011-05-08  Bruno Haible  <bruno@clisp.org>
4471
4472         tzset: Fix gettimeofday wrapper on Solaris 2.6.
4473         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
4474         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
4475
4476 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
4477
4478         ignore-value, verify: Omit include files from lib_SOURCES.
4479         * modules/ignore-value, modules/verify (Makefile.am):
4480         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
4481         that leads Automake to duplicate use of am__objects_... variables
4482         in Makefile.in.  See
4483         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
4484
4485 2011-05-07  Bruno Haible  <bruno@clisp.org>
4486
4487         fclose: Simplify autoconf macro.
4488         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
4489         defined.
4490
4491 2011-05-07  Bruno Haible  <bruno@clisp.org>
4492
4493         canonicalize-lgpl: Fix autoconf macro ordering bug.
4494         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
4495         gl_STDLIB_H_DEFAULTS.
4496
4497 2011-05-06  Eric Blake  <eblake@redhat.com>
4498
4499         maintainer-makefile: make sc_po_check easier to tune
4500         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
4501         to probe for strings, such as an alternate location for gnulib.
4502
4503         fclose: guarantee behavior on seekable stdin
4504         * modules/fclose (Depends-on): Add fflush.
4505         * doc/posix-functions/fclose.texi (fclose): Document this.
4506         * tests/test-fclose.c (main): Make test for this unconditional.
4507
4508 2011-05-06  Bruno Haible  <bruno@clisp.org>
4509
4510         fflush, fpurge: Relicense under LGPLv2+.
4511         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
4512         * modules/fpurge (License): Likewise.
4513         With permission from Eric Blake and Jim Meyering.
4514         Suggested by Eric Blake.
4515
4516 2011-05-06  Karl Berry  <karl@gnu.org>
4517
4518         * MODULES.html.sh (func_all_modules): remove exit.
4519
4520 2011-05-06  Jim Meyering  <meyering@redhat.com>
4521
4522         maint.mk: use info-gnu@ as the default only for a stable release
4523         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
4524         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
4525         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
4526         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
4527
4528 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
4529
4530         assert-h: new module, which supports C1X-style static_assert
4531         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
4532         * lib/verify.h: Revamp so that this can be copied into assert.h,
4533         while retaining the ability to use it standalone as before.
4534         Rename private identifiers so as not to encroach on the
4535         standard C namespace, since this is now used by assert.h.
4536         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
4537         the old verify_true.
4538         (_GL_VERIFY_TRUE): New macro, with much of the contents of
4539         the old verify_true.  Use _GL_VERIFY_TYPE.
4540         (_GL_VERIFY): New macro, with much of the contents of the old verify.
4541         (static_assert): New macro, if _GL_STATIC_ASSERT_H
4542         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
4543         defined when this file is copied into the replacement assert.h.
4544         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
4545         and _Static_assert is not built in.
4546         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
4547         defined, and use the new macros mentioned above.
4548         * doc/posix-headers/assert.texi: Document this.
4549
4550 2011-05-05  Bruno Haible  <bruno@clisp.org>
4551
4552         fclose, fflush: Respect rules for use of AC_LIBOBJ.
4553         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
4554         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
4555         gl_REPLACE_FCLOSE here.
4556         * modules/fflush (Depends-on): Remove fclose.
4557         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
4558         combination with module 'fclose'.
4559
4560 2011-05-05  Bruno Haible  <bruno@clisp.org>
4561
4562         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
4563         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
4564         gl_FUNC_FFLUSH.
4565         (gl_FUNC_FFLUSH): Use it.
4566         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
4567         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
4568         gl_REPLACE_FSEEKO here.
4569
4570 2011-05-05  Bruno Haible  <bruno@clisp.org>
4571
4572         tzset: Relicense under LGPL.
4573         * modules/tzset (License): Change to LGPL.
4574         No agreement needed; it's a no-op.
4575
4576         strtoimax, strtoumax: Relicense under LGPL.
4577         * modules/strtoimax (License): Change to LGPL.
4578         * modules/strtoumax (License): Likewise.
4579         With permission from Jim Meyering, Paul Eggert:
4580         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
4581         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
4582
4583         getgroups: Relicense under LGPL.
4584         * modules/getgroups (License): Change to LGPL.
4585         With permission from Jim Meyering, Paul Eggert, Eric Blake:
4586         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
4587         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
4588         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
4589
4590         nanosleep: Relicense under LGPL.
4591         * modules/nanosleep (License): Change to LGPL.
4592         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
4593         Haible:
4594         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
4595         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
4596         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
4597         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
4598
4599         futimens: Relicense under LGPL.
4600         * modules/futimens (License): Change to LGPL.
4601         With permission from Eric Blake:
4602         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
4603
4604         fflush: Relicense under LGPL.
4605         * modules/fflush (License): Change to LGPL.
4606         With permission from Eric Blake, Bruno Haible, Jim Meyering:
4607         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
4608         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
4609         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
4610
4611         tmpfile: Relicense under LGPL.
4612         * modules/tmpfile (License): Change to LGPL.
4613         With permission from Ben Pfaff:
4614         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
4615
4616         isfinite: Relicense under LGPL.
4617         * modules/isfinite (License): Change to LGPL.
4618         With permission from Ben Pfaff, Bruno Haible:
4619         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
4620         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
4621
4622         acosl..tanl: Relicense under LGPL.
4623         * modules/acosl (License): Change to LGPL.
4624         * modules/asinl (License): Likewise.
4625         * modules/atanl (License): Likewise.
4626         * modules/cosl (License): Likewise.
4627         * modules/expl (License): Likewise.
4628         * modules/logl (License): Likewise.
4629         * modules/sinl (License): Likewise.
4630         * modules/sqrtl (License): Likewise.
4631         * modules/tanl (License): Likewise.
4632         Source code originally from glibc and Paolo Bonzini. Agreements:
4633         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
4634         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
4635
4636 2011-05-05  Bruno Haible  <bruno@clisp.org>
4637
4638         signal: Define sighandler_t.
4639         * lib/signal.in.h (sighandler_t): New type.
4640         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
4641         whether sighandler_t is defined.
4642         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
4643         * modules/signal (Depends-on): Add extensions.
4644         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
4645         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
4646         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
4647
4648 2011-05-05  Eric Blake  <eblake@redhat.com>
4649
4650         maint: remove useless REPLACE_*_H macros
4651         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
4652         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
4653         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
4654         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
4655         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
4656         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
4657         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
4658         * m4/btowc.m4: Update callers.
4659         * m4/dirfd.m4: Likewise.
4660         * m4/duplocale.m4: Likewise.
4661         * m4/fchdir.m4: Likewise.
4662         * m4/fdopendir.m4: Likewise.
4663         * m4/inet_ntop.m4: Likewise.
4664         * m4/inet_pton.m4: Likewise.
4665         * m4/ioctl.m4: Likewise.
4666         * m4/mbrlen.m4: Likewise.
4667         * m4/mbrtowc.m4: Likewise.
4668         * m4/mbsinit.m4: Likewise.
4669         * m4/mbsnrtowcs.m4: Likewise.
4670         * m4/mbsrtowcs.m4: Likewise.
4671         * m4/poll.m4: Likewise.
4672         * m4/setlocale.m4: Likewise.
4673         * m4/wcrtomb.m4: Likewise.
4674         * m4/wcsnrtombs.m4: Likewise.
4675         * m4/wcsrtombs.m4: Likewise.
4676         * m4/wctob.m4: Likewise.
4677         * m4/wcwidth.m4: Likewise.
4678         * modules/posix_spawn: Likewise.
4679         * modules/posix_spawn_file_actions_addclose: Likewise.
4680         * modules/posix_spawn_file_actions_adddup2: Likewise.
4681         * modules/posix_spawn_file_actions_addopen: Likewise.
4682         * modules/posix_spawn_file_actions_destroy: Likewise.
4683         * modules/posix_spawn_file_actions_init: Likewise.
4684         * modules/posix_spawnattr_destroy: Likewise.
4685         * modules/posix_spawnattr_getflags: Likewise.
4686         * modules/posix_spawnattr_getpgroup: Likewise.
4687         * modules/posix_spawnattr_getschedparam: Likewise.
4688         * modules/posix_spawnattr_getschedpolicy: Likewise.
4689         * modules/posix_spawnattr_getsigdefault: Likewise.
4690         * modules/posix_spawnattr_getsigmask: Likewise.
4691         * modules/posix_spawnattr_init: Likewise.
4692         * modules/posix_spawnattr_setflags: Likewise.
4693         * modules/posix_spawnattr_setpgroup: Likewise.
4694         * modules/posix_spawnattr_setschedparam: Likewise.
4695         * modules/posix_spawnattr_setschedpolicy: Likewise.
4696         * modules/posix_spawnattr_setsigdefault: Likewise.
4697         * modules/posix_spawnattr_setsigmask: Likewise.
4698         * modules/posix_spawnp: Likewise.
4699
4700 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
4701
4702         Add option to do-release-commit-and-tag to specify branch.
4703         * build-aux/do-release-commit-and-tag: Add --branch.
4704
4705 2011-05-03  Bruno Haible  <bruno@clisp.org>
4706
4707         Avoid unnecessary compilation units, through conditional dependencies.
4708         * modules/accept (Depends-on): Add conditions to the dependencies.
4709         * modules/acosl (Depends-on): Likewise.
4710         * modules/argz (Depends-on): Likewise.
4711         * modules/asinl (Depends-on): Likewise.
4712         * modules/atanl (Depends-on): Likewise.
4713         * modules/atoll (Depends-on): Likewise.
4714         * modules/bind (Depends-on): Likewise.
4715         * modules/btowc (Depends-on): Likewise.
4716         * modules/canonicalize-lgpl (Depends-on): Likewise.
4717         * modules/ceil (Depends-on): Likewise.
4718         * modules/ceilf (Depends-on): Likewise.
4719         * modules/ceill (Depends-on): Likewise.
4720         * modules/chdir-long (Depends-on): Likewise.
4721         * modules/chown (Depends-on): Likewise.
4722         * modules/close (Depends-on): Likewise.
4723         * modules/connect (Depends-on): Likewise.
4724         * modules/cosl (Depends-on): Likewise.
4725         * modules/dirfd (Depends-on): Likewise.
4726         * modules/dprintf (Depends-on): Likewise.
4727         * modules/dprintf-posix (Depends-on): Likewise.
4728         * modules/error (Depends-on): Likewise.
4729         * modules/euidaccess (Depends-on): Likewise.
4730         * modules/expl (Depends-on): Likewise.
4731         * modules/faccessat (Depends-on): Likewise.
4732         * modules/fchdir (Depends-on): Likewise.
4733         * modules/fclose (Depends-on): Likewise.
4734         * modules/fcntl (Depends-on): Likewise.
4735         * modules/fdopendir (Depends-on): Likewise.
4736         * modules/fflush (Depends-on): Likewise.
4737         * modules/floor (Depends-on): Likewise.
4738         * modules/floorf (Depends-on): Likewise.
4739         * modules/floorl (Depends-on): Likewise.
4740         * modules/fnmatch (Depends-on): Likewise.
4741         * modules/fopen (Depends-on): Likewise.
4742         * modules/fprintf-posix (Depends-on): Likewise.
4743         * modules/frexp (Depends-on): Likewise.
4744         * modules/frexp-nolibm (Depends-on): Likewise.
4745         * modules/frexpl (Depends-on): Likewise.
4746         * modules/frexpl-nolibm (Depends-on): Likewise.
4747         * modules/fseek (Depends-on): Likewise.
4748         * modules/fsusage (Depends-on): Likewise.
4749         * modules/ftell (Depends-on): Likewise.
4750         * modules/ftello (Depends-on): Likewise.
4751         * modules/futimens (Depends-on): Likewise.
4752         * modules/getcwd (Depends-on): Likewise.
4753         * modules/getcwd-lgpl (Depends-on): Likewise.
4754         * modules/getdelim (Depends-on): Likewise.
4755         * modules/getdomainname (Depends-on): Likewise.
4756         * modules/getgroups (Depends-on): Likewise.
4757         * modules/gethostname (Depends-on): Likewise.
4758         * modules/getline (Depends-on): Likewise.
4759         * modules/getlogin_r (Depends-on): Likewise.
4760         * modules/getopt-posix (Depends-on): Likewise.
4761         * modules/getpeername (Depends-on): Likewise.
4762         * modules/getsockname (Depends-on): Likewise.
4763         * modules/getsockopt (Depends-on): Likewise.
4764         * modules/getsubopt (Depends-on): Likewise.
4765         * modules/getusershell (Depends-on): Likewise.
4766         * modules/glob (Depends-on): Likewise.
4767         * modules/grantpt (Depends-on): Likewise.
4768         * modules/iconv_open (Depends-on): Likewise.
4769         * modules/iconv_open-utf (Depends-on): Likewise.
4770         * modules/inet_ntop (Depends-on): Likewise.
4771         * modules/inet_pton (Depends-on): Likewise.
4772         * modules/ioctl (Depends-on): Likewise.
4773         * modules/isapipe (Depends-on): Likewise.
4774         * modules/isfinite (Depends-on): Likewise.
4775         * modules/isinf (Depends-on): Likewise.
4776         * modules/lchown (Depends-on): Likewise.
4777         * modules/ldexpl (Depends-on): Likewise.
4778         * modules/link (Depends-on): Likewise.
4779         * modules/linkat (Depends-on): Likewise.
4780         * modules/listen (Depends-on): Likewise.
4781         * modules/logl (Depends-on): Likewise.
4782         * modules/lstat (Depends-on): Likewise.
4783         * modules/mbrlen (Depends-on): Likewise.
4784         * modules/mbrtowc (Depends-on): Likewise.
4785         * modules/mbsinit (Depends-on): Likewise.
4786         * modules/mbsnrtowcs (Depends-on): Likewise.
4787         * modules/mbsrtowcs (Depends-on): Likewise.
4788         * modules/mbtowc (Depends-on): Likewise.
4789         * modules/memcmp (Depends-on): Likewise.
4790         * modules/mkdir (Depends-on): Likewise.
4791         * modules/mkdtemp (Depends-on): Likewise.
4792         * modules/mkfifo (Depends-on): Likewise.
4793         * modules/mkfifoat (Depends-on): Likewise.
4794         * modules/mknod (Depends-on): Likewise.
4795         * modules/mkostemp (Depends-on): Likewise.
4796         * modules/mkostemps (Depends-on): Likewise.
4797         * modules/mkstemp (Depends-on): Likewise.
4798         * modules/mkstemps (Depends-on): Likewise.
4799         * modules/mktime (Depends-on): Likewise.
4800         * modules/nanosleep (Depends-on): Likewise.
4801         * modules/open (Depends-on): Likewise.
4802         * modules/openat (Depends-on): Likewise.
4803         * modules/perror (Depends-on): Likewise.
4804         * modules/poll (Depends-on): Likewise.
4805         * modules/popen (Depends-on): Likewise.
4806         * modules/posix_spawn (Depends-on): Likewise.
4807         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
4808         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
4809         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
4810         * modules/posix_spawnp (Depends-on): Likewise.
4811         * modules/pread (Depends-on): Likewise.
4812         * modules/printf-posix (Depends-on): Likewise.
4813         * modules/ptsname (Depends-on): Likewise.
4814         * modules/putenv (Depends-on): Likewise.
4815         * modules/pwrite (Depends-on): Likewise.
4816         * modules/readline (Depends-on): Likewise.
4817         * modules/readlink (Depends-on): Likewise.
4818         * modules/readlinkat (Depends-on): Likewise.
4819         * modules/recv (Depends-on): Likewise.
4820         * modules/recvfrom (Depends-on): Likewise.
4821         * modules/regex (Depends-on): Likewise.
4822         * modules/remove (Depends-on): Likewise.
4823         * modules/rename (Depends-on): Likewise.
4824         * modules/renameat (Depends-on): Likewise.
4825         * modules/rmdir (Depends-on): Likewise.
4826         * modules/round (Depends-on): Likewise.
4827         * modules/roundf (Depends-on): Likewise.
4828         * modules/roundl (Depends-on): Likewise.
4829         * modules/rpmatch (Depends-on): Likewise.
4830         * modules/select (Depends-on): Likewise.
4831         * modules/send (Depends-on): Likewise.
4832         * modules/sendto (Depends-on): Likewise.
4833         * modules/setenv (Depends-on): Likewise.
4834         * modules/setlocale (Depends-on): Likewise.
4835         * modules/setsockopt (Depends-on): Likewise.
4836         * modules/shutdown (Depends-on): Likewise.
4837         * modules/sigaction (Depends-on): Likewise.
4838         * modules/signbit (Depends-on): Likewise.
4839         * modules/sigprocmask (Depends-on): Likewise.
4840         * modules/sinl (Depends-on): Likewise.
4841         * modules/sleep (Depends-on): Likewise.
4842         * modules/snprintf (Depends-on): Likewise.
4843         * modules/snprintf-posix (Depends-on): Likewise.
4844         * modules/socket (Depends-on): Likewise.
4845         * modules/sprintf-posix (Depends-on): Likewise.
4846         * modules/sqrtl (Depends-on): Likewise.
4847         * modules/stat (Depends-on): Likewise.
4848         * modules/strchrnul (Depends-on): Likewise.
4849         * modules/strdup-posix (Depends-on): Likewise.
4850         * modules/strerror (Depends-on): Likewise.
4851         * modules/strerror_r-posix (Depends-on): Likewise.
4852         * modules/strndup (Depends-on): Likewise.
4853         * modules/strnlen (Depends-on): Likewise.
4854         * modules/strptime (Depends-on): Likewise.
4855         * modules/strsep (Depends-on): Likewise.
4856         * modules/strsignal (Depends-on): Likewise.
4857         * modules/strstr-simple (Depends-on): Likewise.
4858         * modules/strtod (Depends-on): Likewise.
4859         * modules/strtoimax (Depends-on): Likewise.
4860         * modules/strtok_r (Depends-on): Likewise.
4861         * modules/strtoumax (Depends-on): Likewise.
4862         * modules/symlink (Depends-on): Likewise.
4863         * modules/symlinkat (Depends-on): Likewise.
4864         * modules/tanl (Depends-on): Likewise.
4865         * modules/tcgetsid (Depends-on): Likewise.
4866         * modules/tmpfile (Depends-on): Likewise.
4867         * modules/trunc (Depends-on): Likewise.
4868         * modules/truncf (Depends-on): Likewise.
4869         * modules/truncl (Depends-on): Likewise.
4870         * modules/uname (Depends-on): Likewise.
4871         * modules/unlink (Depends-on): Likewise.
4872         * modules/unlockpt (Depends-on): Likewise.
4873         * modules/unsetenv (Depends-on): Likewise.
4874         * modules/usleep (Depends-on): Likewise.
4875         * modules/utimensat (Depends-on): Likewise.
4876         * modules/vasprintf (Depends-on): Likewise.
4877         * modules/vdprintf (Depends-on): Likewise.
4878         * modules/vdprintf-posix (Depends-on): Likewise.
4879         * modules/vfprintf-posix (Depends-on): Likewise.
4880         * modules/vprintf-posix (Depends-on): Likewise.
4881         * modules/vsnprintf (Depends-on): Likewise.
4882         * modules/vsnprintf-posix (Depends-on): Likewise.
4883         * modules/vsprintf-posix (Depends-on): Likewise.
4884         * modules/wcrtomb (Depends-on): Likewise.
4885         * modules/wcscasecmp (Depends-on): Likewise.
4886         * modules/wcscspn (Depends-on): Likewise.
4887         * modules/wcsdup (Depends-on): Likewise.
4888         * modules/wcsncasecmp (Depends-on): Likewise.
4889         * modules/wcsnrtombs (Depends-on): Likewise.
4890         * modules/wcspbrk (Depends-on): Likewise.
4891         * modules/wcsrtombs (Depends-on): Likewise.
4892         * modules/wcsspn (Depends-on): Likewise.
4893         * modules/wcsstr (Depends-on): Likewise.
4894         * modules/wcstok (Depends-on): Likewise.
4895         * modules/wcswidth (Depends-on): Likewise.
4896         * modules/wctob (Depends-on): Likewise.
4897         * modules/wctomb (Depends-on): Likewise.
4898         * modules/wctype (Depends-on): Likewise.
4899         * modules/wcwidth (Depends-on): Likewise.
4900         * modules/write (Depends-on): Likewise.
4901
4902 2011-05-03  Bruno Haible  <bruno@clisp.org>
4903
4904         Support for conditional dependencies.
4905         * doc/gnulib.texi (Module description): Document the syntax of
4906         conditional dependencies.
4907         * gnulib-tool: New option --conditional-dependencies.
4908         (func_usage): Document it.
4909         (cond_dependencies): New variable.
4910         (func_get_automake_snippet_conditional,
4911         func_get_automake_snippet_unconditional): New functions, extracted from
4912         func_get_automake_snippet.
4913         (func_get_automake_snippet): Use them.
4914         (sed_first_32_chars): New variable.
4915         (func_module_shellfunc_name): New function.
4916         (func_module_shellvar_name): New function.
4917         (func_module_conditional_name): New function.
4918         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
4919         func_cond_module_condition): New functions.
4920         (func_modules_transitive_closure): Add support for conditional
4921         dependencies.
4922         (func_emit_lib_Makefile_am): For a conditional module, enclose the
4923         conditional automake snippet in an automake conditional.
4924         (func_emit_autoconf_snippets): Emit shell functions that contain the
4925         code for conditional modules.
4926         (func_import, func_create_testdir): Update specification.
4927
4928 2011-05-03  Eric Blake  <eblake@redhat.com>
4929
4930         test-getaddrinfo: report error information
4931         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
4932
4933 2011-05-03  Jim Meyering  <meyering@redhat.com>
4934
4935         bootstrap: avoid build failure when $GZIP is set
4936         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
4937         program name.  If defined at all, it is supposed to list gzip options.
4938         Reported by Alan Curry in http://debbugs.gnu.org/8609
4939
4940 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
4941
4942         readme-release: new module with release instructions
4943         * modules/readme-release: New module.
4944         * top/README-release: New file, from coreutils, grep, diffutils.
4945         * MODULES.html.sh (Support for maintaining and releasing): Add it.
4946
4947 2011-05-02  Eric Blake  <eblake@redhat.com>
4948
4949         fflush: also replace fclose when fixing fflush
4950         * modules/fflush (Depends-on): Add fclose.
4951         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
4952         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
4953         memstreams with no backing fd.
4954         * doc/posix-functions/fclose.texi (fclose): Document the use of
4955         fflush module to fix the bug.
4956         * tests/test-fclose.c (main): Relax test when fclose is used in
4957         isolation.
4958
4959         fclose: add some tests
4960         * modules/fclose-tests: New test module.
4961         * tests/test-fclose.c: New file.
4962         * doc/posix-functions/fclose.texi (fclose): Document the bug.
4963
4964         fclose: reduced dependencies
4965         * modules/fclose (Depends-on): Switch from fflush/fseeko to
4966         simpler lseek.
4967         * lib/fclose.c (rpl_fclose): Likewise.
4968         Reported by Simon Josefsson.
4969
4970         exit: drop remaining clients
4971         * modules/argmatch (Depends-on): Replace exit with stdlib.
4972         * modules/copy-file (Depends-on): Likewise.
4973         * modules/execute (Depends-on): Likewise.
4974         * modules/exitfail (Depends-on): Likewise.
4975         * modules/obstack (Depends-on): Likewise.
4976         * modules/pagealign_alloc (Depends-on): Likewise.
4977         * modules/pipe-filter-gi (Depends-on): Likewise.
4978         * modules/pipe-filter-ii (Depends-on): Likewise.
4979         * modules/savewd (Depends-on): Likewise.
4980         * modules/spawn-pipe (Depends-on): Likewise.
4981         * modules/wait-process (Depends-on): Likewise.
4982         * modules/xsetenv (Depends-on): Likewise.
4983         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
4984         * modules/git-merge-changelog (Depends-on): Likewise.
4985         * modules/long-options (Depends-on): Likewise.
4986         * modules/pt_chown (Depends-on): Likewise.
4987         * modules/sysexits (Depends-on): Likewise.
4988
4989         freading: relax license from LGPLv3+ to LGPLv2+
4990         * modules/freading (License): Relax LGPL version.
4991
4992 2011-05-02  Bruno Haible  <bruno@clisp.org>
4993
4994         fchdir: Remove unused dependencies.
4995         * modules/fchdir (Depends-on): Remove include_next.
4996
4997 2011-05-02  Bruno Haible  <bruno@clisp.org>
4998
4999         gnulib-tool: Refactor.
5000         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
5001         from func_emit_autoconf_snippets.
5002         (func_emit_autoconf_snippets): Use it.
5003
5004 2011-05-02  Simon Josefsson  <simon@josefsson.org>
5005
5006         * NEWS: Document removal of 'exit'.
5007         * modules/exit: Remove file.
5008
5009 2011-05-01  Bruno Haible  <bruno@clisp.org>
5010
5011         Update DEPENDENCIES.
5012         * DEPENDENCIES (gettext): Recommend the newest release.
5013         Reported by Simon Josefsson.
5014
5015 2011-05-01  Bruno Haible  <bruno@clisp.org>
5016
5017         gnulib-tool: Reduce code duplication.
5018         * gnulib-tool (func_emit_autoconf_snippets): New function.
5019         (func_import, func_create_testdir): Use it.
5020
5021 2011-04-30  Eric Blake  <eblake@redhat.com>
5022
5023         fclose: don't fail on non-seekable input stream
5024         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
5025         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
5026         since fflush is allowed to fail in that case.
5027
5028 2011-04-30  Bruno Haible  <bruno@clisp.org>
5029
5030         dup3: cleanup
5031         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
5032
5033 2011-04-30  Bruno Haible  <bruno@clisp.org>
5034
5035         netdb: Make it work in C++ mode.
5036         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
5037         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
5038         module.
5039         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
5040         gl_MODULE_INDICATOR_FOR_TESTS.
5041         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
5042         * modules/netdb-c++-tests: New file.
5043         * tests/test-netdb-c++.cc: New file.
5044
5045 2011-04-30  Bruno Haible  <bruno@clisp.org>
5046
5047         New modules 'vfscanf', 'vscanf'.
5048         * modules/vfscanf: New file.
5049         * modules/vscanf: New file.
5050         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
5051         here.
5052         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
5053         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
5054
5055 2011-04-30  Bruno Haible  <bruno@clisp.org>
5056
5057         passfd: Add comments.
5058         * lib/passfd.c: Add comments about platforms.
5059
5060 2011-04-30  Bruno Haible  <bruno@clisp.org>
5061
5062         sys_uio: Make <sys/uio.h> self-contained.
5063         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
5064         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
5065
5066 2011-04-30  Bruno Haible  <bruno@clisp.org>
5067
5068         sys_socket: Ensure 'struct iovec' definition.
5069         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
5070         <sys/socket.h>.
5071         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
5072
5073 2011-04-30  Bruno Haible  <bruno@clisp.org>
5074
5075         sys_uio: Protect definition of 'struct iovec'.
5076         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
5077         it as a C struct.
5078
5079 2011-04-30  Bruno Haible  <bruno@clisp.org>
5080
5081         manywarnings: fix indentation
5082         * m4/manywarnings.m4: Indent by 2 spaces consistently.
5083
5084 2011-04-30  Pádraig Brady <P@draigBrady.com>
5085
5086         manywarnings: add -Wno-missing-field-initializers if needed.
5087         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
5088         option if it's needed to allow initialization with { 0, }
5089
5090 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
5091
5092         announce-gen: cosmetic improvement
5093         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
5094
5095 2011-04-29  Jim Meyering  <meyering@redhat.com>
5096
5097         vc-list-files: indent with spaces, not TABs
5098         * build-aux/vc-list-files: Convert leading TABs to spaces,
5099         to match the style of most other files in gnulib.
5100
5101         announce-gen: indent with spaces, not TABs
5102         * build-aux/announce-gen: Convert all TABs to spaces, to match
5103         the style of most other files in gnulib.
5104
5105 2011-04-29  Eric Blake  <eblake@redhat.com>
5106
5107         quotearg: avoid uninitialized variable use
5108         * lib/quotearg.c (quoting_options_from_style): Initialize
5109         remaining fields, and ensure that custom styles are only used via
5110         quoting_options rather than quoting_style.
5111
5112 2011-04-29  Jim Meyering  <meyering@redhat.com>
5113
5114         maint.mk: remove unused VC-tag variable
5115         * top/maint.mk (VC-tag): Remove unused variable.
5116
5117 2011-04-29  Bruno Haible  <bruno@clisp.org>
5118
5119         netdb: fix gai_strerror replacements
5120         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
5121         * modules/netdb: Substitute it.
5122
5123 2011-04-29  Jim Meyering  <meyering@redhat.com>
5124
5125         test-getcwd.c: avoid new set-but-not-used warning
5126         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
5127         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
5128         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
5129         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
5130
5131         test-hash.c: avoid a new shadowing warning
5132         * tests/test-hash.c (main): Don't shadow "dup".
5133
5134 2011-04-28  Eric Blake  <eblake@redhat.com>
5135
5136         getaddrinfo: fix gai_strerror signature
5137         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
5138         and work around mingw with UNICODE defined.
5139         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
5140         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
5141         * modules/netdb (Makefile.am): Substitute it.
5142         * lib/netdb.in.h (gai_strerror): Declare replacement.
5143         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
5144         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
5145         the fix.
5146
5147         getsockopt: avoid compiler warning
5148         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
5149         Reported by Matthias Bolte.
5150
5151         tests: drop unused link dependency
5152         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
5153         * modules/dirent-safer-tests (Makefile.am): Likewise.
5154         * modules/fdopendir-tests (Makefile.am): Likewise.
5155         * modules/mkfifoat-tests (Makefile.am): Likewise.
5156         * modules/openat-safer-tests (Makefile.am): Likewise.
5157         * modules/openat-tests (Makefile.am): Likewise.
5158         * modules/readlinkat-tests (Makefile.am): Likewise.
5159         * modules/symlinkat-tests (Makefile.am): Likewise.
5160         * modules/linkat-tests (Makefile.am): Likewise.
5161         (Depends-on): Switch to filenamecat-lgpl.
5162         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
5163         LIBINTL.
5164         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
5165         * tests/test-linkat.c (main): Don't require xalloc.
5166
5167         hash, mgetgroups: drop xalloc dependency
5168         * lib/hash.c (includes): Adjust includes.
5169         * lib/mgetgroups.c (includes): Likewise.
5170         (xgetgroups): Move...
5171         * lib/xgetgroups.c: ...to new file.
5172         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
5173         * modules/xgetgroups: New file, split from...
5174         * modules/mgetgroups: ...here.
5175         (Depends-on): Add xalloc-oversized.
5176         * modules/hash (Depends-on): Likewise.
5177         * modules/hash-tests (Depends-on): Drop xalloc.
5178         (test_hash_LDADD): Drop unused library.
5179         * tests/test-hash.c (main): Break xalloc dependency.
5180         (includes): Drop unused include.
5181
5182         xalloc-oversized: new module
5183         * modules/xalloc-oversized: New module.
5184         * modules/xalloc (Depends-on): Add it.
5185         * lib/xalloc.h (xalloc_oversized): Move...
5186         * lib/xalloc-oversized.h: ...into new file.
5187
5188         utimecmp: drop dependency on xmalloc
5189         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
5190         due to memory pressure.
5191         * modules/utimecmp (Depends-on): Drop xalloc.
5192
5193 2011-04-27  Eric Blake  <eblake@redhat.com>
5194
5195         getcwd: fix mingw bugs
5196         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
5197         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
5198         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
5199
5200 2011-04-27  Bruno Haible  <bruno@clisp.org>
5201
5202         mkstemps: Ensure declaration on MacOS X 10.5.
5203         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
5204         * doc/glibc-functions/mkstemps.texi: Document header file problem on
5205         MacOS X.
5206
5207 2011-04-27  Bruno Haible  <bruno@clisp.org>
5208
5209         mkstemp: More documentation.
5210         * doc/posix-functions/mkstemp.texi: Document header file problem on
5211         MacOS X.
5212
5213 2011-04-27  Bruno Haible  <bruno@clisp.org>
5214
5215         mkstemp: Tweak configure message when cross-compiling.
5216         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
5217         result as a guess.
5218
5219 2011-04-27  Bruno Haible  <bruno@clisp.org>
5220
5221         clean-temp: Clarify what it does.
5222         * lib/clean-temp.h: Add more comments.
5223         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
5224         module.
5225         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
5226         * doc/glibc-functions/mkstemps.texi: Likewise.
5227         * doc/glibc-functions/mkostemps.texi: Likewise.
5228
5229 2011-04-27  Eric Blake  <eblake@redhat.com>
5230
5231         fchdir: avoid extra chdir and fix test
5232         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
5233         getcwd-lgpl.
5234         * lib/fchdir.c (get_name): Any absolute name will do; it does not
5235         have to be canonical.
5236         (canonicalize_file_name): Drop unused macro.
5237         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
5238
5239         filenamecat-lgpl: fix licence
5240         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
5241         when it was first created.
5242
5243         linkat, renameat: add missing dependency
5244         * modules/linkat (Depends-on): Require getcwd-lgpl.
5245         * modules/renameat (Depends-on): Likewise.
5246
5247         tests: reduce dependencies
5248         * tests/test-linkat.c (main): Use lighter-weight getcwd.
5249         * tests/test-renameat.c (main): Likewise.
5250         * modules/linkat-tests (Depends-on): Relax dependency.
5251         * modules/renameat-tests (Depends-on): Likewise.
5252         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
5253         dependency explicit.
5254
5255         save-cwd: reduce default dependency
5256         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
5257         * lib/save-cwd.c: Update comments.
5258         * NEWS: Document the semantic change.
5259
5260         getcwd: enhance tests
5261         * tests/test-getcwd-lgpl.c: New file, taken from...
5262         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
5263         repeat long path stress tests from m4 probe.
5264         * modules/getcwd-lgpl-tests: New module.
5265         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
5266         * m4/getcwd-abort-bug.m4: Update comment.
5267         * m4/getcwd-path-max.m4: Likewise.
5268
5269         getcwd-lgpl: new module
5270         * modules/getcwd-lgpl: New module.
5271         * lib/getcwd-lgpl.c: New file.
5272         * doc/posix-functions/getcwd.texi (getcwd): Document it.
5273         * MODULES.html.sh (lacking POSIX:2008): Likewise.
5274         * modules/getcwd (configure.ac): Set C witness.
5275         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
5276
5277         getcwd: tweak comments
5278         * m4/getcwd-abort-bug.m4: Fix comments.
5279         * m4/getcwd-path-max.m4: Likewise.
5280         * m4/getcwd.m4: Likewise.
5281
5282 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
5283         and Eric Blake  <eblake@redhat.com>
5284
5285         mkstemp: replace if system version uses wrong permissions
5286         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
5287         read/write mode bits set in file created by mkstemp.
5288         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
5289
5290 2011-04-27  Eric Blake  <eblake@redhat.com>
5291
5292         passfd: avoid compiler warning
5293         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
5294         Reported by Laine Stump.
5295
5296 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
5297
5298         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
5299         required by the NetBSD (and perhaps other 4.4BSD derived) join.
5300
5301 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
5302         and Eric Blake  <eblake@redhat.com>
5303
5304         mkstemp: mention clean-temp module
5305         * lib/mkstemp.c: Add comment.
5306         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
5307
5308 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
5309
5310         inttypes: also provide default values for 32-bit tests
5311         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
5312         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
5313
5314 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
5315
5316         strtoumax: remove dependency on strtoimax
5317         This is like the strtoull change of yesterday.
5318         * modules/strtoumax (Files): Add lib/strtoimax.c.
5319         (Depends-on): Remove strtoimax and add verify.
5320
5321         inttypes-incomplete: new module
5322         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
5323         all but the PRI* and SCN* parts of gl_INTTYPES_H.
5324         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
5325         of gl_INTTYPES_H.
5326         (gl_INTTYPES_H): Rewrite in terms of these new macros.
5327         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
5328         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
5329         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
5330         * modules/strtoumax, modules/xstrtol (Depends-on):
5331         Depend on inttypes-incomplete, not inttypes.
5332         * modules/inttypes-incomplete: New module, containing the contents
5333         of the old modules/inttypes module, except that the Files: section
5334         omits m4/inttypes-pri.m4, and the configure.ac section invokes
5335         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
5336         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
5337         (Depends-on): Depend only on inttypes-incomplete.
5338         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
5339
5340         inttypes: omit now-redundant strtoimax and strtoumax work
5341         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
5342         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
5343
5344         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
5345         This supports apps that need pointers to strtoimax and strtoumax,
5346         and ports to HP-UX 11.00 64.bit, which has macros that expand to
5347         nonexistent functions.  See
5348         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
5349         et seq.
5350         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
5351         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
5352         a macro.
5353         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
5354
5355 2011-04-25  Simon Josefsson  <simon@josefsson.org>
5356
5357         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
5358
5359 2011-04-25  Bruno Haible  <bruno@clisp.org>
5360
5361         strtol, strtoul: Mark modules as obsolete.
5362         * modules/strtol (Status, Notice): New sections.
5363         * modules/strtoul (Status, Notice): New sections.
5364
5365 2011-04-25  Bruno Haible  <bruno@clisp.org>
5366
5367         strtod: Remove check for strtod, unless supporting old platforms.
5368         * modules/strtod-obsolete: New file.
5369         * m4/strtod-obsolete.m4: New file.
5370         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
5371         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
5372         * modules/strtod (Depends-on): Add strtod-obsolete.
5373         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
5374
5375 2011-04-25  Bruno Haible  <bruno@clisp.org>
5376
5377         strcase: Make module obsolete.
5378         * modules/strcase (Status, Notice): New sections.
5379
5380 2011-04-25  Bruno Haible  <bruno@clisp.org>
5381
5382         dup2: Remove check for dup2, unless supporting old obsolete platforms.
5383         * modules/dup2-obsolete: New file.
5384         * m4/dup2-obsolete.m4: New file.
5385         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
5386         gl_FUNC_DUP2_OBSOLETE is not also defined.
5387         * modules/dup2 (Depends-on): Add dup2-obsolete.
5388         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
5389
5390 2011-04-25  Bruno Haible  <bruno@clisp.org>
5391
5392         strnlen: Avoid memchr related link error on old obsolete platforms.
5393         * modules/memchr-obsolete: New file.
5394         * m4/memchr-obsolete.m4: New file.
5395         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
5396         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
5397         * modules/memchr (Depends-on): Add memchr-obsolete.
5398         * modules/strnlen (Depends-on): Likewise.
5399         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
5400
5401 2011-04-25  Jim Meyering  <meyering@redhat.com>
5402
5403         maint.mk: makefile_at_at_check extend and clean up
5404         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
5405         in addition to */Makefile.am.
5406         Exempt legitimate uses of @VAR@ notation, e.g.,
5407         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
5408         Remove obsolete coreutils-specific comment.
5409         Prompted by discussion here:
5410         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
5411
5412 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
5413
5414         strtoul: remove dependency on strtol
5415         This is so that 'configure' need not check for strtol merely because
5416         the application needs strtoul.
5417         * modules/strtoul (Files): Add lib/strtol.c.
5418         (Depends-on): Remove strtol.
5419
5420         strtoull: remove dependency on strtoul
5421         This is like the strtoll change.
5422         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
5423         (Depends-on): Remove strtoul.
5424
5425         strtoll: remove dependency on strtol
5426         This is so that 'configure' need not check for strtol merely because
5427         the application needs strtoll.
5428         * modules/strtoll (Files): Add lib/strtol.c.
5429         (Depends-on): Remove strtol.
5430
5431 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
5432
5433         inttypes: Move some configure check to module 'imaxdiv'.
5434         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
5435         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
5436         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
5437
5438 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
5439
5440         inttypes: Move some configure check to module 'imaxabs'.
5441         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
5442         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
5443         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
5444
5445 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
5446
5447         inttypes: Remove configure tests that are not needed since 2009-12-31.
5448         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
5449         gl_cv_header_working_inttypes_h.
5450
5451 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
5452
5453         * modules/strnlen (Depends-on): Remove memchr.
5454         The strnlen implementation doesn't need the memchr module's fixes; see
5455         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
5456
5457         strtol: remove dependency on wchar
5458         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
5459         * modules/strtol (Depends-on): Remove wchar.
5460
5461 2011-04-21  Eric Blake  <eblake@redhat.com>
5462
5463         passfd: fix test regression on Linux
5464         * modules/passfd-tests (configure.ac): Correct socketpair check.
5465
5466         passfd: speed up configure and drop unused code
5467         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
5468         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
5469         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
5470         Instead of probing at configure for unix_scm_rights_bsd44_way,
5471         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
5472         check to a struct member probe.
5473         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
5474         (sendfd, recvfd): Update preprocessor checks.
5475         * modules/passfd (Files): Reflect rename, and drop unused file.
5476         (Depends-on): Drop unused dependency.
5477
5478         passfd: allow compilation on mingw
5479         * modules/sys_socket (Depends-on): Add sys_uio.
5480         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
5481         iovec and a minimal struct msghdr.
5482         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
5483         * tests/test-sys_socket.c (main): Enhance test.
5484         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
5485         guaranteed to provide what we need.
5486         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
5487         * modules/passfd-tests (Depends-on): Add sys_wait.
5488         * tests/test-passfd.c (main): Skip test on mingw, for now.
5489         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
5490         partial 'struct msghdr' implementation.
5491
5492         sys_uio: new module
5493         * modules/sys_uio: New module.
5494         * modules/sys_uio-tests: Likewise.
5495         * lib/sys_uio.in.h: New file.
5496         * m4/sys_uio_h.m4: Likewise.
5497         * tests/test-sys_uio.c: Likewise.
5498         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
5499         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
5500
5501 2011-04-20  Jim Meyering  <meyering@redhat.com>
5502
5503         useless-if-before-free: avoid false-positive
5504         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
5505         disjunct so that it too requires a terminating ";".  Without that,
5506         this script would identify as useless one statement from gcc that
5507         was not:
5508           if (aligned_ptr)
5509             free (((void **) aligned_ptr) [-1]);
5510
5511 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
5512
5513         doc: update users.txt.
5514         * users.txt: Add barcode.
5515
5516 2011-04-19  Bruno Haible  <bruno@clisp.org>
5517
5518         ioctl: Remove link dependency on native Windows.
5519         * lib/fd-hook.h: Renamed from lib/close-hook.h.
5520         (gl_close_fn, gl_ioctl_fn): New types.
5521         (struct fd_hook): Renamed from struct close_hook. Change type of
5522         private_close_fn field. Add private_ioctl_fn field.
5523         (close_hook_fn): Add parameter for primary close method.
5524         (execute_close_hooks, execute_all_close_hooks): Likewise.
5525         (ioctl_hook_fn): New type.
5526         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
5527         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
5528         argument.
5529         (unregister_fd_hook): Renamed from unregister_close_hook.
5530         * lib/fd-hook.c: Renamed from lib/close-hook.c.
5531         Don't include <unistd.h>.
5532         (close): Remove undef.
5533         (anchor): Update.
5534         (execute_close_hooks): Add argument for primary close method.
5535         (execute_all_close_hooks): Likewise.
5536         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
5537         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
5538         argument. Allow each argument to be NULL.
5539         (unregister_fd_hook): Renamed from unregister_close_hook.
5540         * lib/close.c (rpl_close): Pass 'close' function pointer to
5541         execute_all_close_hooks.
5542         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
5543         (primary_ioctl): New function.
5544         (ioctl): Don't call ioctlsocket here. Instead, call
5545         execute_all_ioctl_hooks.
5546         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
5547         close method.
5548         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
5549         (fd_sockets_hook): Renamed from close_sockets_hook.
5550         (gl_sockets_startup, gl_sockets_cleanup): Update.
5551         * modules/fd-hook: Renamed from modules/close-hook. Update.
5552         * modules/close (Depends-on): Add fd-hook, remove close-hook.
5553         * modules/sockets (Depends-on): Likewise.
5554         * modules/ioctl (Depends-on): Add fd-hook.
5555         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
5556         GNULIB_SOCKET.
5557
5558 2011-04-19  Bruno Haible  <bruno@clisp.org>
5559
5560         Move the support of O_NONBLOCK in open() to the 'open' module.
5561         * modules/nonblocking (Depends-on): Remove 'open'.
5562         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
5563         gl_cv_have_open_O_NONBLOCK.
5564         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
5565         O_NONBLOCK support.
5566         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
5567
5568 2011-04-17  Bruno Haible  <bruno@clisp.org>
5569
5570         pipe2: Simplify code.
5571         * lib/pipe2.c (pipe2): Reduce code duplication.
5572
5573 2011-04-17  Bruno Haible  <bruno@clisp.org>
5574
5575         nonblocking: Add comment.
5576         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
5577
5578 2011-04-17  Bruno Haible  <bruno@clisp.org>
5579
5580         nonblocking: Add tests for sockets.
5581         * tests/test-nonblocking-socket.sh: New file.
5582         * tests/test-nonblocking-socket-main.c: New file.
5583         * tests/test-nonblocking-socket-child.c: New file.
5584         * tests/test-nonblocking-socket.h: New file.
5585         * tests/socket-server.h: New file.
5586         * tests/socket-client.h: New file.
5587         * modules/nonblocking-socket-tests: New file.
5588         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
5589
5590 2011-04-17  Bruno Haible  <bruno@clisp.org>
5591
5592         nonblocking: Add tests for pipes.
5593         * tests/test-nonblocking-pipe.sh: New file.
5594         * tests/test-nonblocking-pipe-main.c: New file.
5595         * tests/test-nonblocking-pipe-child.c: New file.
5596         * tests/test-nonblocking-pipe.h: New file.
5597         * tests/test-nonblocking-writer.h: New file.
5598         * tests/test-nonblocking-reader.h: New file.
5599         * tests/test-nonblocking-misc.h: New file.
5600         * modules/nonblocking-pipe-tests: New file.
5601         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
5602
5603 2011-04-16  Bruno Haible  <bruno@clisp.org>
5604
5605         gettext: Clarify the needed programmer actions.
5606         * modules/gettext (Notice): New field.
5607         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
5608
5609 2011-04-16  Bruno Haible  <bruno@clisp.org>
5610
5611         strchrnul: Tweak last commit.
5612         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
5613         bug.
5614         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
5615         as in _GL_FUNCDECL_SYS.
5616         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
5617         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
5618
5619 2011-04-15  Eric Blake  <eblake@redhat.com>
5620
5621         strchrnul: work around cygwin bug
5622         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
5623         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
5624         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
5625         * modules/string (Makefile.am): Substitute it.
5626         * lib/string.in.h (strchrnul): Use it.
5627
5628 2011-04-15  Bruno Haible  <bruno@clisp.org>
5629
5630         Don't require lib/stdio-write.c when only module 'stdio' is used.
5631         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
5632         invocation.
5633         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
5634
5635 2011-04-14  Bruno Haible  <bruno@clisp.org>
5636
5637         Support non-blocking pipe I/O in read() on native Windows.
5638         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
5639         (read): New declaration.
5640         * lib/read.c: New file.
5641         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
5642         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
5643         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
5644         vscanf): New declarations.
5645         * lib/stdio-read.c: New file.
5646         * m4/read.m4: New file.
5647         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
5648         REPLACE_READ.
5649         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
5650         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
5651         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
5652         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
5653         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
5654         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
5655         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
5656         * modules/read: New file.
5657         * modules/nonblocking (Files): Add lib/stdio-read.c.
5658         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
5659         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
5660         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
5661         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
5662         * modules/pread (Depends-on): Add read.
5663         * modules/safe-read (Depends-on): Likewise.
5664         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
5665         gets, scanf, vfscanf, vscanf): Verify signatures.
5666         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
5667         problem with non-blocking pipes.
5668         * doc/posix-functions/fgetc.texi: Likewise.
5669         * doc/posix-functions/fgets.texi: Likewise.
5670         * doc/posix-functions/fread.texi: Likewise.
5671         * doc/posix-functions/fscanf.texi: Likewise.
5672         * doc/posix-functions/getc.texi: Likewise.
5673         * doc/posix-functions/getchar.texi: Likewise.
5674         * doc/posix-functions/gets.texi: Likewise.
5675         * doc/posix-functions/scanf.texi: Likewise.
5676         * doc/posix-functions/vfscanf.texi: Likewise.
5677         * doc/posix-functions/vscanf.texi: Likewise.
5678
5679 2011-04-14  Bruno Haible  <bruno@clisp.org>
5680
5681         Support non-blocking pipe I/O in write() on native Windows.
5682         * lib/write.c (rpl_write): Split a write request that failed merely
5683         because the byte count was larger than the pipe buffer's size.
5684         * doc/posix-functions/write.texi: Mention the problem with large byte
5685         counts.
5686
5687 2011-04-14  Bruno Haible  <bruno@clisp.org>
5688
5689         wchar: Ensure that wchar_t gets defined on uClibc.
5690         * lib/wchar.in.h: On uClibc, include <stddef.h>.
5691         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
5692
5693 2011-04-13  Bruno Haible  <bruno@clisp.org>
5694
5695         safe-write, full-read: Avoid unnecessary compilation units.
5696         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
5697         (Depends-on): Remove safe-read. Add ssize_t.
5698         * modules/full-read (Files): Add lib/full-write.c.
5699         (Depends-on): Add full-write.
5700
5701 2011-04-13  Bruno Haible  <bruno@clisp.org>
5702
5703         Support non-blocking pipe I/O and SIGPIPE in pwrite().
5704         * modules/pwrite (Depends-on): Add 'write'.
5705
5706 2011-04-13  Bruno Haible  <bruno@clisp.org>
5707
5708         Support non-blocking pipe I/O in write() on native Windows.
5709         * lib/unistd.in.h (write): Enable replacement also if
5710         GNULIB_UNISTD_H_NONBLOCKING is 1.
5711         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
5712         (rpl_write): When failing to write on a non-blocking pipe, change
5713         errno from ENOSPC to EAGAIN.
5714         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
5715         putchar, puts, vfprintf, vprintf): Enable replacement also if
5716         GNULIB_STDIO_H_NONBLOCKING is 1.
5717         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
5718         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
5719         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
5720         CALL_WITH_SIGPIPE_EMULATION.
5721         (CALL_WITH_SIGPIPE_EMULATION): Use them.
5722         * m4/nonblocking.m4: New file.
5723         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
5724         for non-blocking I/O support.
5725         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
5726         GNULIB_UNISTD_H_NONBLOCKING.
5727         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
5728         required for non-blocking I/O support.
5729         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
5730         * modules/nonblocking (Files): Add m4/nonblocking.m4,
5731         lib/stdio-write.c, m4/asm-underscore.m4.
5732         (Depends-on): Add stdio, unistd.
5733         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
5734         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
5735         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
5736         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
5737         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
5738         problem with non-blocking pipes.
5739         * doc/posix-functions/fputc.texi: Likewise.
5740         * doc/posix-functions/fputs.texi: Likewise.
5741         * doc/posix-functions/fwrite.texi: Likewise.
5742         * doc/posix-functions/printf.texi: Likewise.
5743         * doc/posix-functions/putc.texi: Likewise.
5744         * doc/posix-functions/putchar.texi: Likewise.
5745         * doc/posix-functions/puts.texi: Likewise.
5746         * doc/posix-functions/vfprintf.texi: Likewise.
5747         * doc/posix-functions/vprintf.texi: Likewise.
5748         * doc/posix-functions/write.texi: Likewise.
5749
5750 2011-04-10  Jim Meyering  <meyering@redhat.com>
5751
5752         maint.mk: prohibit doubled words
5753         Detect them also when they're separated by a newline.
5754         There are 3 ways to customize it:
5755           - disable the test on a per file basis, as usual with rules using
5756             $(VC_LIST_EXCEPT)
5757           - replace the default doubled-word-selecting regexp (affects all files)
5758           - ignore a particular file-vs-doubled-word match
5759         I nearly used that last one to ignore the "is is" match in
5760         coreutils' NEWS file, since the text was "ls -is is ..."
5761         To do that, I would have added this line to cfg.mk:
5762           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
5763         but it would have ignored any "is is" match in NEWS.
5764         Low probability, but still...
5765         Instead, I changed the text, slightly:
5766           -  ls -is is now consistent with ls -lis in ignoring values returned
5767           +  "ls -is" is now consistent with ls -lis in ignoring values returned
5768         * top/maint.mk (prohibit_double_word_RE_): Provide default.
5769         (prohibit_doubled_word_): Define.
5770         (sc_prohibit_doubled_word): New rule.
5771         (sc_prohibit_the_the): Remove.  Subsumed by the above.
5772
5773 2011-04-10  Jim Meyering  <meyering@redhat.com>
5774
5775         maint: fix doubled-word typo in comment
5776         * m4/gethostname.m4: s/is is/it is/
5777         * m4/getdomainname.m4: Likewise.
5778
5779 2011-04-10  Jim Meyering  <meyering@redhat.com>
5780
5781         maint: remove doubled word: s/it it/it/
5782         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
5783
5784 2011-04-10  Jim Meyering  <meyering@redhat.com>
5785
5786         maint.mk: remove useless semicolon and backslash
5787         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
5788         semicolon and backslash.
5789
5790 2011-04-10  Bruno Haible  <bruno@clisp.org>
5791
5792         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
5793         * modules/stdint-tests (Depends-on): Add wchar.
5794
5795 2011-04-10  Jim Meyering  <meyering@redhat.com>
5796
5797         maint: remove doubled words in comments, e.g., s/a a/a/
5798         * lib/strptime.c (day_of_the_week): s/the the/the/
5799         * tests/test-chown.h (test_chown): s/a a/a/
5800
5801         test-chown.h: correct a cast
5802         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
5803         when the destination is a stat.st_gid.
5804
5805 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
5806
5807         getaddrinfo: Fix test for sa_len member.
5808         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
5809         include <sys/types.h> before <sys/socket.h>.
5810
5811 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
5812
5813         maint: change "can not" to "cannot"
5814         * doc/posix-functions/iconv.texi (iconv): This one crossed line
5815         boundaries.
5816
5817 2011-04-09  Jim Meyering  <meyering@redhat.com>
5818
5819         maint: change "a a" to "a"
5820         * tests/test-lchown.h (test_lchown): s/a a/a/
5821
5822         maint.mk: prohibit \<the the\>
5823         * top/maint.mk (sc_prohibit_the_the): New rule.
5824
5825         maint: fix "the the" in comment
5826         * lib/count-one-bits.h: s/the the/the/
5827
5828         maint: change "can not" to "cannot"
5829         But do not change the occurrences in maintain.texi or in
5830         build-aux/po/Makefile.in.in, which I presume comes from gettext.
5831         * doc/gnulib-tool.texi: s/can not/cannot/
5832         * doc/posix-functions/accept.texi (accept): Likewise.
5833         * doc/posix-functions/socket.texi (socket): Likewise.
5834         * lib/mbrtowc.c: Likewise.
5835
5836         maint.mk: prohibit use of "can not"
5837         * top/maint.mk (sc_prohibit_can_not): New rule.
5838         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
5839
5840 2011-04-09  Bruno Haible  <bruno@clisp.org>
5841
5842         careadlinkat: Guard against misuse of careadlinkatcwd.
5843         * lib/careadlinkat.c: Include <stdlib.h>.
5844         (careadlinkatcwd): Check that the fd argument is as expected.
5845
5846 2011-04-09  Bruno Haible  <bruno@clisp.org>
5847
5848         careadlinkat: Use common coding style.
5849         * lib/careadlinkat.c: Move gnulib includes after system includes.
5850
5851 2011-04-09  Bruno Haible  <bruno@clisp.org>
5852
5853         careadlinkat: Clarify specification.
5854         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
5855         (careadlinkatcwd): Add comment.
5856         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
5857
5858 2011-04-09  Bruno Haible  <bruno@clisp.org>
5859
5860         areadlinkat: Avoid link error on many platforms.
5861         * modules/areadlinkat (Depends-on): Add areadlink.
5862
5863 2011-04-09  Bruno Haible  <bruno@clisp.org>
5864
5865         allocator, careadlinkat: Fix double-inclusion guard.
5866         * lib/allocator.h: Fix double-inclusion guard.
5867         * lib/careadlinkat.h: Likewise.
5868
5869 2011-04-09  Bruno Haible  <bruno@clisp.org>
5870
5871         relocatable-prog-wrapper: Update after module 'areadlink' changed.
5872         * lib/relocwrapper.c: Update dependencies hierarchy.
5873         * build-aux/install-reloc: Update list of files to be compiled.
5874         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
5875         lib/allocator.[hc].
5876
5877 2011-04-08  Eric Blake  <eblake@redhat.com>
5878
5879         strftime: silence gnulib-tool warning
5880         * modules/strftime-tests (Depends-on): Drop automatic dependency.
5881
5882 2011-04-08  Bruno Haible  <bruno@clisp.org>
5883
5884         verify: Fix syntax error with GCC 4.6 in C++ mode.
5885         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
5886         (HAVE_STATIC_ASSERT): New macro.
5887         (verify_true, verify): Use 'static_assert' if it is supported and
5888         '_Static_assert' is not supported.
5889
5890 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
5891
5892         allocator: New module.
5893         * modules/allocator, lib/allocator.c: New files.
5894         * lib/allocator.h (stdlib_allocator): New decl.
5895         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
5896         Remove.  Do not include <stdlib.h>.
5897         (careadlinkat): Use stdlib_allocator instead of rolling our own.
5898         * modules/careadlinkat (Files): Remove lib/allocator.h.
5899         (Depends-on): Add allocator.
5900
5901         stdlib: let modules use system malloc, realloc
5902         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
5903         if !_GL_USE_STDLIB_ALLOC.
5904         (malloc, realloc): Limit this change to a smaller scope.
5905
5906         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
5907         (malloc, realloc): Don't #undef; no longer needed.
5908         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
5909         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
5910         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
5911         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
5912         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
5913         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
5914         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
5915         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
5916
5917         careadlinkat: rename members to avoid problem
5918         * lib/allocator.h (struct allocator): Rename members from
5919         malloc/realloc to allocate/reallocate, to avoid problems if malloc
5920         and realloc are #define'd.  Reported by Eric Blake in
5921         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
5922         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
5923
5924 2011-04-08  Eric Blake  <eblake@redhat.com>
5925
5926         nonblocking: reduce dependency
5927         * tests/test-nonblocking.c: Only test sockets when in use.
5928         * modules/nonblocking-tests (Depends-on): Drop socket.
5929         (Makefile.am): Link even if sockets are not present.
5930         * modules/pipe2-tests (Makefile.am): Likewise.
5931         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
5932
5933         pipe2: fix O_NONBLOCK support on mingw
5934         * modules/pipe2 (Depends-on): Add nonblocking.
5935         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
5936         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
5937         * tests/test-nonblocking.c (main): Likewise.
5938         * modules/pipe2-tests (Makefile.am): Avoid link failure.
5939
5940         fcntl-h: fix O_ACCMODE on cygwin
5941         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
5942         * lib/fcntl.in.h (O_ACCMODE): Fix it.
5943
5944         pipe-filter: drop O_NONBLOCK workarounds
5945         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
5946         * modules/pipe-filter-ii (Depends-on): Likewise.
5947         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
5948
5949         nonblocking: provide O_NONBLOCK for mingw
5950         * modules/nonblocking (Depends-on): Add open.
5951         (configure.ac): Set new witness macro.
5952         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
5953         * modules/fcntl-h (Makefile.am): Substitute it.
5954         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
5955         nonblocking module is in use.
5956         * lib/nonblocking.c: Adjust portability test.
5957         * lib/open.c (open): Don't let native open see gnulib flag.
5958         * tests/test-fcntl-h.c (main): Enhance test.
5959         * tests/test-open.h (test_open): Likewise.
5960         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
5961
5962         careadlinkat: fix compilation error on mingw
5963         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
5964         within struct allocator.
5965
5966 2011-04-06  Eric Blake  <eblake@redhat.com>
5967
5968         binary-io: relicense under LGPLv2+
5969         * modules/binary-io (License): Relax to LGPLv2+.
5970         Requested for libvirt, and required by pipe2.
5971
5972 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
5973
5974         verify: use _Static_assert if available
5975         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
5976         (verify_true, verify): Use it if available.  This generates better
5977         diagnostics with GCC 4.6.0 and later.
5978
5979 2011-04-05  Bruno Haible  <bruno@clisp.org>
5980
5981         Remove leftover generated .h files after config.status changed.
5982
5983         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
5984         GL_GENERATE_ALLOCA_H.
5985         * modules/alloca-opt (Makefile.am): Remove alloca.h if
5986         GL_GENERATE_ALLOCA_H evaluates to false.
5987
5988         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
5989         GL_GENERATE_ARGZ_H.
5990         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
5991         evaluates to false.
5992
5993         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
5994         GL_GENERATE_BYTESWAP_H.
5995         * modules/byteswap (Makefile.am): Remove byteswap.h if
5996         GL_GENERATE_BYTESWAP_H evaluates to false.
5997
5998         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
5999         GL_GENERATE_ERRNO_H.
6000         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
6001         evaluates to false.
6002
6003         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
6004         GL_GENERATE_FLOAT_H.
6005         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
6006         evaluates to false.
6007
6008         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
6009         GL_GENERATE_FNMATCH_H.
6010         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
6011         GL_GENERATE_FNMATCH_H evaluates to false.
6012
6013         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
6014         GL_GENERATE_GLOB_H.
6015         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
6016         evaluates to false.
6017
6018         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
6019         automake conditional GL_GENERATE_ICONV_H.
6020         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
6021         evaluates to false.
6022
6023         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
6024         GL_GENERATE_NETINET_IN_H.
6025         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
6026         GL_GENERATE_NETINET_IN_H evaluates to false.
6027
6028         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
6029         conditional GL_GENERATE_PTHREAD_H.
6030         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
6031         * modules/pthread (Makefile.am): Remove pthread.h if
6032         GL_GENERATE_PTHREAD_H evaluates to false.
6033
6034         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
6035         GL_GENERATE_SCHED_H.
6036         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
6037         evaluates to false.
6038
6039         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
6040         conditional GL_GENERATE_SELINUX_CONTEXT_H.
6041         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
6042         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
6043
6044         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
6045         GL_GENERATE_STDARG_H.
6046         * modules/stdarg (Makefile.am): Remove stdarg.h if
6047         GL_GENERATE_STDARG_H evaluates to false.
6048
6049         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
6050         GL_GENERATE_STDBOOL_H.
6051         * modules/stdbool (Makefile.am): Remove stdbool.h if
6052         GL_GENERATE_STDBOOL_H evaluates to false.
6053
6054         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
6055         conditional GL_GENERATE_STDDEF_H.
6056         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
6057         * modules/stddef (Makefile.am): Remove stddef.h if
6058         GL_GENERATE_STDDEF_H evaluates to false.
6059
6060         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
6061         GL_GENERATE_STDINT_H.
6062         * modules/stdint (Makefile.am): Remove stdint.h if
6063         GL_GENERATE_STDINT_H evaluates to false.
6064
6065         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
6066         GL_GENERATE_SYSEXITS_H.
6067         * modules/sysexits (Makefile.am): Remove sysexits.h if
6068         GL_GENERATE_SYSEXITS_H evaluates to false.
6069
6070         Reported by Karl Berry and Ralf Wildenhues.
6071
6072 2011-04-05  Bruno Haible  <bruno@clisp.org>
6073
6074         Ensure to rebuild generated .h files when config.status has changed.
6075         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
6076         config.status.
6077         * modules/ctype (Makefile.am): Likewise.
6078         * modules/dirent (Makefile.am): Likewise.
6079         * modules/errno (Makefile.am): Likewise.
6080         * modules/fcntl-h (Makefile.am): Likewise.
6081         * modules/float (Makefile.am): Likewise.
6082         * modules/getopt-posix (Makefile.am): Likewise.
6083         * modules/glob (Makefile.am): Likewise.
6084         * modules/iconv-h (Makefile.am): Likewise.
6085         * modules/inttypes (Makefile.am): Likewise.
6086         * modules/langinfo (Makefile.am): Likewise.
6087         * modules/locale (Makefile.am): Likewise.
6088         * modules/math (Makefile.am): Likewise.
6089         * modules/netdb (Makefile.am): Likewise.
6090         * modules/netinet_in (Makefile.am): Likewise.
6091         * modules/poll-h (Makefile.am): Likewise.
6092         * modules/pthread (Makefile.am): Likewise.
6093         * modules/pty (Makefile.am): Likewise.
6094         * modules/sched (Makefile.am): Likewise.
6095         * modules/search (Makefile.am): Likewise.
6096         * modules/selinux-h (Makefile.am): Likewise.
6097         * modules/signal (Makefile.am): Likewise.
6098         * modules/spawn (Makefile.am): Likewise.
6099         * modules/stdarg (Makefile.am): Likewise.
6100         * modules/stdbool (Makefile.am): Likewise.
6101         * modules/stddef (Makefile.am): Likewise.
6102         * modules/stdint (Makefile.am): Likewise.
6103         * modules/stdio (Makefile.am): Likewise.
6104         * modules/stdlib (Makefile.am): Likewise.
6105         * modules/string (Makefile.am): Likewise.
6106         * modules/strings (Makefile.am): Likewise.
6107         * modules/sys_file (Makefile.am): Likewise.
6108         * modules/sys_ioctl (Makefile.am): Likewise.
6109         * modules/sys_select (Makefile.am): Likewise.
6110         * modules/sys_socket (Makefile.am): Likewise.
6111         * modules/sys_stat (Makefile.am): Likewise.
6112         * modules/sys_time (Makefile.am): Likewise.
6113         * modules/sys_times (Makefile.am): Likewise.
6114         * modules/sys_utsname (Makefile.am): Likewise.
6115         * modules/sys_wait (Makefile.am): Likewise.
6116         * modules/sysexits (Makefile.am): Likewise.
6117         * modules/termios (Makefile.am): Likewise.
6118         * modules/time (Makefile.am): Likewise.
6119         * modules/unistd (Makefile.am): Likewise.
6120         * modules/wchar (Makefile.am): Likewise.
6121         * modules/wctype-h (Makefile.am): Likewise.
6122         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
6123
6124 2011-04-05  Bruno Haible  <bruno@clisp.org>
6125
6126         pipe2: Relicense under LGPLv2+.
6127         * modules/pipe2 (License): Change to LGPLv2+.
6128         Requested by Eric Blake, for libvirt.
6129
6130 2011-04-05  Bruce Korb  <bkorb@gnu.org>
6131
6132         bootstrap: compute gnulib_extra_files after updating build_aux
6133         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
6134         change build_aux or also supply gnulib_extra_files.  Handle correctly.
6135
6136 2011-04-05  Eric Blake  <eblake@redhat.com>
6137
6138         bootstrap: preserve git whitelist item sorting
6139         * build-aux/bootstrap (sort_patterns): New function.
6140         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
6141
6142 2011-04-05  Simon Josefsson  <simon@josefsson.org>
6143
6144         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
6145         sc_space_tab check.
6146
6147 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
6148
6149         areadlink, areadlinkat: rewrite in terms of careadlinkat
6150         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
6151         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
6152         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
6153         (malloc, realloc): Remove #undefs.
6154         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
6155         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
6156         readlink, ssize_t, stdint, unistd.
6157         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
6158         areadlink, stdint.
6159
6160         careadlinkat: new module
6161         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
6162         * modules/careadlinkat: New files, written by me with
6163         a review and feedback from Ben Pfaff in
6164         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
6165
6166 2011-04-01  Bruno Haible  <bruno@clisp.org>
6167
6168         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
6169         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
6170         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
6171         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
6172         Reported by Bruce Korb <bruce.korb@gmail.com>.
6173
6174 2011-04-01  Bruno Haible  <bruno@clisp.org>
6175
6176         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
6177         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
6178         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
6179         * modules/wcpcpy (Depends-on): Add extensions.
6180         * modules/wcpncpy (Depends-on): Likewise.
6181         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
6182         systems.
6183         * doc/posix-functions/wcpncpy.texi: Likewise.
6184         * doc/posix-functions/wcwidth.texi: Likewise.
6185
6186 2011-03-31  Eric Blake  <eblake@redhat.com>
6187
6188         nonblocking: fix mingw test failures
6189         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
6190         non-blocking flag on regular file.
6191         (get_nonblocking_flag): Set errno on invalid fd.
6192         * tests/test-nonblocking.c (main): Avoid test failure on
6193         directories if fchdir is not active.
6194         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
6195
6196 2011-03-31  Bruno Haible  <bruno@clisp.org>
6197
6198         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
6199         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
6200         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
6201         Reported by Simon Josefsson <simon@josefsson.org>.
6202
6203 2011-03-31  Bruno Haible  <bruno@clisp.org>
6204         and Eric Blake  <eblake@redhat.com>
6205
6206         nonblocking: new module
6207         * modules/nonblocking: New module.
6208         * modules/nonblocking-tests: Likewise.
6209         * lib/nonblocking.h: New file.
6210         * lib/nonblocking.c: Likewise.
6211         * tests/test-nonblocking.c: New test.
6212         * lib/ioctl.c (ioctl) [mingw]: Update comment.
6213
6214 2011-03-30  Bruno Haible  <bruno@clisp.org>
6215
6216         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
6217         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
6218         instead of 'printf' format for GCC >= 4.4.
6219         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
6220         (fprintf, printf, vfprintf, vprintf): Declare with
6221         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
6222         the system's vfprintf() function.
6223         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
6224
6225 2011-03-30  Eric Blake  <eblake@redhat.com>
6226
6227         passfd: fix scoping bug
6228         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
6229         before sendmsg/recvmsg.
6230
6231         passfd: standardize coding conventions
6232         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
6233         can be learned at compile time.
6234         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
6235         ifdefs.
6236         (sendfd, recvfd): Follow gnulib code conventions.
6237
6238         passfd: fix incorrect sendmsg arguments
6239         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
6240         incorrect msg_controllen value.
6241         * modules/passfd-tests (Depends-on): Check for alarm.
6242         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
6243         Reported by Bastien ROUCARIES.
6244
6245 2011-03-30  Bruno Haible  <bruno@clisp.org>
6246
6247         c-strcasestr: Relicense under LGPLv2+.
6248         * modules/c-strcasestr (License): Change to LGPLv2+.
6249         Requested by Eric Blake, for libvirt.
6250
6251 2011-03-30  Simon Josefsson  <simon@josefsson.org>
6252
6253         * users.txt: Add libidn2.  Fix libtasn1 link.
6254
6255 2011-03-30  Jim Meyering  <meyering@redhat.com>
6256
6257         tests: readlink* ("",... fails with EINVAL on newer kernels
6258         readlink and readlinkat have typically failed with ENOENT for
6259         the invalid, empty file name,  "".  However, with the advent
6260         of linux-2.6.39, they fail with EINVAL.
6261         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
6262         when operating on the empty file name.
6263         * tests/test-readlink.h (test_readlink): Likewise.
6264
6265 2011-03-29  Bruno Haible  <bruno@clisp.org>
6266
6267         Relicense some modules under LGPLv2+, for libidn2.
6268         * modules/array-mergesort (License): Change to LGPLv2+.
6269         * modules/c-strcaseeq (License): Likewise.
6270         * modules/striconveh (License): Likewise.
6271         * modules/striconveha (License): Likewise.
6272         * modules/uniconv/base (License): Likewise.
6273         * modules/uniconv/u8-conv-from-enc (License): Likewise.
6274         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
6275         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
6276         * modules/unictype/base (License): Likewise.
6277         * modules/unictype/bidiclass-of (License): Likewise.
6278         * modules/unictype/category-M (License): Likewise.
6279         * modules/unictype/category-none (License): Likewise.
6280         * modules/unictype/category-of (License): Likewise.
6281         * modules/unictype/category-test (License): Likewise.
6282         * modules/unictype/category-test-withtable (License): Likewise.
6283         * modules/unictype/combining-class (License): Likewise.
6284         * modules/unictype/joiningtype-of (License): Likewise.
6285         * modules/unictype/scripts (License): Likewise.
6286         * modules/uninorm/base (License): Likewise.
6287         * modules/uninorm/canonical-decomposition (License): Likewise.
6288         * modules/uninorm/composition (License): Likewise.
6289         * modules/uninorm/decompose-internal (License): Likewise.
6290         * modules/uninorm/decomposition-table (License): Likewise.
6291         * modules/uninorm/nfc (License): Likewise.
6292         * modules/uninorm/nfd (License): Likewise.
6293         * modules/uninorm/u32-normalize (License): Likewise.
6294         * modules/unistr/base (License): Likewise.
6295         * modules/unistr/u32-cpy (License): Likewise.
6296         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
6297         * modules/unistr/u32-to-u8 (License): Likewise.
6298         * modules/unistr/u32-uctomb (License): Likewise.
6299         * modules/unistr/u8-check (License): Likewise.
6300         * modules/unistr/u8-mblen (License): Likewise.
6301         * modules/unistr/u8-mbtouc (License): Likewise.
6302         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
6303         * modules/unistr/u8-mbtoucr (License): Likewise.
6304         * modules/unistr/u8-prev (License): Likewise.
6305         * modules/unistr/u8-strlen (License): Likewise.
6306         * modules/unistr/u8-to-u32 (License): Likewise.
6307         * modules/unistr/u8-uctomb (License): Likewise.
6308         * modules/unitypes (License): Likewise.
6309         Requested by Simon Josefsson.
6310
6311 2011-03-29  Simon Josefsson  <simon@josefsson.org>
6312
6313         lib-symbol-visibility: Add a notice.
6314         * modules/lib-symbol-visibility (Notice): New field.
6315
6316 2011-03-29  Bruno Haible  <bruno@clisp.org>
6317
6318         getaddrinfo: Doc fix.
6319         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
6320         section "fixed in Gnulib".
6321
6322 2011-03-28  Simon Josefsson  <simon@josefsson.org>
6323
6324         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
6325         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
6326
6327 2011-03-26  Bruno Haible  <bruno@clisp.org>
6328
6329         unictype/property-byname: Reduce the number of load-time relocations.
6330         * lib/unictype/pr_byname.c: Include <stdlib.h>.
6331         (UC_PROPERTY_INDEX_*): New enumeration values.
6332         (uc_property_byname): Convert an index from the lookup table to an
6333         uc_property_t.
6334         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
6335         values.
6336
6337 2011-03-26  Bruno Haible  <bruno@clisp.org>
6338
6339         unictype/property-byname: Allow omitted word separators and aliases.
6340         * lib/unictype/pr_byname.gperf: Add property names without word
6341         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
6342         for 'space'.
6343
6344 2011-03-26  Bruno Haible  <bruno@clisp.org>
6345
6346         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
6347         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
6348         also hyphens to space.
6349         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
6350         without spaces.
6351         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
6352
6353 2011-03-26  Bruno Haible  <bruno@clisp.org>
6354
6355         unictype/joiningtype-byname: Recognize long names as well.
6356         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
6357         a long name.
6358         * lib/unictype/joiningtype_byname.c: Include <string.h>,
6359         unictype/joiningtype_byname.h.
6360         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
6361         * lib/unictype/joiningtype_byname.gperf: New file.
6362         * modules/unictype/joiningtype-byname (Files): Add
6363         lib/unictype/joiningtype_byname.gperf.
6364         (Depends-on): Add gperf.
6365         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
6366         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
6367         long names.
6368
6369         Tests for module 'unictype/joiningtype-longname'.
6370         * modules/unictype/joiningtype-longname-tests: New file.
6371         * tests/unictype/test-joiningtype_longname.c: New file.
6372
6373         New module 'unictype/joiningtype-longname'.
6374         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
6375         * lib/unictype/joiningtype_longname.c: New file.
6376         * modules/unictype/joiningtype-longname: New file.
6377         * modules/unictype/joiningtype-all (Depends-on): Add
6378         unictype/joiningtype-longname.
6379
6380 2011-03-26  Bruno Haible  <bruno@clisp.org>
6381
6382         unictype/bidiclass-byname: Recognize long names as well.
6383         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
6384         name.
6385         * lib/unictype/bidi_byname.c: Include <string.h>,
6386         unictype/bidi_byname.h.
6387         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
6388         * lib/unictype/bidi_byname.gperf: New file.
6389         * modules/unictype/bidiclass-byname (Files): Add
6390         lib/unictype/bidi_byname.gperf.
6391         (Depends-on): Add gperf.
6392         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
6393         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
6394         long names.
6395
6396         Tests for module 'unictype/bidiclass-longname'.
6397         * modules/unictype/bidiclass-longname-tests: New file.
6398         * tests/unictype/test-bidi_longname.c: New file.
6399
6400         New module 'unictype/bidiclass-longname'.
6401         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
6402         * lib/unictype/bidi_longname.c: New file.
6403         * modules/unictype/bidiclass-longname: New file.
6404         * modules/unictype/bidiclass-all (Depends-on): Add
6405         unictype/bidiclass-longname.
6406
6407 2011-03-26  Bruno Haible  <bruno@clisp.org>
6408
6409         unictype/bidi*: Rename modules.
6410         * modules/unictype/bidiclass-all: Renamed from
6411         modules/unictype/bidicategory-all.
6412         * modules/unictype/bidiclass-name: Renamed from
6413         modules/unictype/bidiclass-name.
6414         (Description): Update.
6415         * modules/unictype/bidiclass-name-tests: Renamed from
6416         modules/unictype/bidicategory-name-tests.
6417         * modules/unictype/bidiclass-byname: Renamed from
6418         modules/unictype/bidicategory-byname.
6419         (Description): Update.
6420         * modules/unictype/bidiclass-byname-tests: Renamed from
6421         modules/unictype/bidicategory-byname-tests.
6422         * modules/unictype/bidiclass-of: Renamed from
6423         modules/unictype/bidicategory-of.
6424         (Description): Update.
6425         * modules/unictype/bidiclass-of-tests: Renamed from
6426         modules/unictype/bidicategory-of-tests.
6427         * modules/unictype/bidiclass-test: Renamed from
6428         modules/unictype/bidicategory-test.
6429         (Description): Update.
6430         * modules/unictype/bidiclass-test-tests: Renamed from
6431         modules/unictype/bidicategory-test-tests.
6432         * modules/unictype/bidicategory-all: New file, a simple redirection.
6433         * modules/unictype/bidicategory-name: Likewise.
6434         * modules/unictype/bidicategory-byname: Likewise.
6435         * modules/unictype/bidicategory-of: Likewise.
6436         * modules/unictype/bidicategory-test: Likewise.
6437         * modules/unictype/property-bidi-* (Dependencies): Update.
6438         * lib/unictype/bidi_*.c: Update comment.
6439
6440 2011-03-26  Bruno Haible  <bruno@clisp.org>
6441
6442         unictype/bidi*: Rename functions, part 2.
6443         * modules/unictype/bidicategory-name (configure.ac): Update required
6444         libunistring version.
6445         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
6446
6447 2011-03-25  Bruno Haible  <bruno@clisp.org>
6448
6449         New module 'unictype/combining-class-all'.
6450         * modules/unictype/combining-class-all: New file.
6451
6452         Tests for module 'unictype/combining-class-byname'.
6453         * modules/unictype/combining-class-byname-tests: New file.
6454         * tests/unictype/test-combiningclass_byname.c: New file.
6455
6456         New module 'unictype/combining-class-byname'.
6457         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
6458         * lib/unictype/combiningclass_byname.c: New file.
6459         * lib/unictype/combiningclass_byname.gperf: New file.
6460         * modules/unictype/combining-class-byname: New file.
6461
6462         Tests for module 'unictype/combining-class-longname'.
6463         * modules/unictype/combining-class-longname-tests: New file.
6464         * tests/unictype/test-combiningclass_longname.c: New file.
6465
6466         New module 'unictype/combining-class-longname'.
6467         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
6468         * lib/unictype/combiningclass_longname.c: New file.
6469         * modules/unictype/combining-class-longname: New file.
6470
6471         Tests for module 'unictype/combining-class-name'.
6472         * modules/unictype/combining-class-name-tests: New file.
6473         * tests/unictype/test-combiningclass_name.c: New file.
6474
6475         New module 'unictype/combining-class-name'.
6476         * lib/unictype.in.h (uc_combining_class_name): New declaration.
6477         * lib/unictype/combiningclass_name.c: New file.
6478         * modules/unictype/combining-class-name: New file.
6479
6480 2011-03-25  Bruno Haible  <bruno@clisp.org>
6481
6482         unictype/combining-class: Rename source files.
6483         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
6484         of unictype/combining.h.
6485         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
6486         Update.
6487         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
6488         * modules/unictype/combining-class (Description): Fix.
6489         (Files, Makefile.am): Update.
6490         * tests/unictype/test-combiningclass.c: Renamed from
6491         tests/unictype/test-combining.c.
6492         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
6493
6494 2011-03-25  Bruno Haible  <bruno@clisp.org>
6495
6496         unictype: Update list of canonical combining classes.
6497         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
6498
6499 2011-03-25  Bruno Haible  <bruno@clisp.org>
6500
6501         unictype/category-byname: Recognize long names as well.
6502         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
6503         a long name.
6504         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
6505         unictype/categ_byname.h.
6506         (UC_CATEGORY_INDEX_*): New enumeration values.
6507         (uc_general_category_byname): Use uc_general_category_lookup and
6508         convert from index to value.
6509         * lib/unictype/categ_byname.gperf: New file.
6510         * modules/unictype/category-byname (Files): Add
6511         lib/unictype/categ_byname.gperf.
6512         (Depends-on): Add gperf.
6513         (Makefile.am): Add rule for generating unictype/categ_byname.h.
6514         * tests/unictype/test-categ_byname.c (main): Test the recognition of
6515         long names.
6516
6517         Tests for module 'unictype/category-longname'.
6518         * modules/unictype/category-longname-tests: New file.
6519         * tests/unictype/test-categ_longname.c: New file.
6520
6521         New module 'unictype/category-longname'.
6522         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
6523         * lib/unictype/categ_longname.c: New file.
6524         * modules/unictype/category-longname: New file.
6525         * modules/unictype/category-all (Depends-on): Add it.
6526
6527 2011-03-25  Bruno Haible  <bruno@clisp.org>
6528
6529         Tests for module 'unictype/category-LC'.
6530         * modules/unictype/category-LC-tests: New file.
6531         * tests/unictype/test-categ_LC.c: New file, automatically generated.
6532
6533         New module 'unictype/category-LC'.
6534         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
6535         (UC_CATEGORY_LC): New declaration.
6536         (UC_CASED_LETTER): New macro.
6537         * lib/gen-uni-tables.c (is_category_LC): New function.
6538         (output_categories): Also handle category LC.
6539         (UC_CATEGORY_MASK_LC): New enumeration value.
6540         (general_category_byname): Also handle category LC.
6541         * lib/unictype/categ_LC.c: New file.
6542         * lib/unictype/categ_LC.h: New file, automatically generated.
6543         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
6544         category LC.
6545         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
6546         * modules/unictype/category-LC: New file.
6547         * modules/unictype/category-byname (Depends-on): Add
6548         unictype/category-LC.
6549         * modules/unictype/category-all (Depends-on): Likewise.
6550
6551 2011-03-25  Eric Blake  <eblake@redhat.com>
6552
6553         xmalloc: revert yesterday's regression
6554         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
6555         realloc's underlying behavior (allowing allocation of zero-size
6556         objects, especially if malloc-gnu is also in use).
6557
6558 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
6559
6560         maint.mk: add missing version to VC-tag
6561         * top/maint.mk: git tag was missing actual tag name; add it.
6562
6563         valgrind: do leak checking, and exit with code 1 on error (not 0)
6564         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
6565         to VALGRIND.
6566
6567 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
6568
6569         posix-modules: say what it does.
6570         * posix-modules: Add a line to the --help output saying what it does.
6571
6572 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
6573
6574         xmalloc: Do not leak if underlying realloc is C99 compatible.
6575         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
6576         This avoids a leak on C99-based systems.  See
6577         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
6578
6579 2011-03-24  Eric Blake  <eblake@redhat.com>
6580
6581         realloc: document portability problem
6582         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
6583         passing 0 size to realloc.
6584
6585 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
6586
6587         doc: update users.txt
6588         * users.txt: Add cvsps, tmpwatch
6589
6590 2011-03-23  Matt Rice  <ratmice@gmail.com>
6591
6592         doc: update users.txt
6593         * users.txt: Add gdb.
6594
6595 2011-03-23  Jim Meyering  <meyering@redhat.com>
6596
6597         doc: update users.txt
6598         Looking through matches up to the following URL (there are still
6599         several more pages), I found several projects that use gnulib:
6600         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
6601         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
6602         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
6603
6604 2011-03-22  Bruno Haible  <bruno@clisp.org>
6605
6606         unictype/bidi*: Rename functions.
6607         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
6608         uc_bidi_class, uc_is_bidi_class): New declarations.
6609         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
6610         uc_bidi_category_byname.
6611         (uc_bidi_category_byname): New function.
6612         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
6613         u_bidi_category_name.
6614         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
6615         (uc_bidi_category_name): New function.
6616         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
6617         uc_bidi_category.
6618         (uc_bidi_category): New function.
6619         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
6620         uc_is_bidi_category. Invoke uc_bidi_class.
6621         (uc_is_bidi_category): New function.
6622         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
6623         instead of uc_bidi_category_byname.
6624         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
6625         instead of uc_bidi_category_name.
6626         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
6627         uc_bidi_category.
6628         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
6629         instead of uc_is_bidi_category.
6630
6631 2011-03-21  Bruno Haible  <bruno@clisp.org>
6632
6633         New module 'unictype/joininggroup-all'.
6634         * modules/unictype/joininggroup-all: New file.
6635
6636         Tests for module 'unictype/joininggroup-of'.
6637         * modules/unictype/joininggroup-of-tests: New file.
6638         * tests/unictype/test-joininggroup_of.c: New file.
6639         * tests/unictype/test-joininggroup_of.h: New file, automatically
6640         generated by gen-uni-tables.
6641
6642         New module 'unictype/joininggroup-of'.
6643         * modules/unictype/joininggroup-of: New file.
6644         * lib/unictype/joininggroup_of.c: New file.
6645         * lib/unictype/joininggroup_of.h: New file, automatically generated by
6646         gen-uni-tables.
6647
6648         Tests for module 'unictype/joininggroup-byname'.
6649         * modules/unictype/joininggroup-byname-tests: New file.
6650         * tests/unictype/test-joininggroup_byname.c: New file.
6651
6652         New module 'unictype/joininggroup-byname'.
6653         * modules/unictype/joininggroup-byname: New file.
6654         * lib/unictype/joininggroup_byname.c: New file.
6655         * lib/unictype/joininggroup_byname.gperf: New file.
6656
6657         Tests for module 'unictype/joininggroup-name'.
6658         * modules/unictype/joininggroup-name-tests: New file.
6659         * tests/unictype/test-joininggroup_name.c: New file.
6660
6661         New module 'unictype/joininggroup-name'.
6662         * modules/unictype/joininggroup-name: New file.
6663         * lib/unictype/joininggroup_name.c: New file.
6664         * lib/unictype/joininggroup_name.h: New file.
6665
6666         New module 'unictype/joiningtype-all'.
6667         * modules/unictype/joiningtype-all: New file.
6668
6669         Tests for module 'unictype/joiningtype-of'.
6670         * modules/unictype/joiningtype-of-tests: New file.
6671         * tests/unictype/test-joiningtype_of.c: New file.
6672         * tests/unictype/test-joiningtype_of.h: New file, automatically
6673         generated by gen-uni-tables.
6674
6675         New module 'unictype/joiningtype-of'.
6676         * modules/unictype/joiningtype-of: New file.
6677         * lib/unictype/joiningtype_of.c: New file.
6678         * lib/unictype/joiningtype_of.h: New file, automatically generated by
6679         gen-uni-tables.
6680
6681         Tests for module 'unictype/joiningtype-byname'.
6682         * modules/unictype/joiningtype-byname-tests: New file.
6683         * tests/unictype/test-joiningtype_byname.c: New file.
6684
6685         New module 'unictype/joiningtype-byname'.
6686         * modules/unictype/joiningtype-byname: New file.
6687         * lib/unictype/joiningtype_byname.c: New file.
6688
6689         Tests for module 'unictype/joiningtype-name'.
6690         * modules/unictype/joiningtype-name-tests: New file.
6691         * tests/unictype/test-joiningtype_name.c: New file.
6692
6693         New module 'unictype/joiningtype-name'.
6694         * modules/unictype/joiningtype-name: New file.
6695         * lib/unictype/joiningtype_name.c: New file.
6696
6697         unictype: Add support for Arabic shaping properties.
6698         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
6699         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
6700         declarations.
6701         (UC_JOINING_GROUP_*): New enumeration values.
6702         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
6703         declarations.
6704         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
6705         (unicode_joining_type): New variable.
6706         (UC_JOINING_GROUP_*): New enumeration values.
6707         (unicode_joining_group): New variable.
6708         (fill_arabicshaping, joining_type_as_c_identifier,
6709         output_joining_type_test, output_joining_type,
6710         joining_group_as_c_identifier, output_joining_group_test,
6711         output_joining_group): New functions.
6712         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
6713         fill_arabicshaping and output_joining_type_test, output_joining_type,
6714         output_joining_group_test, output_joining_group.
6715         Reported by Simon Josefsson.
6716
6717 2011-03-21  Jim Meyering  <meyering@redhat.com>
6718
6719         strftime: fix a bug in yesterday's change
6720         * lib/strftime.c (add): Accommodate width's initial value of -1.
6721         Otherwise, nstrftime would copy uninitialized data into
6722         the result buffer.
6723
6724 2011-03-21  Jim Meyering  <meyering@redhat.com>
6725
6726         tests: add strftime-tests module
6727         * tests/test-strftime.c: New file.
6728         * modules/strftime-tests: New module.
6729
6730 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
6731
6732         strftime: don't assume a byte count fits in 'int'
6733         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
6734         found this problem by static analysis, using gcc -Wstrict-overflow
6735         (GCC 4.5.2, x86-64).  This reported an optimization that depended
6736         on an integer overflow having undefined behavior, but it turns out
6737         that the argument is a size, which might not fit in 'int' anyway,
6738
6739 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
6740
6741         stdio: don't require ignore_value around fwrite
6742
6743         This patch works around libc bug 11959
6744         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
6745         Without this patch, applications must often write
6746         ignore_value (fwrite (...)) even though the ignore_value is
6747         not helpful here.  It's common to write many objects, using
6748         fwrite/printf/etc., and then use ferror to detect output error.
6749
6750         I considered making this patch optional, but decided against it,
6751         because libc is obviously being inconsistent here: there is no
6752         reason libc should insist that user code must inspect fwrite
6753         return's value without also insisting that it inspect printf's,
6754         putchar's, etc.  If user code wants to have a strict style where
6755         all these functions' values are checked (so that ferror need not
6756         be checked), we could add support for that style in a new gnulib
6757         module, but in the meantime it's better to be consistent and to
6758         support common usage.
6759
6760         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
6761         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
6762         that we are compiling in checking mode, and if not C++, and
6763         if not already wrapping fwrite for some other reason.
6764         (fwrite): #define to rpl_fwrite if the latter is defined.
6765
6766 2011-03-20  Bruno Haible  <bruno@clisp.org>
6767
6768         verror: Fix compilation error introduced on 2011-02-13.
6769         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
6770         instead of __attribute__.
6771         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6772
6773 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
6774             Bruno Haible  <bruno@clisp.org>
6775
6776         socklen: do not depend on sys_socket
6777         While trying to modify Emacs to use gnulib's socklen module,
6778         I discovered a circular dependency: socklen depends on sys_socket
6779         and vice versa.  Emacs can use socklen, but it does not need
6780         sys_socket because it has its own substitute for sys/socket.h.
6781         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
6782         gl_TYPE_SOCKLEN_T.
6783         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
6784         gl_PREREQ_SYS_H_SOCKET.
6785         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
6786         gl_PREREQ_SYS_H_SOCKET.
6787         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
6788         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
6789         * modules/socklen (Depends-on): Do not depend on sys_socket.
6790         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
6791
6792 2011-03-20  Jim Meyering  <meyering@redhat.com>
6793
6794         maint.mk: sort file names *after* new transformation
6795         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
6796         prefix would have led to an unwarranted failure in GNU parted.
6797         Sort after that transformation.
6798
6799 2011-03-19  Jim Meyering  <meyering@redhat.com>
6800
6801         maint.mk: fix po-file syntax-check rule
6802         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
6803         Patch by Bruno Haible.
6804
6805 2011-03-19  Bruno Haible  <bruno@clisp.org>
6806
6807         socklen: Update comment.
6808         * m4/socklen.m4: Update comment about platforms.
6809
6810 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
6811             Bruno Haible  <bruno@clisp.org>
6812
6813         inet_ntop, inet_pton: Simplify.
6814         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
6815         documented to provide socklen_t and we already depend on sys_socket.
6816         * modules/inet_pton (Depends-on): Likewise.
6817         * lib/arpa_inet.in.h: Adjust comment.
6818
6819 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
6820             Bruno Haible  <bruno@clisp.org>
6821
6822         netdb: Simplify.
6823         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
6824         documented to provide socklen_t and we already depend on sys_socket.
6825         * lib/netdb.in.h: Adjust comment.
6826
6827 2011-03-19  Bruno Haible  <bruno@clisp.org>
6828
6829         sys_socket, netdb: Document problem with socklen_t.
6830         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
6831         platforms.
6832         * doc/posix-headers/netdb.texi: Likewise.
6833
6834 2011-03-18  Eric Blake  <eblake@redhat.com>
6835
6836         maint.mk: let po check work in VPATH build
6837         * top/maint.mk (po_file): Allow cfg.mk override.
6838         (sc_po_check): Allow VPATH use.
6839         Reported by Jiri Denemark.
6840
6841 2011-03-16  Jim Meyering  <meyering@redhat.com>
6842
6843         maint.mk: allow fine-grained syntax-check exclusion via Make variables
6844         Before, you would have had to create one .x-sc_ file per rule in order
6845         to exempt offending files.  Now, you may instead use a Make variable --
6846         usually defined in cfg.mk -- whose name identifies the affected rule.
6847         * top/maint.mk (_sc_excl): Define.
6848         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
6849         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
6850
6851 2011-03-13  Bruno Haible  <bruno@clisp.org>
6852
6853         ignore-value tests: Avoid warnings.
6854         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
6855         empty for gcc < 3.4.
6856
6857 2011-03-13  Bruno Haible  <bruno@clisp.org>
6858
6859         passfd: Fix link error on Solaris.
6860         * modules/passfd (Description): Correct.
6861         (Depends-on): Add socketlib.
6862         (Link): New section.
6863         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
6864
6865 2011-03-13  Bruno Haible  <bruno@clisp.org>
6866
6867         passfd: Fix link error on AIX 5.2.
6868         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
6869
6870 2011-03-13  Bruno Haible  <bruno@clisp.org>
6871
6872         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
6873         * lib/sys_socket.in.h: Include <stddef.h>.
6874         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
6875         CMSG_FIRSTHDR. Remove unused variable.
6876
6877 2011-03-13  Bruno Haible  <bruno@clisp.org>
6878
6879         passfd: Fix compilation error on OpenBSD.
6880         * lib/passfd.c: Include <sys/uio.h>.
6881
6882 2011-03-13  Bruno Haible  <bruno@clisp.org>
6883
6884         passfd test: Fix warnings.
6885         * tests/test-passfd.c: Include <sys/wait.h>.
6886         (main): Fix typo.
6887
6888 2011-03-13  Bruno Haible  <bruno@clisp.org>
6889
6890         passfd module, part 4, tweaks.
6891         * tests/test-passfd.c: Reorder includes.
6892         (main): Fix perror and printf calls.
6893
6894 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
6895
6896         passfd module, part 4.
6897         * modules/passfd-tests: New file.
6898         * tests/test-passfd.c: New file.
6899
6900 2011-03-13  Jim Meyering  <meyering@redhat.com>
6901
6902         Makefile: rely on GNU make; derive syntax-check rule names
6903         Rather than requiring that each sc_ rule be listed as a dependent
6904         of "check", use features of GNU make to derive the list.
6905         * Makefile (syntax-check-rules): Define.
6906         (check): Depend on the new variable, not the hard-coded list.
6907
6908 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
6909             Bruno Haible  <bruno@clisp.org>
6910
6911         passfd module, part 3.
6912         * lib/passfd.h (recvfd): Add a flags argument.
6913         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
6914         (recvfd): Add a flags argument.
6915         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
6916         exists.
6917         * modules/passfd (Depends-on): Add cloexec.
6918         Suggested by Eric Blake.
6919
6920 2011-03-13  Bruno Haible  <bruno@clisp.org>
6921
6922         passfd module, part 2, tweaks.
6923         * modules/passfd (Files): Reorder.
6924         (Depends-on): Remove errno.
6925         (Include): Remove <sys/socket.h>, <sys/un.h>.
6926         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
6927         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
6928         specification header. Include <sys/socket.h> always. Don't include
6929         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
6930         (sendfd): Clarify that it sets errno when it fails.
6931         (recvfd): Fix specification.
6932
6933 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
6934
6935         passfd module, part 2.
6936         * modules/passfd: New file.
6937         * lib/passfd.h: New file.
6938         * lib/passfd.c: New file.
6939
6940 2011-03-12  Bruno Haible  <bruno@clisp.org>
6941
6942         wcswidth, mbswidth: Avoid integer overflow.
6943         * lib/wcswidth.c: Include <limits.h>.
6944         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
6945         * lib/mbswidth.c: Include <limits.h>.
6946         (mbsnwidth): Avoid 'int' overflow.
6947         Reported by Jim Meyering.
6948
6949 2011-03-12  Bruno Haible  <bruno@clisp.org>
6950
6951         futimens, utimensat: Avoid endless recursion on Solaris 10.
6952         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
6953         Solaris.
6954         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
6955         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
6956
6957 2011-03-11  Jim Meyering  <meyering@redhat.com>
6958
6959         maint.mk: relax a regexp to accommodate other formatting styles
6960         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
6961         between "ngettext" and the following "(".
6962
6963 2011-03-11  Pádraig Brady <P@draigBrady.com>
6964
6965         maint.mk: suppress a false positive warning
6966         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
6967         diagnostics are marked with ngettext.
6968
6969 2011-03-10  Eric Blake  <eblake@redhat.com>
6970
6971         wchar: add explicit dependencies, for Tru64
6972         * modules/mbmemcasecoll (Depends-on): Add wchar.
6973         * modules/mbtowc (Depends-on): Likewise.
6974         * modules/vasnprintf (Depends-on): Likewise.
6975         * modules/unistdio/u-printf-args (Depends-on): Likewise.
6976         * modules/wctomb (Depends-on): Likewise.
6977         Reported by Peter O'Gorman.
6978
6979 2011-03-08  Bruno Haible  <bruno@clisp.org>
6980
6981         passfd module, part 1, tweaks.
6982         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
6983         Improve indentation. Improve AC_MSG_CHECKING messages.
6984         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
6985         gl_SOCKET_FAMILIES.
6986
6987 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
6988
6989         passfd module, part 1.
6990         * m4/afunix.m4: New file.
6991         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
6992         sockets.
6993
6994 2011-03-08  Bruno Haible  <bruno@clisp.org>
6995
6996         regex-quote: New API.
6997         * lib/regex-quote.h: Include <stdbool.h>.
6998         (struct regex_quote_spec): New type.
6999         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
7000         New declarations.
7001         (regex_quote_length, regex_quote_copy, regex_quote): Take a
7002         'const struct regex_quote_spec *' argument.
7003         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
7004         (pcre_special): New constant.
7005         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
7006         New functions.
7007         (regex_quote_length, regex_quote_copy, regex_quote): Take a
7008         'const struct regex_quote_spec *' argument.
7009         * modules/regex-quote (Depends-on): Add stdbool.
7010         * tests/test-regex-quote.c (check): Update for new API. Add test for
7011         anchored results.
7012         * NEWS: Mention the API change.
7013         Reported by Reuben Thomas and Eric Blake.
7014
7015 2011-03-06  Bruno Haible  <bruno@clisp.org>
7016
7017         regex-quote: Fix creation of POSIX extended regular expressions.
7018         * lib/regex-quote.c (ere_special): Add grouping and alternation
7019         operators.
7020
7021 2011-03-05  Bruno Haible  <bruno@clisp.org>
7022
7023         doc: Improve doc regarding autopoint vs. gnulib.
7024         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
7025         disable autopoint while running autoreconf.
7026         Suggested by Ralf Wildenhues.
7027
7028 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7029
7030         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
7031         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
7032
7033 2011-03-03  Bruce Korb  <bkorb@gnu.org>
7034
7035         parse-duration: remove xalloc.h dependency
7036         * lib/parse-duration.c (parse_period): handle NULL return from
7037         strdup instead of calling xstrdup().
7038         * modules/parse-duration: remove "xalloc" dependency
7039
7040 2011-03-03  Matthew Booth  <mbooth@redhat.com>
7041
7042         bootstrap: honor m4_base when running aclocal
7043         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
7044
7045 2011-03-02  Jim Meyering  <meyering@redhat.com>
7046
7047         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
7048         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
7049         on request from Matt Booth.
7050
7051 2011-03-01  Eric Blake  <eblake@redhat.com>
7052
7053         test-link: work on Hurd
7054         * tests/test-link.h (test_link): Hurd rejects linking directories
7055         with EISDIR instead of the POSIX-mandated EPERM.
7056
7057 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
7058
7059         stdio: simplify by moving files to printf-posix, sigpipe
7060         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
7061         since this symbol is needed only if printf is replaced.
7062         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
7063         Require gl_ASM_SYMBOL_PREFIX.
7064         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
7065         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
7066         (Depends-on): Add 'raise'.
7067         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
7068         * modules/stdio (Files): Remove lib/stdio-write.c,
7069         m4/asm-underscore.m4.
7070         (Depends-on): Remove 'raise'.
7071
7072         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
7073         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
7074         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
7075         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
7076
7077 2011-02-28  Bruno Haible  <bruno@clisp.org>
7078
7079         localcharset: Assume ANSI C behaviour of free().
7080         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
7081         calling free().
7082         Suggested by Simon Josefsson <simon@josefsson.org>.
7083
7084 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
7085             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
7086             Bruno Haible  <bruno@clisp.org>  (tiny change)
7087
7088         On Cygwin, use /proc file system instead of win32 API.
7089         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
7090         Win32 file names.
7091         (DllMain): Simplify by removing Cygwin specific code.
7092         (find_shared_library_fullname): Use Linux specific implementation also
7093         for Cygwin.
7094         (get_shared_library_fullname): Update accordingly.
7095         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
7096         Win32 file names.
7097         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
7098         Cygwin specific code.
7099
7100 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
7101             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
7102
7103         Fix OpenMP flag detection for various Fortran compilers.
7104         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
7105         OpenMP-conditional compilation construct, to force compile
7106         failure with missing OpenMP flag.
7107         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
7108
7109 2011-02-25  Eric Blake  <eblake@redhat.com>
7110
7111         strstr: expand test coverage
7112         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
7113         compilation.
7114         * tests/test-memmem.c (main): Duplicate tests.
7115         * tests/test-strcasestr.c (main): Likewise.
7116         * tests/test-c-strcasestr.c (main): Likewise.
7117
7118 2011-02-25  Jim Meyering  <meyering@redhat.com>
7119
7120         maint.mk: detect missing-NL-at-EOF, too
7121         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
7122         it also detects when a file lacks a newline at EOF.
7123         (require_exactly_one_NL_at_EOF_): Renamed from
7124         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
7125         since people may well have .x-sc_... file names tied to the
7126         existing name.  Suggested by Eric Blake.
7127
7128 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
7129
7130         dirname: move m4/dos.m4 functionality into lib/dosname.h
7131
7132         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
7133         extracts symbols from it, puts them into config.h; but it's much
7134         easier to use the symbols directly.  filename.h already does this,
7135         but it disagrees with dos.m4 in some respects.  This patch
7136         introduces a different include file dosname.h that packages up
7137         dos.m4, and then later we can work on merging filename.h and
7138         dosname.h.  Applications that need only the easy-to-configure
7139         symbols should consider including dosname.h rather than dirname.h.
7140         * NEWS: Mention incompatible changes.
7141         * m4/dos.m4: Remove.
7142         * lib/dosname.h, modules/dosname: New files.
7143         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
7144         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
7145         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
7146         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
7147         Include dosname.h, not dirname.h.
7148         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
7149         Include dosname.h, for definitions of symbols like ISSLASH
7150         that used to be in config.h.
7151         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
7152         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
7153         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
7154         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
7155         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
7156         * modules/rmdir (Files): Likewise.
7157         * modules/stat (Files): Likewise.
7158         * modules/unlink (Files): Likewise.
7159         * modules/dirname-lgpl (Depends-on): Add dosname.
7160         * modules/lstat (Depends-on): Likewise.
7161         * modules/openat (Depends-on): Likewise.
7162         * modules/rmdir (Depends-on): Likewise.
7163         * modules/savewd (Depends-on): Likewise.
7164         * modules/stat (Depends-on): Likewise.
7165         * modules/unlink (Depends-on): Likewise.
7166         * modules/openat (Depends-on): Remove dirname-lgpl.
7167         * modules/savewd (Depends-on): Likewise.
7168         * tests/test-dirname.c: Do not use removed symbols like
7169         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
7170         the remaining symbols, e.g., ISSLASH ('\\').
7171
7172 2011-02-25  Eric Blake  <eblake@redhat.com>
7173
7174         strstr: revert patches that introduced bug and pessimization
7175         * lib/str-two-way.h: Add another reference.
7176         (two_way_short_needle, two_way_long_needle): Revert changes from
7177         2011-02-24; they pessimize search speed.
7178         (critical_factorization): Partially revert changes from
7179         2010-06-22; they violate the requirement that the left half of the
7180         needle be smaller than the period of the needle.
7181
7182 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
7183
7184         filenamecat: remove unnecessary dependency on dirname-lgpl
7185         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
7186         is no direct dependency, just an indirect one via filenamecat-lgpl.
7187
7188         remove: remove unnecessary use of m4/dos.m4
7189         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
7190         * modules/remove (FILES): Remove m4/dos.m4.
7191
7192         * lib/openat-proc.c: Don't include dirname.h; not needed.
7193
7194         backupfile: remove unnecessary use of m4/dos.m4
7195         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
7196         of its symbols are used by the backupfile code.  backupfile.c does
7197         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
7198         for the rare case of programs that want all their backup file
7199         names to live within 8+3 limits, and dos.m4 doesn't address that.
7200         * modules/backupfile (Files): Remove m4/dos.m4.
7201
7202 2011-02-24  Jim Meyering  <meyering@redhat.com>
7203
7204         strstr: fix a bug whereby strstr would mistakenly return NULL
7205         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
7206         in period calculation.
7207         (two_way_long_needle): Likewise.
7208         The original problem was reported by Mike Stump in
7209         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
7210         Ralf Wildenhues provided the short needle and haystack.
7211         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
7212         Add a more involved test to trigger the bug in two_way_long_needle.
7213
7214 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
7215
7216         gnulib-tool: remove use of bold display in help screen
7217         * gnulib-tool (func_usage): Do not use bold display anymore in the
7218         help screen.  That was just meant to be a temporary emphasis for a
7219         backward-incompatible change.
7220
7221 2011-02-23  Bruno Haible  <bruno@clisp.org>
7222
7223         Fix misindentation of preprocessor directives.
7224         * lib/argp-namefrob.h: Reindent preprocessor directives.
7225         * lib/getopt_int.h (struct _getopt_data): Likewise.
7226         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
7227         * lib/vasnprintf.c (decode_long_double): Likewise.
7228         * tests/test-argmatch.c: Insert blank lines, for clarity.
7229         * tests/test-exclude.c: Likewise.
7230
7231 2011-02-22  Bruno Haible  <bruno@clisp.org>
7232
7233         ioctl: Fix for MacOS X in 64-bit mode.
7234         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
7235         value.
7236         Suggested by Eric Blake.
7237         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
7238
7239 2011-02-22  Jim Meyering  <meyering@redhat.com>
7240
7241         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
7242         * Makefile (sc_cpp_indent_check): Don't limit the check to files
7243         in lib/.
7244
7245 2011-02-22  Eric Blake  <eblake@redhat.com>
7246
7247         maint: avoid any CDPATH issue
7248         * Makefile (sc_cpp_indent_check): Anchor cd argument.
7249
7250         maint: adjust cpp indentation for my modules, as well
7251         * Makefile (sc_cpp_indent_check): Add my name.
7252         * lib/fbufmode.c: Filter through cppi.
7253         * lib/fpurge.c: Likewise.
7254         * lib/freadable.c: Likewise.
7255         * lib/freading.c: Likewise.
7256         * lib/fwritable.c: Likewise.
7257         * lib/fwriting.c: Likewise.
7258         * lib/sigaction.c: Likewise.
7259
7260 2011-02-22  Jim Meyering  <meyering@redhat.com>
7261
7262         maint: adjust cpp indentation to reflect nesting depth
7263         I.e., in a block of code that begins with an unnested "#if",
7264         put one space between the "#" in column 1 and following token.
7265         For example,
7266         -#include <sys/vfs.h>
7267         +# include <sys/vfs.h>
7268         Do this only in .c files that are part of a module I maintain.
7269         * lib/linkat.c: Filter through cppi.
7270         * lib/nanosleep.c: Likewise.
7271         * lib/openat.c: Likewise.
7272         * lib/openat-die.c: Likewise.
7273         * lib/dup3.c: Likewise.
7274         * lib/fchownat.c: Likewise.
7275         * lib/flock.c: Likewise.
7276         * lib/fsync.c: Likewise.
7277         * lib/fts.c: Likewise.
7278         * lib/getpass.c: Likewise.
7279         * lib/gettimeofday.c: Likewise.
7280         * lib/userspec.c: Likewise.
7281         * Makefile (sc_cpp_indent_check): New rule, to check this.
7282
7283 2011-02-22  Bruno Haible  <bruno@clisp.org>
7284
7285         New module 'wctomb'.
7286         * lib/stdlib.in.h (wctomb): New declaration.
7287         * lib/wctomb.c: New file.
7288         * lib/wctomb-impl.h: New file.
7289         * m4/wctomb.m4: New file.
7290         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
7291         REPLACE_WCTOMB.
7292         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
7293         REPLACE_WCTOMB.
7294         * modules/wctomb: New file.
7295         * tests/test-stdlib-c++.cc: Test signature of wctomb.
7296         * doc/posix-functions/wctomb.texi: Mention the new module.
7297         * modules/wctob (Depends-on): Add wctomb.
7298
7299 2011-02-22  Bruno Haible  <bruno@clisp.org>
7300
7301         New module 'mbtowc'.
7302         * lib/stdlib.in.h (mbtowc): New declaration.
7303         * lib/mbtowc.c: New file.
7304         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
7305         * m4/mbtowc.m4: New file.
7306         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
7307         REPLACE_MBTOWC.
7308         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
7309         REPLACE_MBTOWC.
7310         * modules/mbtowc: New file.
7311         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
7312         * doc/posix-functions/mbtowc.texi: Mention the new module.
7313         * modules/btowc (Depends-on): Add mbtowc.
7314
7315 2011-02-22  Bruno Haible  <bruno@clisp.org>
7316
7317         wcrtomb: Add more tests for native Windows platforms.
7318         * tests/test-wcrtomb-w32-1.sh: New file.
7319         * tests/test-wcrtomb-w32-2.sh: New file.
7320         * tests/test-wcrtomb-w32-3.sh: New file.
7321         * tests/test-wcrtomb-w32-4.sh: New file.
7322         * tests/test-wcrtomb-w32-5.sh: New file.
7323         * tests/test-wcrtomb-w32.c: New file.
7324         * modules/wcrtomb-tests (Files): Add them.
7325         (Makefile.am): Arrange to run these tests.
7326         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
7327         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
7328
7329 2011-02-20  Bruno Haible  <bruno@clisp.org>
7330
7331         wcrtomb: Enhance test.
7332         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
7333
7334 2011-02-20  Bruno Haible  <bruno@clisp.org>
7335
7336         mbrtowc: Tiny optimization.
7337         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
7338
7339 2011-02-20  Jim Meyering  <meyering@redhat.com>
7340
7341         test-exclude.c: remove unmatched #endif
7342         * tests/test-exclude.c: Remove stray #endif, left over from
7343         the change of a week ago.
7344
7345 2011-02-19  Jim Meyering  <meyering@redhat.com>
7346
7347         git-version-gen: skip "-dirty" check when appropriate
7348         * build-aux/git-version-gen: Don't run any git commands when the
7349         version string comes from .tarball-version.  Prior to this, we
7350         would run git update-index --refresh even from a just-unpacked
7351         tarball directory, and that could affect a .git/ directory in a
7352         parent of the build directory.  Reported by Mike Frysinger.
7353
7354 2011-02-19  Bruno Haible  <bruno@clisp.org>
7355
7356         unictype/property-byname: Reduce the size of the 'data' segment.
7357         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
7358
7359 2011-02-19  Bruno Haible  <bruno@clisp.org>
7360
7361         unictype/scripts: Reduce the size of the 'data' segment.
7362         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
7363         '%pic'.
7364         * lib/unictype/scripts_byname.gperf: Regenerated.
7365
7366 2011-02-19  Bruno Haible  <bruno@clisp.org>
7367
7368         stdint: Update documentation.
7369         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
7370
7371 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
7372
7373         stdint: omit redundant check for wchar.h
7374         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
7375         always tests whether wchar.h exists, so remove the now-redundant test.
7376
7377 2011-02-18  Bruno Haible  <bruno@clisp.org>
7378
7379         stdint: Cut dependency to module 'wchar'.
7380         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
7381         include the necessary prerequisites.
7382         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
7383         * modules/stdint (Depends-on): Remove wchar.
7384         (Makefile.am): Substitute HAVE_WCHAR_H.
7385         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
7386
7387 2011-02-18  Eric Blake  <eblake@redhat.com>
7388
7389         longlong: skip, rather than fail, on cross-compilation
7390         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
7391         when cross-compiling; regression from 2011-02-16.
7392
7393 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
7394
7395         * NEWS: Mention 2011-02-08 change to stdlib.
7396
7397 2011-02-17  Bruno Haible  <bruno@clisp.org>
7398
7399         getloadavg: Add comments about platforms.
7400         * m4/getloadavg.m4: Add comment.
7401         * lib/getloadavg.c: Likewise.
7402
7403 2011-02-17  Bruno Haible  <bruno@clisp.org>
7404
7405         getloadavg: Fix link error on Solaris 2.6.
7406         * modules/getloadavg (Link): New section.
7407         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
7408         linking test-getloadavg.
7409         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
7410         getloadavg.
7411
7412 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
7413
7414         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
7415         It was 'int', but this doesn't match the IRIX 6.5 manual.
7416         Suggested by Bruno Haible in
7417         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
7418
7419 2011-02-17  Bruno Haible  <bruno@clisp.org>
7420
7421         havelib: Fix comments.
7422         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
7423         change.
7424
7425 2011-02-17  Bruno Haible  <bruno@clisp.org>
7426
7427         havelib: Update config.rpath.
7428         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
7429
7430 2011-02-17  Bruno Haible  <bruno@clisp.org>
7431
7432         getloadavg test: Add some plausibility checks.
7433         * tests/test-getloadavg.c (check_avg): Print a warning when the value
7434         is improbable.
7435
7436 2011-02-16  Eric Blake  <eblake@redhat.com>
7437
7438         maintainer-makefile: make syntax-check a no-op from tarballs
7439         * top/maint.mk (no-vc-detected): New rule.
7440         (local-checks-available): Use it to avoid hanging if someone tries
7441         'make syntax-check' from a tarball.  Also append to any non-syntax
7442         checks already defined in cfg.mk.
7443
7444 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
7445
7446         longlong: tune, particularly for common case of c99
7447
7448         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
7449         or running anything if c99, or if unsigned long long int does not
7450         work.  In either case, we know the answer without further tests.
7451         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
7452         it at most once, and use its results for both long long int and
7453         unsigned long long int.  This is more likely to be efficient in
7454         the common case where the program wants to check for both long
7455         long int and unsigned long long int.
7456         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
7457         since the answer is already known.
7458
7459 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
7460
7461         getloadavg: set errno
7462         * lib/getloadavg.c: Set errno when returning -1.  If no other
7463         error number looks appropriate, set it to ENOSYS if the getloadavg
7464         looks like it can't possibly ever work, ENOTSUP otherwise.
7465         Suggested by Bruno Haible in
7466         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
7467
7468         getloadavg: trim unused parts and speed up 'configure'
7469         * NEWS: Document this.
7470         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
7471         always compiled if getloadavg is absent.
7472         Move test code to ...
7473         * tests/test-getloadavg.c: New file, containing previous
7474         contents of test from lib/getloadavg.c.  It also contains
7475         suggestions by Bruno Haible in
7476         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
7477         * modules/getloadavg-tests: New file.
7478         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
7479         Do tests in the same order as they're needed for getloadavg.c.
7480         Omit setgid-related tests that generate symbols KMEM_GROUP,
7481         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
7482         Do only the tests that are needed to see whether the system has
7483         getloadavg, moving the other tests into ...
7484         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
7485         NLIST_NAME_UNION; nobody should be using it.  Do not define
7486         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
7487         relevant, as the user of this module shouldn't care how getloadavg
7488         is implemented.
7489
7490         getloadavg: omit unused var
7491         * lib/getloadavg.c (getloadavg): Omit unused local variable.
7492
7493 2011-02-15  Jim Meyering  <meyering@redhat.com>
7494
7495         doc: update users.txt
7496         * users.txt: Update iwhd's URL.
7497
7498 2011-02-13  Bruno Haible  <bruno@clisp.org>
7499
7500         Consistent macro naming for macros that use GCC __attribute__.
7501         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
7502         _ATTRIBUTE_NONNULL_.
7503         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
7504         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
7505         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
7506         ATTRIBUTE_DEPRECATED.
7507         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
7508         ATTRIBUTE_NORETURN.
7509         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
7510         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
7511         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
7512         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
7513         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
7514         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
7515         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
7516         ATTRIBUTE_SENTINEL.
7517         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
7518         ATTRIBUTE_RETURN_CHECK.
7519         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
7520         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
7521         ATTRIBUTE_NORETURN.
7522         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
7523         Reported by Paul Eggert.
7524
7525 2011-02-13  Bruno Haible  <bruno@clisp.org>
7526
7527         Don't interfere with a program's definition of __attribute__.
7528         * lib/argp.h (__attribute__): Remove definition.
7529         (_GL_ATTRIBUTE_FORMAT): New macro.
7530         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
7531         * lib/argp-fmtstream.h (__attribute__): Remove definition.
7532         (_GL_ATTRIBUTE_FORMAT): New macro.
7533         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
7534         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
7535         GCC 3 or newer.
7536         * lib/error.h (__attribute__): Remove definition.
7537         (_GL_ATTRIBUTE_FORMAT): New macro.
7538         (error, error_at_line): Use it.
7539         * lib/hash.h (__attribute__): Remove definition.
7540         (ATTRIBUTE_WUR): Update definition. Define always.
7541         * lib/openat.h (__attribute__): Remove definition.
7542         (ATTRIBUTE_NORETURN): Update definition. Define always.
7543         * lib/sigpipe-die.h (__attribute__): Remove definition.
7544         (ATTRIBUTE_NORETURN): Update definition. Define always.
7545         * lib/vasnprintf.h (__attribute__): Remove definition.
7546         (_GL_ATTRIBUTE_FORMAT): New macro.
7547         (asnprintf, vasnprintf): Use it.
7548         * lib/xalloc.h (__attribute__): Remove definition.
7549         (ATTRIBUTE_NORETURN): Update definition. Define always.
7550         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
7551         * lib/xmemdup0.h (__attribute__): Remove definition.
7552         (ATTRIBUTE_NORETURN): Update definition. Define always.
7553         * lib/xprintf.h (__attribute__): Remove definition.
7554         (_GL_ATTRIBUTE_FORMAT): New macro.
7555         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
7556         * lib/xstrtol.h (__attribute__): Remove definition.
7557         (ATTRIBUTE_NORETURN): Update definition. Define always.
7558         * lib/xvasprintf.h (__attribute__): Remove definition.
7559         (_GL_ATTRIBUTE_FORMAT): New macro.
7560         (xasprintf, xvasprintf): Use it.
7561         * tests/test-argmatch.c (__attribute__): Remove definition.
7562         (ATTRIBUTE_NORETURN): Update definition. Define always.
7563         * tests/test-exclude.c (__attribute__): Remove definition.
7564         (ATTRIBUTE_NORETURN): Update definition. Define always.
7565         Reported by Paul Eggert.
7566
7567 2011-02-13  Bruno Haible  <bruno@clisp.org>
7568
7569         mbrtowc: Add more tests for native Windows platforms.
7570         * tests/test-mbrtowc-w32-1.sh: New file.
7571         * tests/test-mbrtowc-w32-2.sh: New file.
7572         * tests/test-mbrtowc-w32-3.sh: New file.
7573         * tests/test-mbrtowc-w32-4.sh: New file.
7574         * tests/test-mbrtowc-w32-5.sh: New file.
7575         * tests/test-mbrtowc-w32.c: New file.
7576         * modules/mbrtowc-tests (Files): Add them.
7577         (Makefile.am): Arrange to run these tests.
7578         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
7579         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
7580
7581 2011-02-13  Bruno Haible  <bruno@clisp.org>
7582
7583         mbrtowc: Work around native Windows bug.
7584         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
7585         guess when no suitable locale for testing was found.
7586         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
7587
7588 2011-02-13  Bruno Haible  <bruno@clisp.org>
7589
7590         mbsinit: Work around mingw bug.
7591         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
7592         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
7593         Windows.
7594         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
7595
7596 2011-02-13  Bruno Haible  <bruno@clisp.org>
7597
7598         mbsinit: Don't crash for a NULL argument.
7599         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
7600         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
7601
7602 2011-02-13  Bruno Haible  <bruno@clisp.org>
7603
7604         Don't interfere with a program's definition of __attribute__.
7605         * lib/stdio.in.h (__attribute__): Remove definition.
7606         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
7607         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
7608         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
7609         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
7610         * lib/string.in.h (__attribute__): Remove definition.
7611         Reported by Paul Eggert.
7612
7613 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
7614
7615         stdlib: don't get in the way of non-GCC __attribute__
7616         See thread starting at
7617         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
7618         Revert previous stdlib change, installing the following instead:
7619         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
7620         to get in the way of a non-GCC compiler that supports __attribute__.
7621         (_GL_ATTRIBUTE_RETURN): New macro.
7622         (_Exit): Use it instead of __attribute__.
7623
7624 2011-02-12  Bruno Haible  <bruno@clisp.org>
7625
7626         quotearg test: Avoid test failure on mingw.
7627         * tests/test-quotearg.sh: Convert the locale identifier from native
7628         Windows syntax to Unix syntax.
7629
7630 2011-02-12  Bruno Haible  <bruno@clisp.org>
7631
7632         setlocale: Prefer gnulib's override over libintl's override.
7633         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
7634         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
7635         GNULIB_defined_setlocale is set.
7636
7637 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
7638
7639         stdlib: support non-GCC __attribute__
7640
7641         Fix a serious and tricky problem encountered when attempting to
7642         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
7643         5.5, but it crashed due to memory corruption on Solaris 10 with
7644         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
7645         bits that are otherwise zero.  This tagging is optional inside
7646         Emacs but is preferred and is used when __attribute__ ((__aligned
7647         (8))) works, as it does with both recent-enough GCC and with Sun C
7648         5.11.  However, Sun C 5.11 is not GCC and does not #define
7649         __GNUC__ and __GNUC_MINOR__.
7650
7651         When I added the getloadavg module to Emacs, it brought in
7652         stdlib.in.h, which contained this fragment:
7653
7654            #ifndef __attribute__
7655            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
7656            #  define __attribute__(Spec)   /* empty */
7657            # endif
7658            #endif
7659
7660         When files that include <stdlib.h> were compiled with Sun C 5.11,
7661         the above code disabled __attribute__ ((__aligned (8))), which
7662         caused variables to not be properly aligned, which eventually led
7663         to the pointer corruption mentioned above.  (This was a bit hard
7664         to diagnose, unfortunately.)
7665
7666         Several "#define __attribute__(X) /* empty */" code snippets need
7667         to be eradicated from Gnulib to work with non-GCC compilers that
7668         support __attribute__.  The Autoconf way to do this is to test for
7669         each kind of attribute that we want support for, and selectively
7670         enable that in source code.
7671
7672         Fix this problem just for stdlib.h, by adding a test for the
7673         __noreturn__ attribute, and change stdlib.in.h to use that test
7674         when needed.  This technique can be easily generalized to the
7675         other *.in.h files and attributes, and a similar technique can be
7676         used for *.h and *.c files.  This patch is enough to solve the
7677         problem for Emacs + getloadavg, and I thought I'd publish it for
7678         feedback before undertaking further, similar fixes in other
7679         modules.
7680
7681         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
7682         because it's not needed for stdlib.h.  It merely substitutes the
7683         value directly into stdlib.h.  We may well need to #define it, or
7684         similar symbols, for other modules, but it's nice to also have an
7685         option to not #define it for applications like Emacs that do not
7686         need it.
7687
7688         * lib/stdlib.in.h (__attribute__): Do not #define.
7689         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
7690         be defined only if the _Exit module is also used.
7691         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
7692         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
7693         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
7694         platforms.
7695         * modules/_Exit (Files): Add m4/attribute.m4.
7696         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
7697         * m4/attribute.m4: New file.
7698
7699 2011-02-12  Bruno Haible  <bruno@clisp.org>
7700
7701         wcsrtombs: Work around bug on native Windows.
7702         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
7703         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
7704         instead of len.
7705         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
7706
7707 2011-02-12  Bruno Haible  <bruno@clisp.org>
7708
7709         mbsrtowcs: Work around bug on native Windows.
7710         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
7711         against mingw bug.
7712         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
7713
7714 2011-02-12  Bruno Haible  <bruno@clisp.org>
7715
7716         Avoid setlocale bugs in tests.
7717         * modules/btowc (Dependencies): Add setlocale.
7718         * modules/c-strcase (Dependencies): Likewise.
7719         * modules/mbmemcasecmp (Dependencies): Likewise.
7720         * modules/mbmemcasecoll (Dependencies): Likewise.
7721         * modules/mbrtowc (Dependencies): Likewise.
7722         * modules/mbscasecmp (Dependencies): Likewise.
7723         * modules/mbscasestr (Dependencies): Likewise.
7724         * modules/mbschr (Dependencies): Likewise.
7725         * modules/mbscspn (Dependencies): Likewise.
7726         * modules/mbsinit (Dependencies): Likewise.
7727         * modules/mbsncasecmp (Dependencies): Likewise.
7728         * modules/mbsnrtowcs (Dependencies): Likewise.
7729         * modules/mbspbrk (Dependencies): Likewise.
7730         * modules/mbspcasecmp (Dependencies): Likewise.
7731         * modules/mbsrchr (Dependencies): Likewise.
7732         * modules/mbsrtowcs (Dependencies): Likewise.
7733         * modules/mbsspn (Dependencies): Likewise.
7734         * modules/mbsstr (Dependencies): Likewise.
7735         * modules/nl_langinfo (Dependencies): Likewise.
7736         * modules/quotearg (Dependencies): Likewise.
7737         * modules/unicase/locale-language (Dependencies): Likewise.
7738         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
7739         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
7740         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
7741         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
7742         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
7743         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
7744         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
7745         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
7746         * modules/vasnprintf-posix (Dependencies): Likewise.
7747         * modules/wcrtomb (Dependencies): Likewise.
7748         * modules/wcsnrtombs (Dependencies): Likewise.
7749         * modules/wcsrtombs (Dependencies): Likewise.
7750
7751 2011-02-12  Bruno Haible  <bruno@clisp.org>
7752
7753         setlocale: Workaround native Windows bug.
7754         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
7755         succeeds but sets LC_CTYPE to "C", report a failure.
7756         * tests/test-setlocale2.sh: New file.
7757         * tests/test-setlocale2.c: New file.
7758         * modules/setlocale-tests (Files): Add the new files.
7759         (Makefile.am): Enable test-setlocale2.sh test.
7760         * doc/posix-functions/setlocale.texi: Mention workaround.
7761
7762 2011-02-11  Bruno Haible  <bruno@clisp.org>
7763
7764         Tests for module 'setlocale'.
7765         * modules/setlocale-tests: New file.
7766         * tests/test-setlocale1.sh: New file.
7767         * tests/test-setlocale1.c: New file.
7768
7769         New module 'setlocale'.
7770         * lib/locale.in.h (setlocale): New declaration.
7771         * lib/setlocale.c: New file, based on
7772         gettext/gettext-runtime/intl/setlocale.c.
7773         * m4/setlocale.m4: New file.
7774         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
7775         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
7776         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
7777         REPLACE_SETLOCALE.
7778         * modules/setlocale: New file.
7779         * tests/test-locale-c++.cc: Test the declaration of setlocale.
7780         * doc/posix-functions/setlocale.texi: Mention the new module.
7781
7782 2011-02-11  Bruno Haible  <bruno@clisp.org>
7783
7784         Prepare for locale dependent tests on mingw.
7785         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
7786         because it has the wrong locale encoding.
7787         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
7788         French_France.1252 instead of "fr".
7789         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
7790         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
7791         because it has the wrong locale encoding.
7792         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
7793         native Windows, try Turkish_Turkey.65001.
7794         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
7795         Chinese_China.54936.
7796
7797         Prepare for locale dependent tests on mingw.
7798         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
7799         differently.
7800         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
7801         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
7802         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
7803         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
7804
7805 2011-02-11  Eric Blake  <eblake@redhat.com>
7806
7807         strptime: avoid compiler warnings
7808         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
7809         compiler warnings about dead code.
7810         Reported by Daniel P. Berrange.
7811
7812 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
7813
7814         doc: update users.txt
7815         * users.txt: Add rcs.
7816
7817 2011-02-10  John W. Eaton  <jwe@gnu.org>
7818
7819         doc: update users.txt
7820         * users.txt: Add octave.
7821
7822 2011-02-10  Jim Meyering  <meyering@redhat.com>
7823
7824         doc: update users.txt
7825         * users.txt: Add iwhd.
7826
7827 2011-02-09  Bruno Haible  <bruno@clisp.org>
7828
7829         gnulib-tool: Make copyright notice adjustment more robust.
7830         * gnulib-tool (func_import): In sed_transform_main_lib_file,
7831         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
7832         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
7833         License".
7834         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
7835
7836 2011-02-06  Bruno Haible  <bruno@clisp.org>
7837
7838         New module 'towctrans'.
7839         * modules/towctrans: New file.
7840         * lib/wctype.in.h (towctrans): New declaration.
7841         * lib/towctrans.c: New file.
7842         * lib/towctrans-impl.h: New file.
7843         * m4/towctrans.m4: New file.
7844         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
7845         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
7846         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
7847         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
7848         * doc/posix-functions/towctrans.texi: Mention the new module.
7849
7850 2011-02-06  Bruno Haible  <bruno@clisp.org>
7851
7852         New module 'wctrans'.
7853         * modules/wctrans: New file.
7854         * lib/wctype.in.h (wctrans): New declaration.
7855         * lib/wctrans.c: New file.
7856         * lib/wctrans-impl.h: New file.
7857         * m4/wctrans.m4: New file.
7858         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
7859         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
7860         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
7861         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
7862         * doc/posix-functions/wctrans.texi: Mention the new module.
7863
7864 2011-02-06  Bruno Haible  <bruno@clisp.org>
7865
7866         New module 'iswctype'.
7867         * modules/iswctype: New file.
7868         * lib/wctype.in.h (iswctype): New declaration.
7869         * lib/iswctype.c: New file.
7870         * lib/iswctype-impl.h: New file.
7871         * m4/iswctype.m4: New file.
7872         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
7873         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
7874         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
7875         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
7876         * doc/posix-functions/iswctype.texi: Mention the new module and the
7877         HP-UX 11.00 problem.
7878
7879 2011-02-06  Bruno Haible  <bruno@clisp.org>
7880
7881         New module 'wctype'.
7882         * modules/wctype: Change to represent the wctype() substitute.
7883         * lib/wctype.in.h (wctype): New declaration.
7884         * lib/wctype.c: New file.
7885         * lib/wctype-impl.h: New file.
7886         * m4/wctype.m4: New file.
7887         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
7888         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
7889         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
7890         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
7891         * doc/posix-functions/wctype.texi: Mention the new module and the
7892         HP-UX 11.00 problem.
7893
7894 2011-02-06  Bruno Haible  <bruno@clisp.org>
7895
7896         wctype-h: Ensure wctype_t and wctrans_t are defined.
7897         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
7898         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
7899         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
7900         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
7901         HAVE_WCTRANS_T.
7902         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
7903
7904 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
7905
7906         flock: fix license typo
7907
7908         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
7909         omitted.
7910
7911 2011-02-08  Bruno Haible  <bruno@clisp.org>
7912
7913         Split large sed scripts, for HP-UX sed.
7914         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
7915         to avoid HP-UX limit of 99 commands, in the near future.
7916         * modules/stdlib (Makefile.am): Likewise.
7917         * modules/unistd (Makefile.am): Likewise.
7918         * modules/wchar (Makefile.am): Likewise.
7919         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
7920         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
7921         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
7922
7923 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
7924             Bruno Haible  <bruno@clisp.org>
7925
7926         stdlib: improve random_r modularization
7927         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
7928         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
7929         you also need the random_r module to get this material right.
7930         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
7931         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
7932         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
7933
7934 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
7935
7936         stdlib: don't depend on stdint
7937         * lib/stdlib.in.h: Don't include <stdint.h> merely because
7938         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
7939         be independent of whether stdint.h is needed.
7940         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
7941         here, instead of ...
7942         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
7943         struct random_data should be using the random_r module, not just
7944         the stdlib module (which wouldn't make sense: what package needs
7945         just struct random_data without also needing random_r?).
7946         * modules/stdlib (Depends-on): Remove stdint.
7947
7948         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
7949         See the thread rooted at
7950         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
7951         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
7952         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
7953         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
7954         __VMS)); previously it was always included (via fcntl--.h).
7955         (getloadavg): Do not use c_strtod.  Instead, approximate it by
7956         hand; this is good enough for load averages.  Also, do not use
7957         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
7958         flags directly if available and don't bother otherwise.  (Packages
7959         that need the extra reliability should use the modules that define
7960         these flags on older platforms that lack them.)
7961         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
7962         fcntl-safer.
7963
7964 2011-02-08  Jim Meyering  <meyering@redhat.com>
7965
7966         di-set.h, ino-map.h: add multiple-inclusion guard
7967         Technically, the guard is required only for ino-map.h, due to its
7968         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
7969         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
7970         * lib/ino-map.h: Likewise.
7971
7972 2011-02-06  Bruno Haible  <bruno@clisp.org>
7973
7974         iswblank: Ensure declaration on glibc systems.
7975         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
7976         * modules/iswblank (Dependencies): Add 'extensions'.
7977         * doc/posix-functions/iswblank.texi: Document the glibc problem.
7978
7979 2011-02-06  Bruno Haible  <bruno@clisp.org>
7980
7981         New module 'iswblank'.
7982         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
7983         * modules/iswblank: New file.
7984         * modules/wctype-h (Files): Remove lib/iswblank.c.
7985         (Makefile.am): Substitute GNULIB_ISWBLANK.
7986         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
7987         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
7988         (gl_WCTYPE_H_DEFAULTS): New macro.
7989         (gl_WCTYPE_H): Require it. Remove iswblank related code.
7990         * modules/iswblank-tests: New file.
7991         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
7992         * tests/test-wctype-h.c (main): Remove iswblank tests.
7993         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
7994         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
7995         of 'wctype-h'.
7996         * NEWS: Mention the change.
7997         * modules/mbchar (Depends-on): Add iswblank.
7998
7999 2011-02-08  Bruno Haible  <bruno@clisp.org>
8000
8001         di-set tests: Refactor.
8002         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
8003         unnecessary includes.
8004         (ASSERT): Remove macro.
8005         (main): Make C90 compliant by avoiding variable declaration after
8006         statement.
8007         * modules/di-set-tests (Files): Add tests/macros.h.
8008
8009 2011-02-08  Bruno Haible  <bruno@clisp.org>
8010
8011         ino-map tests: Refactor.
8012         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
8013         unnecessary includes.
8014         (ASSERT): Remove macro.
8015         (main): Make C90 compliant by avoiding variable declaration after
8016         statement.
8017         * modules/ino-map-tests (Files): Add tests/macros.h.
8018
8019 2011-02-08  Jim Meyering  <meyering@redhat.com>
8020
8021         di-set: add "const" to a cast
8022         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
8023         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
8024
8025 2011-02-06  Bruno Haible  <bruno@clisp.org>
8026
8027         Rename module 'wctype' to 'wctype-h'.
8028         * modules/wctype-h: Renamed from modules/wctype.
8029         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
8030         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
8031         (Files, Depends-on, Makefile.am): Update.
8032         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
8033         (Files, Makefile.am): Update.
8034         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
8035         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
8036         * doc/posix-headers/wctype.texi: Update.
8037         * doc/posix-functions/iswalnum.texi: Update.
8038         * doc/posix-functions/iswalpha.texi: Update.
8039         * doc/posix-functions/iswblank.texi: Update.
8040         * doc/posix-functions/iswcntrl.texi: Update.
8041         * doc/posix-functions/iswdigit.texi: Update.
8042         * doc/posix-functions/iswgraph.texi: Update.
8043         * doc/posix-functions/iswlower.texi: Update.
8044         * doc/posix-functions/iswprint.texi: Update.
8045         * doc/posix-functions/iswpunct.texi: Update.
8046         * doc/posix-functions/iswspace.texi: Update.
8047         * doc/posix-functions/iswupper.texi: Update.
8048         * doc/posix-functions/iswxdigit.texi: Update.
8049         * doc/posix-functions/towlower.texi: Update.
8050         * doc/posix-functions/towupper.texi: Update.
8051         * NEWS: Mention the change.
8052         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
8053         * modules/mbchar (Dependencies): Likewise.
8054         * modules/mbswidth (Dependencies): Likewise.
8055         * modules/quotearg (Dependencies): Likewise.
8056         * modules/regex (Dependencies): Likewise.
8057         * modules/wcscasecmp (Dependencies): Likewise.
8058         * modules/wcsncasecmp (Dependencies): Likewise.
8059         * modules/wcwidth (Dependencies): Likewise.
8060
8061 2011-02-06  Bruno Haible  <bruno@clisp.org>
8062
8063         New module 'wcswidth'.
8064         * modules/wcswidth: New file.
8065         * lib/wchar.in.h (wcswidth): New declaration.
8066         * lib/wcswidth.c: New file.
8067         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
8068         * m4/wcswidth.m4: New file.
8069         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
8070         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
8071         REPLACE_WCSWIDTH.
8072         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
8073         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
8074         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
8075         * doc/posix-functions/wcswidth.texi: Mention the new module.
8076
8077 2011-02-06  Bruno Haible  <bruno@clisp.org>
8078
8079         New module 'wcstok'.
8080         * modules/wcstok: New file.
8081         * lib/wchar.in.h (wcstok): New declaration.
8082         * lib/wcstok.c: New file.
8083         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
8084         * m4/wcstok.m4: New file.
8085         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
8086         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
8087         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
8088         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
8089         * doc/posix-functions/wcstok.texi: Mention the new module.
8090
8091 2011-02-06  Bruno Haible  <bruno@clisp.org>
8092
8093         New module 'wcsstr'.
8094         * modules/wcsstr: New file.
8095         * lib/wchar.in.h (wcsstr): New declaration.
8096         * lib/wcsstr.c: New file.
8097         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
8098         * m4/wcsstr.m4: New file.
8099         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
8100         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
8101         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
8102         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
8103         * doc/posix-functions/wcsstr.texi: Mention the new module.
8104
8105 2011-02-06  Bruno Haible  <bruno@clisp.org>
8106
8107         New module 'wcspbrk'.
8108         * modules/wcspbrk: New file.
8109         * lib/wchar.in.h (wcspbrk): New declaration.
8110         * lib/wcspbrk.c: New file.
8111         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
8112         * m4/wcspbrk.m4: New file.
8113         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
8114         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
8115         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
8116         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
8117         * doc/posix-functions/wcspbrk.texi: Mention the new module.
8118
8119 2011-02-06  Bruno Haible  <bruno@clisp.org>
8120
8121         New module 'wcsspn'.
8122         * modules/wcsspn: New file.
8123         * lib/wchar.in.h (wcsspn): New declaration.
8124         * lib/wcsspn.c: New file.
8125         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
8126         * m4/wcsspn.m4: New file.
8127         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
8128         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
8129         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
8130         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
8131         * doc/posix-functions/wcsspn.texi: Mention the new module.
8132
8133 2011-02-06  Bruno Haible  <bruno@clisp.org>
8134
8135         New module 'wcscspn'.
8136         * modules/wcscspn: New file.
8137         * lib/wchar.in.h (wcscspn): New declaration.
8138         * lib/wcscspn.c: New file.
8139         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
8140         * m4/wcscspn.m4: New file.
8141         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
8142         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
8143         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
8144         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
8145         * doc/posix-functions/wcscspn.texi: Mention the new module.
8146
8147 2011-02-06  Bruno Haible  <bruno@clisp.org>
8148
8149         New module 'wcsrchr'.
8150         * modules/wcsrchr: New file.
8151         * lib/wchar.in.h (wcsrchr): New declaration.
8152         * lib/wcsrchr.c: New file.
8153         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
8154         * m4/wcsrchr.m4: New file.
8155         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
8156         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
8157         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
8158         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
8159         * doc/posix-functions/wcsrchr.texi: Mention the new module.
8160
8161 2011-02-06  Bruno Haible  <bruno@clisp.org>
8162
8163         New module 'wcschr'.
8164         * modules/wcschr: New file.
8165         * lib/wchar.in.h (wcschr): New declaration.
8166         * lib/wcschr.c: New file.
8167         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
8168         * m4/wcschr.m4: New file.
8169         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
8170         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
8171         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
8172         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
8173         * doc/posix-functions/wcschr.texi: Mention the new module.
8174
8175 2011-02-06  Bruno Haible  <bruno@clisp.org>
8176
8177         New module 'wcsdup'.
8178         * modules/wcsdup: New file.
8179         * lib/wchar.in.h (wcsdup): New declaration.
8180         * lib/wcsdup.c: New file.
8181         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
8182         * m4/wcsdup.m4: New file.
8183         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
8184         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
8185         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
8186         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
8187         * doc/posix-functions/wcsdup.texi: Mention the new module.
8188
8189 2011-02-06  Bruno Haible  <bruno@clisp.org>
8190
8191         New module 'wcsxfrm'.
8192         * modules/wcsxfrm: New file.
8193         * lib/wchar.in.h (wcsxfrm): New declaration.
8194         * lib/wcsxfrm.c: New file.
8195         * lib/wcsxfrm-impl.h: New file.
8196         * m4/wcsxfrm.m4: New file.
8197         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
8198         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
8199         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
8200         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
8201         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
8202
8203 2011-02-06  Bruno Haible  <bruno@clisp.org>
8204
8205         New module 'wcscoll'.
8206         * modules/wcscoll: New file.
8207         * lib/wchar.in.h (wcscoll): New declaration.
8208         * lib/wcscoll.c: New file.
8209         * lib/wcscoll-impl.h: New file.
8210         * m4/wcscoll.m4: New file.
8211         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
8212         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
8213         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
8214         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
8215         * doc/posix-functions/wcscoll.texi: Mention the new module.
8216
8217 2011-02-06  Bruno Haible  <bruno@clisp.org>
8218
8219         New module 'wcsncasecmp'.
8220         * modules/wcsncasecmp: New file.
8221         * lib/wchar.in.h (wcsncasecmp): New declaration.
8222         * lib/wcsncasecmp.c: New file.
8223         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
8224         * m4/wcsncasecmp.m4: New file.
8225         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
8226         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
8227         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
8228         HAVE_WCSNCASECMP.
8229         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
8230         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
8231
8232 2011-02-06  Bruno Haible  <bruno@clisp.org>
8233
8234         New module 'wcscasecmp'.
8235         * modules/wcscasecmp: New file.
8236         * lib/wchar.in.h (wcscasecmp): New declaration.
8237         * lib/wcscasecmp.c: New file.
8238         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
8239         * m4/wcscasecmp.m4: New file.
8240         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
8241         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
8242         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
8243         HAVE_WCSCASECMP.
8244         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
8245         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
8246
8247 2011-02-05  Bruno Haible  <bruno@clisp.org>
8248
8249         New module 'wcsncmp'.
8250         * modules/wcsncmp: New file.
8251         * lib/wchar.in.h (wcsncmp): New declaration.
8252         * lib/wcsncmp.c: New file.
8253         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
8254         * m4/wcsncmp.m4: New file.
8255         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
8256         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
8257         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
8258         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
8259         * doc/posix-functions/wcsncmp.texi: Mention the new module.
8260
8261 2011-02-05  Bruno Haible  <bruno@clisp.org>
8262
8263         New module 'wcscmp'.
8264         * modules/wcscmp: New file.
8265         * lib/wchar.in.h (wcscmp): New declaration.
8266         * lib/wcscmp.c: New file.
8267         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
8268         * m4/wcscmp.m4: New file.
8269         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
8270         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
8271         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
8272         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
8273         * doc/posix-functions/wcscmp.texi: Mention the new module.
8274
8275 2011-02-05  Bruno Haible  <bruno@clisp.org>
8276
8277         New module 'wcsncat'.
8278         * modules/wcsncat: New file.
8279         * lib/wchar.in.h (wcsncat): New declaration.
8280         * lib/wcsncat.c: New file.
8281         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
8282         * m4/wcsncat.m4: New file.
8283         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
8284         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
8285         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
8286         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
8287         * doc/posix-functions/wcsncat.texi: Mention the new module.
8288
8289 2011-02-05  Bruno Haible  <bruno@clisp.org>
8290
8291         New module 'wcscat'.
8292         * modules/wcscat: New file.
8293         * lib/wchar.in.h (wcscat): New declaration.
8294         * lib/wcscat.c: New file.
8295         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
8296         * m4/wcscat.m4: New file.
8297         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
8298         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
8299         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
8300         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
8301         * doc/posix-functions/wcscat.texi: Mention the new module.
8302
8303 2011-02-05  Bruno Haible  <bruno@clisp.org>
8304
8305         New module 'wcpncpy'.
8306         * modules/wcpncpy: New file.
8307         * lib/wchar.in.h (wcpncpy): New declaration.
8308         * lib/wcpncpy.c: New file.
8309         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
8310         * m4/wcpncpy.m4: New file.
8311         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
8312         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
8313         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
8314         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
8315         * doc/posix-functions/wcpncpy.texi: Mention the new module.
8316
8317 2011-02-05  Bruno Haible  <bruno@clisp.org>
8318
8319         New module 'wcsncpy'.
8320         * modules/wcsncpy: New file.
8321         * lib/wchar.in.h (wcsncpy): New declaration.
8322         * lib/wcsncpy.c: New file.
8323         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
8324         * m4/wcsncpy.m4: New file.
8325         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
8326         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
8327         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
8328         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
8329         * doc/posix-functions/wcsncpy.texi: Mention the new module.
8330
8331 2011-02-05  Bruno Haible  <bruno@clisp.org>
8332
8333         New module 'wcpcpy'.
8334         * modules/wcpcpy: New file.
8335         * lib/wchar.in.h (wcpcpy): New declaration.
8336         * lib/wcpcpy.c: New file.
8337         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
8338         * m4/wcpcpy.m4: New file.
8339         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
8340         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
8341         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
8342         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
8343         * doc/posix-functions/wcpcpy.texi: Mention the new module.
8344
8345 2011-02-05  Bruno Haible  <bruno@clisp.org>
8346
8347         New module 'wcscpy'.
8348         * modules/wcscpy: New file.
8349         * lib/wchar.in.h (wcscpy): New declaration.
8350         * lib/wcscpy.c: New file.
8351         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
8352         * m4/wcscpy.m4: New file.
8353         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
8354         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
8355         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
8356         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
8357         * doc/posix-functions/wcscpy.texi: Mention the new module.
8358
8359 2011-02-05  Bruno Haible  <bruno@clisp.org>
8360
8361         New module 'wcsnlen'.
8362         * modules/wcsnlen: New file.
8363         * lib/wchar.in.h (wcsnlen): New declaration.
8364         * lib/wcsnlen.c: New file.
8365         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
8366         * m4/wcsnlen.m4: New file.
8367         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
8368         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
8369         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
8370         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
8371         * doc/posix-functions/wcsnlen.texi: Mention the new module.
8372
8373 2011-02-05  Bruno Haible  <bruno@clisp.org>
8374
8375         New module 'wcslen'.
8376         * modules/wcslen: New file.
8377         * lib/wchar.in.h (wcslen): New declaration.
8378         * lib/wcslen.c: New file.
8379         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
8380         * m4/wcslen.m4: New file.
8381         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
8382         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
8383         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
8384         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
8385         * doc/posix-functions/wcslen.texi: Mention the new module.
8386
8387 2011-02-05  Bruno Haible  <bruno@clisp.org>
8388
8389         New module 'wmemset'.
8390         * modules/wmemset: New file.
8391         * lib/wchar.in.h (wmemset): New declaration.
8392         * lib/wmemset.c: New file.
8393         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
8394         * m4/wmemset.m4: New file.
8395         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
8396         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
8397         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
8398         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
8399         * doc/posix-functions/wmemset.texi: Mention the new module.
8400
8401 2011-02-05  Bruno Haible  <bruno@clisp.org>
8402
8403         New module 'wmemmove'.
8404         * modules/wmemmove: New file.
8405         * lib/wchar.in.h (wmemmove): New declaration.
8406         * lib/wmemmove.c: New file.
8407         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
8408         * m4/wmemmove.m4: New file.
8409         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
8410         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
8411         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
8412         HAVE_WMEMMOVE.
8413         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
8414         * doc/posix-functions/wmemmove.texi: Mention the new module.
8415
8416 2011-02-05  Bruno Haible  <bruno@clisp.org>
8417
8418         New module 'wmemcpy'.
8419         * modules/wmemcpy: New file.
8420         * lib/wchar.in.h (wmemcpy): New declaration.
8421         * lib/wmemcpy.c: New file.
8422         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
8423         * m4/wmemcpy.m4: New file.
8424         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
8425         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
8426         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
8427         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
8428         * doc/posix-functions/wmemcpy.texi: Mention the new module.
8429
8430 2011-02-05  Bruno Haible  <bruno@clisp.org>
8431
8432         New module 'wmemcmp'.
8433         * modules/wmemcmp: New file.
8434         * lib/wchar.in.h (wmemcmp): New declaration.
8435         * lib/wmemcmp.c: New file.
8436         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
8437         * m4/wmemcmp.m4: New file.
8438         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
8439         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
8440         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
8441         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
8442         * doc/posix-functions/wmemcmp.texi: Mention the new module.
8443
8444 2011-02-07  Jim Meyering  <meyering@redhat.com>
8445
8446         di-set, ino-map: new modules, from coreutils
8447         * lib/di-set.c: New file.
8448         * lib/di-set.h: Likewise.
8449         * lib/ino-map.c: Likewise.
8450         * lib/ino-map.h: Likewise.
8451         * modules/di-set: Likewise.
8452         * modules/di-set-tests: Likewise.
8453         * modules/ino-map: Likewise.
8454         * modules/ino-map-tests: Likewise.
8455         * tests/test-di-set.c: Likewise.
8456         * tests/test-ino-map.c: Likewise.
8457
8458 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
8459
8460         getloadavg: merge minor changes from Emacs
8461
8462         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
8463         (getloadavg): Use memset, not bzero.
8464
8465         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
8466         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
8467         clash (bug#86).
8468
8469 2010-11-14  Bruno Haible  <bruno@clisp.org>
8470
8471         Allow multiple gnulib generated replacements to coexist.
8472         * lib/getopt.in.h (struct option): Avoid identical redefinition.
8473         * lib/inttypes.in.h (imaxdiv_t): Likewise.
8474         * lib/langinfo.in.h (nl_item): Likewise.
8475         * lib/math.in.h (_NaN, NAN): Likewise.
8476         * lib/netdb.in.h (struct addrinfo): Likewise.
8477         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
8478         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
8479         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
8480         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
8481         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
8482         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
8483         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
8484         pthread_mutexattr_init, pthread_mutexattr_settype,
8485         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
8486         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
8487         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
8488         pthread_spin_trylock, pthread_spin_unlock): Likewise.
8489         * lib/sched.in.h (struct sched_param): Likewise.
8490         * lib/se-selinux.in.h (security_class_t, security_context_t,
8491         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
8492         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
8493         lsetfilecon, fsetfilecon, security_check_context,
8494         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
8495         Likewise.
8496         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
8497         Likewise.
8498         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
8499         _gl_function_taking_int_returning_void_t, union sigval,
8500         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
8501         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
8502         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
8503         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
8504         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
8505         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
8506         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
8507         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
8508         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
8509         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
8510         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
8511         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
8512         socklen_t, rpl_fd_isset): Likewise.
8513         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
8514         * lib/sys_time.in.h (struct timeval): Likewise.
8515         * lib/sys_times.in.h (struct tms): Likewise.
8516         * lib/sys_utsname.in.h (struct utsname):
8517         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
8518         * lib/unistd.in.h (getpagesize): Likewise.
8519         * lib/wchar.in.h (mbstate_t): Likewise.
8520         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
8521         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
8522         towlower, towupper): Likewise.
8523         Reported by Sam Steingold <sds@gnu.org>.
8524
8525 2011-02-05  Eric Blake  <eblake@redhat.com>
8526
8527         unsetenv: work around Haiku issues
8528         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
8529         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
8530
8531 2010-12-30  Bruce Korb  <bkorb@gnu.org>
8532
8533         libposix: avoid calling error() within libposix
8534         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
8535         is defined.
8536
8537 2011-02-05  Eric Blake  <eblake@redhat.com>
8538
8539         strerror_r-posix: port to cygwin
8540         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
8541         implementation.
8542         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
8543         * tests/test-strerror_r.c (main): Fix test.
8544         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
8545         issue.
8546
8547 2011-02-05  Bruno Haible  <bruno@clisp.org>
8548
8549         New module 'wmemchr'.
8550         * modules/wmemchr: New file.
8551         * lib/wchar.in.h (wmemchr): New declaration.
8552         * lib/wmemchr.c: New file.
8553         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
8554         * m4/wmemchr.m4: New file.
8555         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
8556         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
8557         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
8558         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
8559         * doc/posix-functions/wmemchr.texi: Mention the new module.
8560
8561 2011-02-04  Eric Blake  <eblake@redhat.com>
8562
8563         fdopendir: detect FreeBSD bug
8564         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
8565         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
8566
8567 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
8568
8569         stdbool: do not define HAVE_STDBOOL_H
8570         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
8571         AC_HEADER_STDBOOL.  All uses changed.  Do not define
8572         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
8573         imported from the latest Autoconf git.  It was motivated by Emacs,
8574         which uses gnulib but does not need HAVE_STDBOOL_H.
8575
8576 2011-02-04  Bruno Haible  <bruno@clisp.org>
8577
8578         wcsnrtombs: Prepare for new module wwcsnrtombs.
8579         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
8580         * lib/wcsnrtombs.c: Include it.
8581         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
8582
8583         wcsrtombs: Prepare for new module wwcsrtombs.
8584         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
8585         * lib/wcsrtombs.c: Include it.
8586         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
8587
8588         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
8589         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
8590         * lib/mbsnrtowcs.c: Include it.
8591         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
8592
8593         mbsrtowcs: Prepare for new module mbsrtowwcs.
8594         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
8595         * lib/mbsrtowcs.c: Include it.
8596         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
8597
8598 2011-02-04  Bruno Haible  <bruno@clisp.org>
8599
8600         vasnprintf: Reduce use of malloc for small format strings.
8601         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
8602         (arguments): Add room for the first 7 arguments.
8603         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
8604         (char_directives, u8_directives, u16_directives, u32_directives): Add
8605         room for the first 7 directives.
8606         * lib/printf-parse.c: Include <string.h>.
8607         (PRINTF_PARSE): Change memory handling code so that it uses the first
8608         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
8609         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
8610         Reported by Pádraig Brady <P@draigbrady.com>.
8611
8612 2011-01-31  Eric Blake  <eblake@redhat.com>
8613
8614         dup2: work around Haiku bug
8615         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
8616         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
8617         * doc/posix-functions/dup2.texi (dup2): Document the bug.
8618         * tests/test-dup2.c (main): Enhance test.
8619
8620 2011-01-31  Simon Josefsson  <simon@josefsson.org>
8621
8622         doc: off_t is not available in eglibc 2.11.2 stdio.h.
8623         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
8624         declared by eglibc 2.11.2.
8625         * lib/stdio.in.h: Likewise.
8626
8627 2011-01-31  Eric Blake  <eblake@redhat.com>
8628
8629         ignore-value: add missing test dependency
8630         * tests/test-ignore-value.c: Revert previous change; stdio.h
8631         provides off_t.
8632         * modules/ignore-value-tests (Depends-on): Add missing dependency.
8633
8634 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
8635
8636         mktime: clarify long_int width checking
8637         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
8638         the top level, to make it clearer that the assumption about
8639         long_int width is being checked.  See
8640         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
8641
8642 2011-01-30  Simon Josefsson  <simon@josefsson.org>
8643
8644         ignore-value: Fix self-test.
8645         * tests/test-ignore-value.c: Include sys/types.h for off_t.
8646
8647 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
8648
8649         TYPE_MAXIMUM: avoid theoretically undefined behavior
8650         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
8651         negative number, which the C Standard says has undefined behavior.
8652         In practice this is not a problem, but might as well do it by the book.
8653         Reported by Rich Felker and Eric Blake; see
8654         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
8655         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
8656         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
8657         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
8658         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
8659         * m4/stdint.m4 (gl_STDINT_H): Likewise.
8660         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
8661
8662         mktime: #undef mktime before #defining it
8663         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
8664
8665         mktime: systematically normalize tm_isdst comparisons
8666         * lib/mktime.c (isdst_differ): New function.
8667         (__mktime_internal): Use it systematically for all isdst comparisons.
8668         This completes the fix for libc BZ #6723, and removes the need for
8669         normalizing tm_isdst.  See
8670         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
8671         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
8672
8673         mktime: fix some integer overflow issues and sidestep the rest
8674
8675         This was prompted by a bug report by Benjamin Lindner for MinGW
8676         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
8677         His bug is due to signed integer overflow (0 - INT_MIN), and I
8678         I scanned through mktime.c looking for other integer overflow
8679         problems, fixing all the bugs I found.
8680
8681         Although the C Standard says the resulting code is still not safe
8682         in the presence of integer overflow, in practice it should be good
8683         enough for all real-world two's-complement implementations, except
8684         for debugging environments that deliberately trap on integer
8685         overflow (e.g., gcc -ftrapv).
8686
8687         * lib/mktime.c (WRAPV): New macro.
8688         (SHR): Also check that long_int and time_t shift right in the
8689         usual way, before using the fast-but-unportable method.
8690         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
8691         used.  The code already assumed two's complement, so there's
8692         no need to test for alternatives.  All uses removed.
8693         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
8694         the C standard.  Problem reported by Rich Felker in
8695         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
8696         (twos_complement_arithmetic): Also check long_int and time_t.
8697         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
8698         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
8699         (__mktime_internal): Avoid integer overflow with unary subtraction
8700         in two instances where -1 - X is an adequate replacement for -X,
8701         since the calculations are approximate.
8702
8703 2011-01-29  Eric Blake  <eblake@redhat.com>
8704
8705         mktime: avoid infinite loop
8706         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
8707         type; behavior is still undefined but portable to all known targets.
8708         Reported by Rich Felker.
8709
8710 2011-01-29  Simon Josefsson  <simon@josefsson.org>
8711
8712         rename, unlink, same-inode: Relicense.
8713         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
8714         * modules/unlink (License): Likewise.
8715         * modules/same-inode (License): Likewise.
8716
8717 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
8718
8719         mktime: avoid problems on NetBSD 5 / i386
8720         * lib/mktime.c (long_int): New type.  This works around a problem
8721         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
8722         but time_t is 64 bits, and where I expect the existing code is
8723         wrong in some cases.
8724         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
8725         (ydhms_diff): Bring back the compile-time check for wide-enough
8726         year and yday.
8727
8728         mktime: fix misspelling in comment
8729         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
8730         This merges all recent glibc changes of importance.
8731
8732 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8733
8734         move-if-change: cope with concurrent mv of identical file.
8735         * build-aux/move-if-change (CMPPROG): Accept environment
8736         variable as an override for `cmp'.
8737         (usage): Document CMPPROG.
8738         Adjust comparison to drop stdout.  Cope with failure of mv if
8739         the target file exists and is identical to the source, for
8740         parallel builds.
8741         Report from H.J. Lu against binutils in PR binutils/12283.
8742
8743 2011-01-28  Bruce Korb  <bkorb@gnu.org>
8744
8745         * users.txt: Mention sharutils.
8746
8747 2011-01-28  Simon Josefsson  <simon@josefsson.org>
8748
8749         * users.txt: Mention OATH Toolkit.
8750
8751 2011-01-27  Bruno Haible  <bruno@clisp.org>
8752
8753         Prepare for supporting FreeBSD 10.
8754         * build-aux/config.libpath: Remove handling of freebsd1*.
8755
8756 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
8757
8758         Prepare for supporting FreeBSD 10.
8759         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
8760         match FreeBSD 10.0.
8761
8762 2011-01-27  Bruno Haible  <bruno@clisp.org>
8763
8764         vma-iter, get-rusage-as: Add OpenBSD support.
8765         * modules/vma-iter (configure.ac): Test for mquery.
8766         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
8767         * lib/vma-iter.c: Include <sys/mman.h>.
8768         (vma_iterate): Add an implementation based on mquery().
8769         * lib/resource-ext.h (get_rusage_as): Update comments.
8770         * lib/get-rusage-as.c: Likewise.
8771         * lib/get-rusage-data.c: Likewise.
8772
8773 2011-01-26  Karl Berry  <karl@gnu.org>
8774
8775         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
8776         variables to make it easier to override the makeinfo program used.
8777
8778 2011-01-26  Eric Blake  <eblake@redhat.com>
8779
8780         fcntl: work around Haiku F_DUPFD bugs
8781         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
8782         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
8783         cloexec bit on duplication.
8784         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
8785
8786 2011-01-26  Bruno Haible  <bruno@clisp.org>
8787
8788         Enable memory leak tests on AIX.
8789         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
8790         * tests/test-fprintf-posix3.c (main): Likewise.
8791
8792 2011-01-26  Bruno Haible  <bruno@clisp.org>
8793
8794         Tests for module 'get-rusage-data'.
8795         * modules/get-rusage-data-tests: New file.
8796         * tests/test-get-rusage-data.c: New file.
8797
8798         New module 'get-rusage-data'.
8799         * lib/resource-ext.h (get_rusage_data): New declaration.
8800         * lib/get-rusage-data.c: New file.
8801         * modules/get-rusage-data: New file.
8802
8803 2011-01-25  Bruno Haible  <bruno@clisp.org>
8804
8805         get-rusage-as: Allow for easier testing.
8806         * lib/resource-ext.h (get_rusage_as): Add comment.
8807         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
8808         (main): New function for interactive testing.
8809
8810 2011-01-25  Bruno Haible  <bruno@clisp.org>
8811
8812         vma-iter: Treat Haiku like BeOS.
8813         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
8814         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
8815
8816 2011-01-25  Eric Blake  <eblake@redhat.com>
8817
8818         c-stack: fix regression on cygwin when libsigsegv is present
8819         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
8820
8821 2011-01-24  Bruno Haible  <bruno@clisp.org>
8822
8823         vma-iter: Avoid empty intervals.
8824         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
8825         on an empty interval.
8826
8827 2011-01-24  Jim Meyering  <meyering@redhat.com>
8828
8829         u64: remove unnecessary #include
8830         * lib/u64.h: Don't include <stddef.h>.  It was not used.
8831
8832 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
8833
8834         Allow the user to avoid the HAVE_RAW_DECL_* macros.
8835         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
8836
8837 2011-01-23  Bruno Haible  <bruno@clisp.org>
8838
8839         New module 'vma-iter'.
8840         * lib/vma-iter.h: New file.
8841         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
8842         * modules/vma-iter: New file.
8843         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
8844         for get_rusage_as_via_iterator.
8845         (vma_iterate_callback): New function.
8846         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
8847         * modules/get-rusage-as (Depends-on): Add vma-iter.
8848
8849 2011-01-23  Bruno Haible  <bruno@clisp.org>
8850
8851         uninorm: Tweak includes.
8852         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
8853         Reported by Jim Meyering.
8854
8855 2011-01-23  Bruno Haible  <bruno@clisp.org>
8856
8857         get-rusage-as: Improve on NetBSD.
8858         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
8859         /proc, like on FreeBSD.
8860
8861 2011-01-23  Jim Meyering  <meyering@redhat.com>
8862
8863         xreadlink.h: remove unnecessary #include
8864         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
8865
8866         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
8867         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
8868
8869 2011-01-23  Bruno Haible  <bruno@clisp.org>
8870
8871         get-rusage-as: Fix bug.
8872         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
8873         original limit when aborting the first loop.
8874
8875 2011-01-23  Bruno Haible  <bruno@clisp.org>
8876
8877         wctype: Ensure valid C syntax.
8878         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
8879         unconditionally, instead of gl_NEXT_HEADERS conditionally.
8880
8881 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
8882
8883         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
8884         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
8885         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
8886         as they are needed only for configure's test case.
8887         This removes two unnecessary symbols from config.h.
8888
8889         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
8890         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
8891         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
8892         AC_CHECK_HEADERS_ONCE on a header that we also invoke
8893         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
8894         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
8895         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
8896         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
8897         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
8898         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
8899         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
8900         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
8901         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
8902         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
8903         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
8904         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
8905         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
8906         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
8907
8908 2011-01-21  Eric Blake  <eblake@redhat.com>
8909
8910         maintainer-makefile: work with older git for submodule check
8911         * top/maint.mk (public-submodule-commit): Rewrite to avoid
8912         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
8913         Reported by Matthias Bolte.
8914
8915         bootstrap: minor portability fixes
8916         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
8917         (usage): Omit leading capital and trailing . on help phrases, per
8918         GNU Coding Standards.
8919         (check_versions, top level): Prefix messages with script name.
8920
8921 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
8922
8923         bootstrap: support --no-git option
8924         * build-aux/bootstrap: Add --no-git option, to be used when
8925         --gnulib-srcdir points to the exact desired checkout.
8926
8927 2011-01-21  Eric Blake  <eblake@redhat.com>
8928
8929         strerror_r-posix: work with glibc 2.13
8930         * lib/strerror_r.c (strerror_r): Fix return type.
8931
8932 2011-01-21  Pádraig Brady  <P@draigBrady.com>
8933             Bruno Haible  <bruno@clisp.org>
8934
8935         uN_strstr: New unit tests.
8936         * modules/unistr/u8-strstr-tests: New file.
8937         * modules/unistr/u16-strstr-tests: New file.
8938         * modules/unistr/u32-strstr-tests: New file.
8939         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
8940         * tests/unistr/test-u8-strstr.c: New file.
8941         * tests/unistr/test-u16-strstr.c: New file.
8942         * tests/unistr/test-u32-strstr.c: New file.
8943
8944 2011-01-21  Pádraig Brady  <P@draigBrady.com>
8945             Bruno Haible  <bruno@clisp.org>
8946
8947         Make uN_strstr functions O(n) worst-case.
8948         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
8949         16-bit and 32-bit unit cases, use the unibyte algorithm from
8950         lib/mbsstr.c.
8951         * lib/unistr/u8-strstr.c: Include <string.h>.
8952         (UNIT_IS_UINT8_T): New macro.
8953         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
8954         (U_STRLEN, U_STRNLEN): New macros.
8955         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
8956         (U_STRLEN, U_STRNLEN): New macros.
8957         * modules/unistr/u8-strstr (Depends-on): Add strstr.
8958         (configure.ac): Update required libunistring version.
8959         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
8960         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
8961         malloca.
8962         (configure.ac): Update required libunistring version.
8963         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
8964         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
8965         malloca.
8966         (configure.ac): Update required libunistring version.
8967
8968 2011-01-21  Pádraig Brady  <P@draigBrady.com>
8969             Bruno Haible  <bruno@clisp.org>
8970
8971         Prepare for faster uN_strstr functions.
8972         * lib/str-kmp.h: Support definable UNITs.
8973         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
8974         needle_len argument.
8975         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
8976         * lib/mbscasestr.c (mbscasestr): Likewise.
8977
8978 2011-01-21  Pádraig Brady <P@draigBrady.com>
8979
8980         malloca-tests: make faster by unsetting MALLOC_PERTURB_
8981         * tests/test-malloca.c (main): Unset the environment variable
8982         to greatly speed up the test.
8983         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
8984         * modules/malloca-tests: Depend on unsetenv.
8985
8986 2011-01-21  Pádraig Brady <P@draigBrady.com>
8987
8988         ignore-value: remove stdint dependency
8989         * lib/ignore-value.h: Remove <stdint.h>
8990         * modules/ignore-value: Remove stdint dependency.
8991
8992 2011-01-21  Jim Meyering  <meyering@redhat.com>
8993
8994         maint.mk: adjust variable name to be consistent with other gl_ vars
8995         * top/maint.mk (gl_public_submodule_commit): Rename the variable
8996         to be lower case.
8997
8998 2011-01-20  Jim Meyering  <meyering@redhat.com>
8999
9000         maint.mk: make "check" depend on public-submodule-commit by default
9001         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
9002
9003 2011-01-20  Bruno Haible  <bruno@clisp.org>
9004
9005         mbfile, mbiter: Complete change from 2008-12-21.
9006         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
9007         * m4/mbiter.m4 (gl_MBITER): Likewise.
9008
9009 2011-01-20  Jim Meyering  <meyering@redhat.com>
9010
9011         init.sh: insert space between each function name and "()"
9012         * tests/init.sh: Make it a little easier to see that a function's
9013         name is "warn_", and not "warn" when looking at the first part of
9014         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
9015
9016 2011-01-20  Jim Meyering  <meyering@redhat.com>
9017
9018         mountlist: clean up code formatting
9019         * lib/mountlist.c (read_file_system_list): Split a long line,
9020         correct bracing style, use NULL in place of "(struct statfs *)0",
9021         don't parenthesize return value, add spaces around "=" and after
9022         ";-in-for-stmt".
9023
9024 2011-01-14  Markus Duft <mduft@gentoo.org>
9025
9026         mountlist: add support for Interix
9027         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
9028         Apply statvfs to all entries of /dev/fs.
9029         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
9030         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
9031
9032 2011-01-20  Jim Meyering  <meyering@redhat.com>
9033
9034         maint.mk: improve the public-submodule-commit rule
9035         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
9036         to suppress printing of its commands... unless V=1.
9037         Add git submodule's --quiet option to suppress printing of e.g.,
9038         "Entering gnulib" output.
9039         "cd" into $(srcdir) before running git submodule.
9040
9041 2011-01-20  Bruno Haible  <bruno@clisp.org>
9042
9043         include_next: Fix bug introduced on 2011-01-18.
9044         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
9045         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
9046         ac_cv_header_... variable if the second argument is not 'check'.
9047         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
9048         gl_NEXT_HEADERS_INTERNAL.
9049
9050 2011-01-20  Bruno Haible  <bruno@clisp.org>
9051
9052         Allow the user to avoid the GNULIB_TEST_* macros.
9053         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
9054         Suggested by Paul Eggert.
9055
9056 2011-01-14  Jim Meyering  <meyering@redhat.com>
9057
9058         bootstrap: avoid failure when there is no .gitmodules file
9059         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
9060         has been assigned to, even when its value is the empty string.
9061         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
9062         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
9063         Reported by John W. Eaton <jwe@gnu.org>.
9064
9065 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
9066
9067         assume <ctype.h>, ..., <time.h> exist
9068         For years gnulib has been assuming the existence of the headers
9069         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
9070         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
9071         them, since they don't appear to be needed.
9072         * README (Portability guidelines): Document this.
9073         * lib/flock.c: Assume <fcntl.h> exists.
9074         * lib/regex_internal.h: Assume <locale.h> exists.
9075         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
9076         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
9077         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
9078         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
9079         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
9080         * m4/regex.m4 (gl_REGEX): Likewise.
9081         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
9082         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
9083         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
9084         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
9085         * tests/test-argp.c: Likewise.
9086         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
9087
9088         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
9089         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
9090         AA_APPLE_UNIVERSAL_BUILD.  See
9091         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
9092         * NEWS: Document this.
9093
9094 2011-01-19  Eric Blake  <eblake@redhat.com>
9095
9096         c-stack: assume stack overflow if SA_SIGINFO unsupported
9097         * lib/c-stack.c (SIGACTION_WORKS): Rename...
9098         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
9099         sigaction will work.
9100         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
9101         behavior match Linux.
9102         * tests/test-c-stack.c (main): Prefer NULL for pointers.
9103
9104         stdbool-tests: accomodate Haiku
9105         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
9106
9107         binary-io: fix O_TEXT on Haiku
9108         * modules/binary-io (Depends-on): Add fcntl-h.
9109         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
9110         than blindly undefining O_TEXT.
9111         Reported by Scott McCreary.
9112
9113 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
9114
9115         include_next: do not check for standard headers like stddef.h
9116
9117         I found this problem when modifying Emacs to use gnulib.
9118         I noticed that it added HAVE_STDDEF_H to config.h, even though
9119         gnulib always assumes <stddef.h> exists as per README and this
9120         symbol is unnecessary.
9121         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
9122         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
9123         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
9124         faster for headers like stddef.h that are known to exist.
9125         (gl_CHECK_NEXT_HEADERS): Use it.
9126         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
9127         rather than gl_CHECK_NEXT_HEADERS.
9128         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
9129         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
9130
9131 2011-01-18  Eric Blake  <eblake@redhat.com>
9132
9133         ansi-c++-opt: skip C++ dependency style if C++ is unused
9134         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
9135         tests when we know C++ compilation is not desired.
9136         Reported by Scott McCreary.
9137
9138 2011-01-18  Bruno Haible  <bruno@clisp.org>
9139
9140         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
9141         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
9142         (main): Perform test also when getrlimit and setrlimit don't exist or
9143         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
9144         limiting the address space size using setrlimit, compare the address
9145         space size before and after the the test.
9146         * tests/test-dprintf-posix2.c: Likewise.
9147         * tests/test-fprintf-posix3.sh: Update skip messages.
9148         * tests/test-dprintf-posix2.sh: Likewise.
9149         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
9150         * modules/dprintf-posix-tests (Depends-on): Likewise.
9151         Reported by Bruce Korb <bkorb@gnu.org> and
9152         Gary V. Vaughan <gary@gnu.org>.
9153
9154 2011-01-18  Bruno Haible  <bruno@clisp.org>
9155
9156         get-rusage-as: Improvement for Cygwin.
9157         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
9158         areas that are merely reserved.
9159
9160 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
9161
9162         strftime: remove dependencies on multibyte modules
9163
9164         strftime depended on mbrlen, mbsinit, and wchar, but these modules
9165         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
9166         only if __osf__ is defined, and I suspect OSF doesn't need these
9167         other modules.  If my guess is wrong, we'll need to come up with a
9168         variant of strftime that doesn't need the multibyte modules.
9169
9170         I discovered this problem when attempting modify Emacs to use the
9171         strftime module.  With the previous gnulib, this caused Emacs to
9172         need 31 new files, ranging from lib/config.charset to
9173         m4/wint_t.m4.  This was overkill and I expect would be offputting
9174         to the Emacs maintainers.  After this change, only 6 new files are
9175         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
9176         stdbool.m4, and tm_gmtoff.m4.
9177
9178         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
9179         Suggested by Bruno Haible in
9180         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
9181         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
9182         and do not check for wchar.h.
9183         * modules/strftime (Files): Remove m4/mbstate_t.m4.
9184         (Depends-on): Remove mbrlen, mbsinit, wchar.
9185
9186 2011-01-18  Bruno Haible  <bruno@clisp.org>
9187
9188         Tests for module 'get-rusage-as'.
9189         * modules/get-rusage-as-tests: New file.
9190         * tests/test-get-rusage-as.c: New file.
9191
9192         New module 'get-rusage-as'.
9193         * modules/get-rusage-as: New file.
9194         * lib/resource-ext.h: New file.
9195         * lib/get-rusage-as.c: New file.
9196
9197 2011-01-17  Eric Blake  <eblake@redhat.com>
9198
9199         sigaction: relax license from LGPLv3+ to LGPLv2+
9200         * modules/sigaction (License): Relax to LGPLv2+.
9201
9202 2011-01-14  Bruno Haible  <bruno@clisp.org>
9203
9204         filemode: Make function declarations usable in C++ mode.
9205         * lib/filemode.h: Enclose function declarations in extern "C" block.
9206         Reported by John W. Eaton <jwe@gnu.org>.
9207
9208 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
9209
9210         save-cwd: no longer include "xgetcwd.h"
9211         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
9212         This avoids a compilation failure in projects that use save-cwd
9213         without also using the xgetcwd module.
9214
9215 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
9216
9217         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
9218         This is so that a program like Emacs, which needs only dtoastr,
9219         does not have to bother with distributing and compiling ftoastr
9220         and ldtoastr.
9221         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
9222         * modules/dtoastr, modules/ldtoastr: New files.
9223         * modules/ftoastr: Now works just for 'float'.
9224         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
9225         (Makefile.am): Remove ftoastr.h (not needed and no effect),
9226         dtoastr.c, ldtoastr.c.
9227
9228 2011-01-11  Jim Meyering  <meyering@redhat.com>
9229
9230         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
9231         There is no need to work around the lack of the fchdir function,
9232         since gnulib can now provide a replacement when required.
9233         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
9234         * modules/save-cwd (Depends-on): Add fchdir.
9235
9236 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
9237
9238         openat, save-cwd: avoid xmalloc
9239
9240         This removes a direct (but undocumented) dependency of openat on
9241         xalloc, along with an indirect dependency via save-cwd.  It also
9242         removes a dependency of save-cwd on xgetcwd, and thereby
9243         indirectly on xalloc.  This change causes the openat substitute
9244         to fall back on save_cwd when memory is tight, and for save_cwd to
9245         fail instead of dying when memory is tight, but that's good enough.
9246         Problem and initial idea for fix reported by Bastien Roucaries in
9247         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
9248
9249         * lib/openat-proc.c: Include stdlib.h (for malloc), not
9250         xalloc.h (for xmalloc).
9251         (openat_proc_name): Use malloc, not xmalloc.
9252         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
9253         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
9254
9255         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
9256         This avoids heap allocation for file names whose lengths are in
9257         the range 512..1023, with the upper bound increasing to at most
9258         4031 depending on the platform's PATH_MAX.  (We do not want
9259         pathmax.h here as it might supply a non-constant PATH_MAX.)
9260         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
9261         Perhaps they should be moved to malloca.h?
9262         (OPENAT_BUFFER_SIZE): Use them.
9263
9264 2011-01-10  Bruno Haible  <bruno@clisp.org>
9265
9266         doc: Update users.txt.
9267         * users.txt: Add recutils.
9268
9269 2011-01-09  Karl Berry  <karl@gnu.org>
9270
9271         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
9272
9273         * doc/configmake.texi: New file.
9274         * doc/gnulib.texi: Include it.
9275         * modules/configmake: Move documentation from here.
9276
9277 2011-01-09  Bruno Haible  <bruno@clisp.org>
9278
9279         Update to Unicode 6.0.0.
9280         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
9281         (get_lbp): Update for Unicode 6.0.0.
9282         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
9283         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
9284         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
9285         U+11001, U+11038..U+11046. Remove U+06DE.
9286         (uc_width): Fix bounds of planes.
9287         * tests/uniwidth/test-uc_width2.sh: Same updates as in
9288         lib/uniwidth/width.c.
9289         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
9290         trailing whitespace removed.
9291         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
9292         without comments, but with the original copyright notice.
9293         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
9294         * lib/unicase/ignorable.h: Likewise.
9295         * lib/unicase/tocasefold.h: Likewise.
9296         * lib/unicase/tolower.h: Likewise.
9297         * lib/unicase/totitle.h: Likewise.
9298         * lib/unicase/toupper.h: Likewise.
9299         * lib/unictype/bidi_of.h: Likewise.
9300         * lib/unictype/blocks.h: Likewise.
9301         * lib/unictype/categ_C.h: Likewise.
9302         * lib/unictype/categ_Cn.h: Likewise.
9303         * lib/unictype/categ_L.h: Likewise.
9304         * lib/unictype/categ_Ll.h: Likewise.
9305         * lib/unictype/categ_Lm.h: Likewise.
9306         * lib/unictype/categ_Lo.h: Likewise.
9307         * lib/unictype/categ_Lu.h: Likewise.
9308         * lib/unictype/categ_M.h: Likewise.
9309         * lib/unictype/categ_Mc.h: Likewise.
9310         * lib/unictype/categ_Me.h: Likewise.
9311         * lib/unictype/categ_Mn.h: Likewise.
9312         * lib/unictype/categ_N.h: Likewise.
9313         * lib/unictype/categ_Nd.h: Likewise.
9314         * lib/unictype/categ_No.h: Likewise.
9315         * lib/unictype/categ_P.h: Likewise.
9316         * lib/unictype/categ_Po.h: Likewise.
9317         * lib/unictype/categ_S.h: Likewise.
9318         * lib/unictype/categ_Sc.h: Likewise.
9319         * lib/unictype/categ_Sk.h: Likewise.
9320         * lib/unictype/categ_Sm.h: Likewise.
9321         * lib/unictype/categ_So.h: Likewise.
9322         * lib/unictype/categ_of.h: Likewise.
9323         * lib/unictype/combining.h: Likewise.
9324         * lib/unictype/ctype_alnum.h: Likewise.
9325         * lib/unictype/ctype_alpha.h: Likewise.
9326         * lib/unictype/ctype_graph.h: Likewise.
9327         * lib/unictype/ctype_lower.h: Likewise.
9328         * lib/unictype/ctype_print.h: Likewise.
9329         * lib/unictype/ctype_punct.h: Likewise.
9330         * lib/unictype/ctype_upper.h: Likewise.
9331         * lib/unictype/decdigit.h: Likewise.
9332         * lib/unictype/digit.h: Likewise.
9333         * lib/unictype/numeric.h: Likewise.
9334         * lib/unictype/pr_alphabetic.h: Likewise.
9335         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
9336         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
9337         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
9338         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
9339         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
9340         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
9341         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
9342         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
9343         * lib/unictype/pr_case_ignorable.h: Likewise.
9344         * lib/unictype/pr_cased.h: Likewise.
9345         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
9346         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
9347         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
9348         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
9349         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
9350         * lib/unictype/pr_combining.h: Likewise.
9351         * lib/unictype/pr_composite.h: Likewise.
9352         * lib/unictype/pr_currency_symbol.h: Likewise.
9353         * lib/unictype/pr_decimal_digit.h: Likewise.
9354         * lib/unictype/pr_deprecated.h: Likewise.
9355         * lib/unictype/pr_format_control.h: Likewise.
9356         * lib/unictype/pr_grapheme_base.h: Likewise.
9357         * lib/unictype/pr_grapheme_extend.h: Likewise.
9358         * lib/unictype/pr_grapheme_link.h: Likewise.
9359         * lib/unictype/pr_id_continue.h: Likewise.
9360         * lib/unictype/pr_id_start.h: Likewise.
9361         * lib/unictype/pr_ideographic.h: Likewise.
9362         * lib/unictype/pr_lowercase.h: Likewise.
9363         * lib/unictype/pr_math.h: Likewise.
9364         * lib/unictype/pr_numeric.h: Likewise.
9365         * lib/unictype/pr_other_alphabetic.h: Likewise.
9366         * lib/unictype/pr_other_id_continue.h: Likewise.
9367         * lib/unictype/pr_other_math.h: Likewise.
9368         * lib/unictype/pr_punctuation.h: Likewise.
9369         * lib/unictype/pr_sentence_terminal.h: Likewise.
9370         * lib/unictype/pr_terminal_punctuation.h: Likewise.
9371         * lib/unictype/pr_unassigned_code_value.h: Likewise.
9372         * lib/unictype/pr_unified_ideograph.h: Likewise.
9373         * lib/unictype/pr_uppercase.h: Likewise.
9374         * lib/unictype/pr_xid_continue.h: Likewise.
9375         * lib/unictype/pr_xid_start.h: Likewise.
9376         * lib/unictype/scripts.h: Likewise.
9377         * lib/unictype/scripts_byname.gperf: Likewise.
9378         * lib/unictype/sy_java_ident.h: Likewise.
9379         * lib/unigbrk/gbrkprop.h: Likewise.
9380         * lib/unilbrk/lbrkprop1.h: Likewise.
9381         * lib/unilbrk/lbrkprop2.h: Likewise.
9382         * lib/uninorm/decomposition-table2.h: Likewise.
9383         * lib/uniwbrk/wbrkprop.h: Likewise.
9384         * tests/unicase/test-cased.c: Likewise.
9385         * tests/unicase/test-ignorable.c: Likewise.
9386         * tests/unicase/test-uc_tolower.c: Likewise.
9387         * tests/unicase/test-uc_totitle.c: Likewise.
9388         * tests/unicase/test-uc_toupper.c: Likewise.
9389         * tests/unictype/test-categ_C.c: Likewise.
9390         * tests/unictype/test-categ_Cn.c: Likewise.
9391         * tests/unictype/test-categ_L.c: Likewise.
9392         * tests/unictype/test-categ_Ll.c: Likewise.
9393         * tests/unictype/test-categ_Lm.c: Likewise.
9394         * tests/unictype/test-categ_Lo.c: Likewise.
9395         * tests/unictype/test-categ_Lu.c: Likewise.
9396         * tests/unictype/test-categ_M.c: Likewise.
9397         * tests/unictype/test-categ_Mc.c: Likewise.
9398         * tests/unictype/test-categ_Me.c: Likewise.
9399         * tests/unictype/test-categ_Mn.c: Likewise.
9400         * tests/unictype/test-categ_N.c: Likewise.
9401         * tests/unictype/test-categ_Nd.c: Likewise.
9402         * tests/unictype/test-categ_No.c: Likewise.
9403         * tests/unictype/test-categ_P.c: Likewise.
9404         * tests/unictype/test-categ_Po.c: Likewise.
9405         * tests/unictype/test-categ_S.c: Likewise.
9406         * tests/unictype/test-categ_Sc.c: Likewise.
9407         * tests/unictype/test-categ_Sk.c: Likewise.
9408         * tests/unictype/test-categ_Sm.c: Likewise.
9409         * tests/unictype/test-categ_So.c: Likewise.
9410         * tests/unictype/test-ctype_alnum.c: Likewise.
9411         * tests/unictype/test-ctype_alpha.c: Likewise.
9412         * tests/unictype/test-ctype_graph.c: Likewise.
9413         * tests/unictype/test-ctype_lower.c: Likewise.
9414         * tests/unictype/test-ctype_print.c: Likewise.
9415         * tests/unictype/test-ctype_punct.c: Likewise.
9416         * tests/unictype/test-ctype_upper.c: Likewise.
9417         * tests/unictype/test-decdigit.h: Likewise.
9418         * tests/unictype/test-digit.h: Likewise.
9419         * tests/unictype/test-numeric.h: Likewise.
9420         * tests/unictype/test-pr_alphabetic.c: Likewise.
9421         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
9422         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
9423         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
9424         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
9425         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
9426         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
9427         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
9428         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
9429         * tests/unictype/test-pr_case_ignorable.c: Likewise.
9430         * tests/unictype/test-pr_cased.c: Likewise.
9431         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
9432         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
9433         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
9434         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
9435         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
9436         * tests/unictype/test-pr_combining.c: Likewise.
9437         * tests/unictype/test-pr_composite.c: Likewise.
9438         * tests/unictype/test-pr_currency_symbol.c: Likewise.
9439         * tests/unictype/test-pr_decimal_digit.c: Likewise.
9440         * tests/unictype/test-pr_deprecated.c: Likewise.
9441         * tests/unictype/test-pr_format_control.c: Likewise.
9442         * tests/unictype/test-pr_grapheme_base.c: Likewise.
9443         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
9444         * tests/unictype/test-pr_grapheme_link.c: Likewise.
9445         * tests/unictype/test-pr_id_continue.c: Likewise.
9446         * tests/unictype/test-pr_id_start.c: Likewise.
9447         * tests/unictype/test-pr_ideographic.c: Likewise.
9448         * tests/unictype/test-pr_lowercase.c: Likewise.
9449         * tests/unictype/test-pr_math.c: Likewise.
9450         * tests/unictype/test-pr_numeric.c: Likewise.
9451         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
9452         * tests/unictype/test-pr_other_id_continue.c: Likewise.
9453         * tests/unictype/test-pr_other_math.c: Likewise.
9454         * tests/unictype/test-pr_punctuation.c: Likewise.
9455         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
9456         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
9457         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
9458         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
9459         * tests/unictype/test-pr_uppercase.c: Likewise.
9460         * tests/unictype/test-pr_xid_continue.c: Likewise.
9461         * tests/unictype/test-pr_xid_start.c: Likewise.
9462         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
9463         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
9464         changes.
9465         * lib/unictype/categ_Cc.h: Likewise.
9466         * lib/unictype/categ_Cf.h: Likewise.
9467         * lib/unictype/categ_Co.h: Likewise.
9468         * lib/unictype/categ_Cs.h: Likewise.
9469         * lib/unictype/categ_Lt.h: Likewise.
9470         * lib/unictype/categ_Nl.h: Likewise.
9471         * lib/unictype/categ_Pc.h: Likewise.
9472         * lib/unictype/categ_Pd.h: Likewise.
9473         * lib/unictype/categ_Pe.h: Likewise.
9474         * lib/unictype/categ_Pf.h: Likewise.
9475         * lib/unictype/categ_Pi.h: Likewise.
9476         * lib/unictype/categ_Ps.h: Likewise.
9477         * lib/unictype/categ_Z.h: Likewise.
9478         * lib/unictype/categ_Zl.h: Likewise.
9479         * lib/unictype/categ_Zp.h: Likewise.
9480         * lib/unictype/categ_Zs.h: Likewise.
9481         * lib/unictype/ctype_blank.h: Likewise.
9482         * lib/unictype/ctype_cntrl.h: Likewise.
9483         * lib/unictype/ctype_digit.h: Likewise.
9484         * lib/unictype/ctype_space.h: Likewise.
9485         * lib/unictype/ctype_xdigit.h: Likewise.
9486         * lib/unictype/mirror.h: Likewise.
9487         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
9488         * lib/unictype/pr_bidi_block_separator.h: Likewise.
9489         * lib/unictype/pr_bidi_common_separator.h: Likewise.
9490         * lib/unictype/pr_bidi_control.h: Likewise.
9491         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
9492         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
9493         * lib/unictype/pr_bidi_european_digit.h: Likewise.
9494         * lib/unictype/pr_bidi_pdf.h: Likewise.
9495         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
9496         * lib/unictype/pr_bidi_whitespace.h: Likewise.
9497         * lib/unictype/pr_dash.h: Likewise.
9498         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
9499         * lib/unictype/pr_diacritic.h: Likewise.
9500         * lib/unictype/pr_extender.h: Likewise.
9501         * lib/unictype/pr_hex_digit.h: Likewise.
9502         * lib/unictype/pr_hyphen.h: Likewise.
9503         * lib/unictype/pr_ids_binary_operator.h: Likewise.
9504         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
9505         * lib/unictype/pr_ignorable_control.h: Likewise.
9506         * lib/unictype/pr_iso_control.h: Likewise.
9507         * lib/unictype/pr_join_control.h: Likewise.
9508         * lib/unictype/pr_left_of_pair.h: Likewise.
9509         * lib/unictype/pr_line_separator.h: Likewise.
9510         * lib/unictype/pr_logical_order_exception.h: Likewise.
9511         * lib/unictype/pr_non_break.h: Likewise.
9512         * lib/unictype/pr_not_a_character.h: Likewise.
9513         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
9514         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
9515         * lib/unictype/pr_other_id_start.h: Likewise.
9516         * lib/unictype/pr_other_lowercase.h: Likewise.
9517         * lib/unictype/pr_other_uppercase.h: Likewise.
9518         * lib/unictype/pr_paired_punctuation.h: Likewise.
9519         * lib/unictype/pr_paragraph_separator.h: Likewise.
9520         * lib/unictype/pr_pattern_syntax.h: Likewise.
9521         * lib/unictype/pr_pattern_white_space.h: Likewise.
9522         * lib/unictype/pr_private_use.h: Likewise.
9523         * lib/unictype/pr_quotation_mark.h: Likewise.
9524         * lib/unictype/pr_radical.h: Likewise.
9525         * lib/unictype/pr_soft_dotted.h: Likewise.
9526         * lib/unictype/pr_space.h: Likewise.
9527         * lib/unictype/pr_titlecase.h: Likewise.
9528         * lib/unictype/pr_variation_selector.h: Likewise.
9529         * lib/unictype/pr_white_space.h: Likewise.
9530         * lib/unictype/pr_zero_width.h: Likewise.
9531         * lib/unictype/sy_c_ident.h: Likewise.
9532         * lib/unictype/sy_c_whitespace.h: Likewise.
9533         * lib/unictype/sy_java_whitespace.h: Likewise.
9534         * lib/uninorm/composition-table.gperf: Likewise.
9535         * lib/uninorm/decomposition-table1.h: Likewise.
9536         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
9537         LB8.
9538         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
9539         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
9540         * modules/unictype/*: Bump version number of expected libunistring
9541         version.
9542
9543 2011-01-09  Bruno Haible  <bruno@clisp.org>
9544
9545         Update to Unicode 5.2.0.
9546         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
9547         trailing whitespace removed.
9548
9549 2011-01-09  Bruno Haible  <bruno@clisp.org>
9550
9551         New Unicode character properties, from Unicode 5.2.0.
9552         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
9553         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
9554         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
9555         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
9556         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
9557         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
9558         uc_is_property_cased, uc_is_property_case_ignorable,
9559         uc_is_property_changes_when_lowercased,
9560         uc_is_property_changes_when_uppercased,
9561         uc_is_property_changes_when_titlecased,
9562         uc_is_property_changes_when_casefolded,
9563         uc_is_property_changes_when_casemapped): New declarations.
9564         * lib/unictype/pr_byname.gperf: Add the new properties.
9565         * modules/unictype/property-byname (Depends-on): Depend on the new
9566         properties modules.
9567         * modules/unictype/property-all (Depends-on): Likewise.
9568         * MODULES.html.sh (Unicode string functions): Add
9569         unictype/property-case-ignorable, unictype/property-cased,
9570         unictype/property-changes-when-casefolded,
9571         unictype/property-changes-when-casemapped,
9572         unictype/property-changes-when-lowercased,
9573         unictype/property-changes-when-titlecased,
9574         unictype/property-changes-when-uppercased.
9575
9576         New module 'unictype/property-changes-when-casemapped'.
9577         * modules/unictype/property-changes-when-casemapped: New file.
9578         * lib/unictype/pr_changes_when_casemapped.c: New file.
9579         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
9580         generated by gen-uni-tables.
9581         * modules/unictype/property-changes-when-casemapped-tests: New file.
9582         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
9583         automatically generated by gen-uni-tables.
9584
9585         New module 'unictype/property-changes-when-casefolded'.
9586         * modules/unictype/property-changes-when-casefolded: New file.
9587         * lib/unictype/pr_changes_when_casefolded.c: New file.
9588         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
9589         generated by gen-uni-tables.
9590         * modules/unictype/property-changes-when-casefolded-tests: New file.
9591         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
9592         automatically generated by gen-uni-tables.
9593
9594         New module 'unictype/property-changes-when-titlecased'.
9595         * modules/unictype/property-changes-when-titlecased: New file.
9596         * lib/unictype/pr_changes_when_titlecased.c: New file.
9597         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
9598         generated by gen-uni-tables.
9599         * modules/unictype/property-changes-when-titlecased-tests: New file.
9600         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
9601         automatically generated by gen-uni-tables.
9602
9603         New module 'unictype/property-changes-when-uppercased'.
9604         * modules/unictype/property-changes-when-uppercased: New file.
9605         * lib/unictype/pr_changes_when_uppercased.c: New file.
9606         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
9607         generated by gen-uni-tables.
9608         * modules/unictype/property-changes-when-uppercased-tests: New file.
9609         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
9610         automatically generated by gen-uni-tables.
9611
9612         New module 'unictype/property-changes-when-lowercased'.
9613         * modules/unictype/property-changes-when-lowercased: New file.
9614         * lib/unictype/pr_changes_when_lowercased.c: New file.
9615         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
9616         generated by gen-uni-tables.
9617         * modules/unictype/property-changes-when-lowercased-tests: New file.
9618         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
9619         automatically generated by gen-uni-tables.
9620
9621         New module 'unictype/property-case-ignorable'.
9622         * modules/unictype/property-case-ignorable: New file.
9623         * lib/unictype/pr_case_ignorable.c: New file.
9624         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
9625         by gen-uni-tables.
9626         * modules/unictype/property-case-ignorable-tests: New file.
9627         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
9628         generated by gen-uni-tables.
9629
9630         New module 'unictype/property-cased'.
9631         * modules/unictype/property-cased: New file.
9632         * lib/unictype/pr_cased.c: New file.
9633         * lib/unictype/pr_cased.h: New file, automatically generated by
9634         gen-uni-tables.
9635         * modules/unictype/property-cased-tests: New file.
9636         * tests/unictype/test-pr_cased.c: New file, automatically generated by
9637         gen-uni-tables.
9638
9639 2011-01-09  Bruno Haible  <bruno@clisp.org>
9640
9641         Update to Unicode 5.2.0.
9642         * lib/gen-uni-tables.c (output_predicate, output_category,
9643         output_combclass, output_bidi_category, output_decimal_digit_test,
9644         output_decimal_digit, output_digit_test, output_digit,
9645         output_numeric_test, output_numeric, output_mirror, output_scripts,
9646         output_scripts_byname, output_blocks, output_ident_category): Fix
9647         comment header.
9648         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
9649         get_wbp.
9650         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
9651         items.
9652         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
9653         Changes_When_Lowercased, Changes_When_Uppercased,
9654         Changes_When_Titlecased, Changes_When_Casefolded,
9655         Changes_When_Casemapped.
9656         (is_property_alphabetic, is_property_default_ignorable_code_point):
9657         Update for Unicode 5.2.0.
9658         (is_property_cased, is_property_case_ignorable,
9659         is_property_changes_when_lowercased,
9660         is_property_changes_when_uppercased,
9661         is_property_changes_when_titlecased,
9662         is_property_changes_when_casefolded,
9663         is_property_changes_when_casemapped): New functions.
9664         (output_properties): Output also the properties cased, case_ignorable,
9665         changes_when_lowercased, changes_when_uppercased,
9666         changes_when_titlecased, changes_when_casefolded,
9667         changes_when_casemapped.
9668         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
9669         Unicode TR#11 revision 17 -> 19.
9670         (LBP_CP): New enumeration value.
9671         (LBP_*): Adjust values accordingly.
9672         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
9673         TR#14 revision 22 -> 24.
9674         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
9675         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
9676         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
9677         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
9678         is_WBP_MIDLETTER.
9679         (output_composition_tables): Allow for 24 bits instead of 16 bits in
9680         the code1 and code2 of each composition rule.
9681         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
9682         * lib/unicase/ignorable.h: Likewise.
9683         * lib/unicase/tocasefold.h: Likewise.
9684         * lib/unicase/tolower.h: Likewise.
9685         * lib/unicase/totitle.h: Likewise.
9686         * lib/unicase/toupper.h: Likewise.
9687         * lib/unictype/bidi_of.h: Likewise.
9688         * lib/unictype/blocks.h: Likewise.
9689         * lib/unictype/categ_C.h: Likewise.
9690         * lib/unictype/categ_Cf.h: Likewise.
9691         * lib/unictype/categ_Cn.h: Likewise.
9692         * lib/unictype/categ_L.h: Likewise.
9693         * lib/unictype/categ_Ll.h: Likewise.
9694         * lib/unictype/categ_Lm.h: Likewise.
9695         * lib/unictype/categ_Lo.h: Likewise.
9696         * lib/unictype/categ_Lu.h: Likewise.
9697         * lib/unictype/categ_M.h: Likewise.
9698         * lib/unictype/categ_Mc.h: Likewise.
9699         * lib/unictype/categ_Mn.h: Likewise.
9700         * lib/unictype/categ_N.h: Likewise.
9701         * lib/unictype/categ_Nd.h: Likewise.
9702         * lib/unictype/categ_Nl.h: Likewise.
9703         * lib/unictype/categ_No.h: Likewise.
9704         * lib/unictype/categ_P.h: Likewise.
9705         * lib/unictype/categ_Pd.h: Likewise.
9706         * lib/unictype/categ_Po.h: Likewise.
9707         * lib/unictype/categ_S.h: Likewise.
9708         * lib/unictype/categ_Sc.h: Likewise.
9709         * lib/unictype/categ_So.h: Likewise.
9710         * lib/unictype/categ_of.h: Likewise.
9711         * lib/unictype/combining.h: Likewise.
9712         * lib/unictype/ctype_alnum.h: Likewise.
9713         * lib/unictype/ctype_alpha.h: Likewise.
9714         * lib/unictype/ctype_graph.h: Likewise.
9715         * lib/unictype/ctype_lower.h: Likewise.
9716         * lib/unictype/ctype_print.h: Likewise.
9717         * lib/unictype/ctype_punct.h: Likewise.
9718         * lib/unictype/ctype_upper.h: Likewise.
9719         * lib/unictype/decdigit.h: Likewise.
9720         * lib/unictype/digit.h: Likewise.
9721         * lib/unictype/numeric.h: Likewise.
9722         * lib/unictype/pr_alphabetic.h: Likewise.
9723         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
9724         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
9725         * lib/unictype/pr_bidi_european_digit.h: Likewise.
9726         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
9727         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
9728         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
9729         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
9730         * lib/unictype/pr_combining.h: Likewise.
9731         * lib/unictype/pr_composite.h: Likewise.
9732         * lib/unictype/pr_currency_symbol.h: Likewise.
9733         * lib/unictype/pr_dash.h: Likewise.
9734         * lib/unictype/pr_decimal_digit.h: Likewise.
9735         * lib/unictype/pr_deprecated.h: Likewise.
9736         * lib/unictype/pr_diacritic.h: Likewise.
9737         * lib/unictype/pr_extender.h: Likewise.
9738         * lib/unictype/pr_grapheme_base.h: Likewise.
9739         * lib/unictype/pr_grapheme_extend.h: Likewise.
9740         * lib/unictype/pr_grapheme_link.h: Likewise.
9741         * lib/unictype/pr_id_continue.h: Likewise.
9742         * lib/unictype/pr_id_start.h: Likewise.
9743         * lib/unictype/pr_ideographic.h: Likewise.
9744         * lib/unictype/pr_ignorable_control.h: Likewise.
9745         * lib/unictype/pr_logical_order_exception.h: Likewise.
9746         * lib/unictype/pr_lowercase.h: Likewise.
9747         * lib/unictype/pr_numeric.h: Likewise.
9748         * lib/unictype/pr_other_alphabetic.h: Likewise.
9749         * lib/unictype/pr_punctuation.h: Likewise.
9750         * lib/unictype/pr_sentence_terminal.h: Likewise.
9751         * lib/unictype/pr_terminal_punctuation.h: Likewise.
9752         * lib/unictype/pr_unassigned_code_value.h: Likewise.
9753         * lib/unictype/pr_unified_ideograph.h: Likewise.
9754         * lib/unictype/pr_uppercase.h: Likewise.
9755         * lib/unictype/pr_xid_continue.h: Likewise.
9756         * lib/unictype/pr_xid_start.h: Likewise.
9757         * lib/unictype/pr_zero_width.h: Likewise.
9758         * lib/unictype/scripts.h: Likewise.
9759         * lib/unictype/scripts_byname.gperf: Likewise.
9760         * lib/unictype/sy_java_ident.h: Likewise.
9761         * lib/unigbrk/gbrkprop.h: Likewise.
9762         * lib/unilbrk/lbrkprop1.h: Likewise.
9763         * lib/unilbrk/lbrkprop2.h: Likewise.
9764         * lib/unilbrk/lbrktables.h: Likewise.
9765         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
9766         LBP_CP. Implement rule LB30.
9767         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
9768         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
9769         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
9770         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
9771         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
9772         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
9773         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
9774         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
9775         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
9776         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
9777         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
9778         bits instead of 16 bits in the code1 and code2 of each composition
9779         rule.
9780         (uc_composition): Update for Unicode 5.2.0.
9781         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
9782         * lib/uninorm/decomposition-table2.h: Likewise.
9783         * lib/uniwbrk/wbrkprop.h: Likewise.
9784         * tests/unicase/test-cased.c: Likewise.
9785         * tests/unicase/test-ignorable.c: Likewise.
9786         * tests/unicase/test-uc_tolower.c: Likewise.
9787         * tests/unicase/test-uc_totitle.c: Likewise.
9788         * tests/unicase/test-uc_toupper.c: Likewise.
9789         * tests/unictype/test-categ_C.c: Likewise.
9790         * tests/unictype/test-categ_Cf.c: Likewise.
9791         * tests/unictype/test-categ_Cn.c: Likewise.
9792         * tests/unictype/test-categ_L.c: Likewise.
9793         * tests/unictype/test-categ_Ll.c: Likewise.
9794         * tests/unictype/test-categ_Lm.c: Likewise.
9795         * tests/unictype/test-categ_Lo.c: Likewise.
9796         * tests/unictype/test-categ_Lu.c: Likewise.
9797         * tests/unictype/test-categ_M.c: Likewise.
9798         * tests/unictype/test-categ_Mc.c: Likewise.
9799         * tests/unictype/test-categ_Mn.c: Likewise.
9800         * tests/unictype/test-categ_N.c: Likewise.
9801         * tests/unictype/test-categ_Nd.c: Likewise.
9802         * tests/unictype/test-categ_Nl.c: Likewise.
9803         * tests/unictype/test-categ_No.c: Likewise.
9804         * tests/unictype/test-categ_P.c: Likewise.
9805         * tests/unictype/test-categ_Pd.c: Likewise.
9806         * tests/unictype/test-categ_Po.c: Likewise.
9807         * tests/unictype/test-categ_S.c: Likewise.
9808         * tests/unictype/test-categ_Sc.c: Likewise.
9809         * tests/unictype/test-categ_So.c: Likewise.
9810         * tests/unictype/test-ctype_alnum.c: Likewise.
9811         * tests/unictype/test-ctype_alpha.c: Likewise.
9812         * tests/unictype/test-ctype_graph.c: Likewise.
9813         * tests/unictype/test-ctype_lower.c: Likewise.
9814         * tests/unictype/test-ctype_print.c: Likewise.
9815         * tests/unictype/test-ctype_punct.c: Likewise.
9816         * tests/unictype/test-ctype_upper.c: Likewise.
9817         * tests/unictype/test-decdigit.h: Likewise.
9818         * tests/unictype/test-digit.h: Likewise.
9819         * tests/unictype/test-numeric.h: Likewise.
9820         * tests/unictype/test-pr_alphabetic.c: Likewise.
9821         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
9822         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
9823         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
9824         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
9825         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
9826         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
9827         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
9828         * tests/unictype/test-pr_combining.c: Likewise.
9829         * tests/unictype/test-pr_composite.c: Likewise.
9830         * tests/unictype/test-pr_currency_symbol.c: Likewise.
9831         * tests/unictype/test-pr_dash.c: Likewise.
9832         * tests/unictype/test-pr_decimal_digit.c: Likewise.
9833         * tests/unictype/test-pr_deprecated.c: Likewise.
9834         * tests/unictype/test-pr_diacritic.c: Likewise.
9835         * tests/unictype/test-pr_extender.c: Likewise.
9836         * tests/unictype/test-pr_grapheme_base.c: Likewise.
9837         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
9838         * tests/unictype/test-pr_grapheme_link.c: Likewise.
9839         * tests/unictype/test-pr_id_continue.c: Likewise.
9840         * tests/unictype/test-pr_id_start.c: Likewise.
9841         * tests/unictype/test-pr_ideographic.c: Likewise.
9842         * tests/unictype/test-pr_ignorable_control.c: Likewise.
9843         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
9844         * tests/unictype/test-pr_lowercase.c: Likewise.
9845         * tests/unictype/test-pr_numeric.c: Likewise.
9846         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
9847         * tests/unictype/test-pr_punctuation.c: Likewise.
9848         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
9849         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
9850         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
9851         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
9852         * tests/unictype/test-pr_uppercase.c: Likewise.
9853         * tests/unictype/test-pr_xid_continue.c: Likewise.
9854         * tests/unictype/test-pr_xid_start.c: Likewise.
9855         * tests/unictype/test-pr_zero_width.c: Likewise.
9856         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
9857         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
9858         changed behaviour: line breaking is now disallowed between a letter
9859         or '=' and '('.
9860         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
9861         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
9862         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
9863         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
9864         * tests/uniwidth/test-uc_width2.sh: Same updates as in
9865         lib/uniwidth/width.c.
9866         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
9867         without comments, but with the original copyright notice.
9868         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
9869         changes.
9870         * lib/unictype/categ_Cc.h: Likewise.
9871         * lib/unictype/categ_Co.h: Likewise.
9872         * lib/unictype/categ_Cs.h: Likewise.
9873         * lib/unictype/categ_Lt.h: Likewise.
9874         * lib/unictype/categ_Me.h: Likewise.
9875         * lib/unictype/categ_Pc.h: Likewise.
9876         * lib/unictype/categ_Pe.h: Likewise.
9877         * lib/unictype/categ_Pf.h: Likewise.
9878         * lib/unictype/categ_Pi.h: Likewise.
9879         * lib/unictype/categ_Ps.h: Likewise.
9880         * lib/unictype/categ_Sk.h: Likewise.
9881         * lib/unictype/categ_Sm.h: Likewise.
9882         * lib/unictype/categ_Z.h: Likewise.
9883         * lib/unictype/categ_Zl.h: Likewise.
9884         * lib/unictype/categ_Zp.h: Likewise.
9885         * lib/unictype/categ_Zs.h: Likewise.
9886         * lib/unictype/ctype_blank.h: Likewise.
9887         * lib/unictype/ctype_cntrl.h: Likewise.
9888         * lib/unictype/ctype_digit.h: Likewise.
9889         * lib/unictype/ctype_space.h: Likewise.
9890         * lib/unictype/ctype_xdigit.h: Likewise.
9891         * lib/unictype/mirror.h: Likewise.
9892         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
9893         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
9894         * lib/unictype/pr_bidi_block_separator.h: Likewise.
9895         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
9896         * lib/unictype/pr_bidi_common_separator.h: Likewise.
9897         * lib/unictype/pr_bidi_control.h: Likewise.
9898         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
9899         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
9900         * lib/unictype/pr_bidi_pdf.h: Likewise.
9901         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
9902         * lib/unictype/pr_bidi_whitespace.h: Likewise.
9903         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
9904         * lib/unictype/pr_format_control.h: Likewise.
9905         * lib/unictype/pr_hex_digit.h: Likewise.
9906         * lib/unictype/pr_hyphen.h: Likewise.
9907         * lib/unictype/pr_ids_binary_operator.h: Likewise.
9908         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
9909         * lib/unictype/pr_iso_control.h: Likewise.
9910         * lib/unictype/pr_join_control.h: Likewise.
9911         * lib/unictype/pr_left_of_pair.h: Likewise.
9912         * lib/unictype/pr_line_separator.h: Likewise.
9913         * lib/unictype/pr_math.h: Likewise.
9914         * lib/unictype/pr_non_break.h: Likewise.
9915         * lib/unictype/pr_not_a_character.h: Likewise.
9916         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
9917         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
9918         * lib/unictype/pr_other_id_continue.h: Likewise.
9919         * lib/unictype/pr_other_id_start.h: Likewise.
9920         * lib/unictype/pr_other_lowercase.h: Likewise.
9921         * lib/unictype/pr_other_math.h: Likewise.
9922         * lib/unictype/pr_other_uppercase.h: Likewise.
9923         * lib/unictype/pr_paired_punctuation.h: Likewise.
9924         * lib/unictype/pr_paragraph_separator.h: Likewise.
9925         * lib/unictype/pr_pattern_syntax.h: Likewise.
9926         * lib/unictype/pr_pattern_white_space.h: Likewise.
9927         * lib/unictype/pr_private_use.h: Likewise.
9928         * lib/unictype/pr_quotation_mark.h: Likewise.
9929         * lib/unictype/pr_radical.h: Likewise.
9930         * lib/unictype/pr_soft_dotted.h: Likewise.
9931         * lib/unictype/pr_space.h: Likewise.
9932         * lib/unictype/pr_titlecase.h: Likewise.
9933         * lib/unictype/pr_variation_selector.h: Likewise.
9934         * lib/unictype/pr_white_space.h: Likewise.
9935         * lib/unictype/sy_c_ident.h: Likewise.
9936         * lib/unictype/sy_c_whitespace.h: Likewise.
9937         * lib/unictype/sy_java_whitespace.h: Likewise.
9938         * modules/uni*/*: Bump version number of expected libunistring version.
9939         Reported by Simon Josefsson.
9940
9941 2011-01-09  Karl Heuer  <kwzh@gnu.org>
9942
9943         useless-if-before-free: fix typo in --help and make the internal,
9944         automatic version date update process work once again.
9945         --help output contained a NUL character instead of the
9946         backslash-zero that was intended.  Also, the "must lie within
9947         the first 8 lines" line is on line 9, and hence not getting
9948         automatically updated.
9949         * build-aux/useless-if-before-free: Fix the former by adding a
9950         backslash, and the latter by condensing the three lines of what-it-does
9951         to a single line, leaving one line of slack for the future.
9952
9953 2011-01-09  Bruno Haible  <bruno@clisp.org>
9954
9955         uniwidth/width: Fix width of U+1D173..U+1D17A.
9956         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
9957         symbolic_width, output_width_property_test): New functions.
9958         (main): Invoke output_nonspacing_property, output_width_property_test.
9959         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
9960         U+1D173..U+1D17A.
9961         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
9962         1.
9963         * modules/uniwidth/*: Bump version number of expected libunistring
9964         version.
9965         * modules/unilbrk/*: Likewise.
9966
9967 2011-01-08  Bruno Haible  <bruno@clisp.org>
9968
9969         uninorm tests: Preserve copyright of Unicode data file.
9970         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
9971         Mention modifications.
9972
9973 2011-01-08  Bruno Haible  <bruno@clisp.org>
9974
9975         gen-uni-tables: Prepare for Unicode 5.2.0.
9976         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
9977         (debug_output_lbp, output_lbp): Update.
9978
9979 2011-01-08  Bruno Haible  <bruno@clisp.org>
9980
9981         unilbrk: Clarify gen-uni-tables.c code.
9982         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
9983         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
9984         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
9985
9986 2011-01-07  Bruno Haible  <bruno@clisp.org>
9987
9988         strtod: Restore errno when successfully parsing Infinity or NaN.
9989         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
9990         restore the original errno.
9991
9992 2011-01-07  Bruno Haible  <bruno@clisp.org>
9993
9994         remove test: Avoid failure on HP-UX 11.
9995         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
9996
9997 2011-01-07  Bruno Haible  <bruno@clisp.org>
9998
9999         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
10000         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
10001         error code.
10002
10003 2011-01-07  Pádraig Brady <P@draigBrady.com>
10004
10005         ignore-value: fixup comments, and add Eric Blake
10006         as an author since he rewrote the macros.
10007         * lib/ignore-value.h (ignore_value):  State that
10008         we now support aggregates.  Also specify exactly
10009         when the GCC warn_unused_result feature was added.
10010
10011 2011-01-06  Eric Blake  <eblake@redhat.com>
10012
10013         ignore-value: support aggregate types
10014         * lib/ignore-value.h (ignore_value): Provide separate gcc
10015         definition.
10016         * modules/ignore-value-tests: New test module.
10017         * tests/test-ignore-value.c: New test.
10018
10019         maint.mk: improve sc_prohibit_strcmp regex
10020         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
10021         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
10022         definition of STRNEQ.
10023
10024         signal: work around Haiku issue with SIGBUS
10025         * lib/siglist.h: Add comment.
10026         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
10027         strsignal's favoring of SIGSEGV.
10028         * tests/test-signal.c (main): Avoid test failure.
10029         * doc/posix-headers/signal.texi (signal.h): Document the issue.
10030         Reported by Scott McCreary.
10031
10032         maint.mk: add pre-release check to ensure submodule commits are public
10033         * top/maint.mk (public-submodule-commit): New rule.
10034         (submodule-checks): New variable.
10035         (alpha beta stable): Depend on the variable.
10036
10037 2011-01-05  Pádraig Brady <P@draigBrady.com>
10038         and Jim Meyering  <meyering@redhat.com>
10039
10040         ignore-value: make ignore_value more generic; deprecate ignore_ptr
10041         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
10042         (ATTRIBUTE_DEPRECATED): Define.
10043         (_ignore_case): New function.
10044         (ignore_value): New macro, to replace the old function.
10045         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
10046         * modules/ignore-value (Depends-on): Add stdint.
10047
10048 2011-01-04  Eric Blake  <eblake@redhat.com>
10049
10050         doc: regenerate INSTALL
10051         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
10052         @firstparagraphindent support, now that autoconf dropped it.
10053         (INSTALL_PRELUDE): Reinstate old macro.
10054         * doc/install.texi: Resync from autoconf.
10055         * doc/INSTALL: Reflect recent autoconf update.
10056         * doc/INSTALL.ISO: Likewise.
10057         * doc/INSTALL.UTF-8: Likewise.
10058         Reported by Karl Berry.
10059
10060 2011-01-04  Bruce Korb  <address@hidden>
10061
10062         git-version-gen: avoid a sub-shell
10063         * build-aux/git-version-gen: Redirect stderr in `...` via
10064         "exec 2>...", rather than via an added sub-shell.
10065
10066 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
10067
10068         git-version-gen: use (...) rather than sh -c '...'
10069         * build-aux/git-version-gen: Rather than hard-coding a shell's name
10070         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
10071
10072 2011-01-03  Jim Meyering  <meyering@redhat.com>
10073
10074         git-version-gen: convert leading TABs to spaces
10075         * build-aux/git-version-gen: Expand leading TABs.
10076
10077         git-version-gen: handle failed "git rev-list"
10078         * build-aux/git-version-gen: Rather than leaking a "fatal" error
10079         from git and proceeding as if it had succeeded but printed no SHA1
10080         checksums, suppress the diagnostic and handle the failure.
10081         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
10082
10083         git-version-gen: include command name in one more diagnostic
10084         * build-aux/git-version-gen: When the required .tarball-version file
10085         was missing or unreadable, you might see the diagnostic from "cat",
10086         but no trace of the name of the invoking script.  Now, you still see
10087         the diagnostic from cat, but also get one from "git-version-gen: ".
10088         Inspired by a patch from Bruce Korb.
10089
10090         update-copyright: adjust test to match changed code
10091         * tests/test-update-copyright.sh: Change test's expected output
10092         to match new actual output.
10093
10094 2011-01-02  Bruno Haible  <bruno@clisp.org>
10095
10096         getlogin_r: Avoid test failure on HP-UX 11.
10097         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
10098         ERANGE when the second argument is zero.
10099         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
10100         portability problem.
10101
10102 2011-01-02  Bruce Korb  <bkorb@gnu.org>
10103
10104         * build-aux/update-copyright: doc Simon's changes
10105
10106 2011-01-02  Simon Josefsson  <simon@josefsson.org>
10107
10108         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
10109         environment variable.
10110
10111 2011-01-02  Bruno Haible  <bruno@clisp.org>
10112
10113         unigbrk: Avoid gcc warnings.
10114         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
10115         unused variable.
10116         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
10117         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
10118         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
10119         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
10120         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
10121         Change type of first argument to 'const char *'.
10122         (main): Remove unused variable.
10123         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
10124         type of first argument to 'const char *'.
10125         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
10126         Likewise.
10127         (main): Change type of variable 's'.
10128         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
10129         to 'int'.
10130
10131 2011-01-02  Bruno Haible  <bruno@clisp.org>
10132
10133         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
10134         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
10135         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
10136         bug.
10137         * lib/pwrite.c: Undo 2010-12-31 patch.
10138         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
10139
10140 2011-01-02  Bruno Haible  <bruno@clisp.org>
10141
10142         pread: Fix test whether it works.
10143         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
10144
10145 2011-01-02  Bruno Haible  <bruno@clisp.org>
10146
10147         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
10148         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
10149         ends in "6". Don't require a specific month name. Try also the locale
10150         names found on HP-UX 11 and Solaris 7.
10151
10152 2011-01-02  Bruno Haible  <bruno@clisp.org>
10153
10154         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
10155         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
10156         C linkage.
10157         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
10158
10159 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
10160
10161         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
10162         for consistency, since the "cluster" term is not used elsewhere.
10163         * lib/unigbrk.in.h: Update name.
10164         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
10165         * lib/unigbrk/u16-grapheme-next.c: Update name.
10166         * lib/unigbrk/u16-grapheme-prev.c: Update name.
10167         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
10168         * lib/unigbrk/u32-grapheme-next.c: Update name.
10169         * lib/unigbrk/u32-grapheme-prev.c: Update name.
10170         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
10171         * lib/unigbrk/u8-grapheme-next.c: Update name.
10172         * lib/unigbrk/u8-grapheme-prev.c: Update name.
10173         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
10174         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
10175         Suggested by Bruno Haible.
10176
10177 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
10178
10179         Remove module 'u8-grapheme-len' as too redundant with
10180         'u8-grapheme-next'.
10181         * modules/unigbrk/u8-grapheme-len: Delete file.
10182         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
10183         * lib/unigbrk.in.h: Remove prototype for deleted function.
10184         * lib/unigbrk/u8-grapheme-len.c: Delete file.
10185         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
10186
10187         Remove module 'u16-grapheme-len' as too redundant with
10188         'u16-grapheme-next'.
10189         * modules/unigbrk/u16-grapheme-len: Delete file.
10190         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
10191         * lib/unigbrk.in.h: Remove prototype for deleted function.
10192         * lib/unigbrk/u16-grapheme-len.c: Delete file.
10193         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
10194
10195         Remove module 'u32-grapheme-len' as too redundant with
10196         'u32-grapheme-next'.
10197         * modules/unigbrk/u32-grapheme-len: Delete file.
10198         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
10199         * lib/unigbrk.in.h: Remove prototype for deleted function.
10200         * lib/unigbrk/u32-grapheme-len.c: Delete file.
10201         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
10202
10203         Suggested by Bruno Haible.
10204
10205 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
10206
10207         * unigbrk.in.h: Fix typo: "ben" => "been".
10208         Reported by Bruno Haible.
10209
10210 2011-01-01  Jim Meyering  <meyering@redhat.com>
10211
10212         maint: update almost all copyright ranges to include 2011
10213         Run the new "make update-copyright" rule.
10214
10215 2011-01-01  Jim Meyering  <meyering@redhat.com>
10216
10217         maint: update-copyright: exempt doc/INSTALL*
10218         * Makefile (update-copyright): Also exclude doc/INSTALL*,
10219         since they are generated.  Suggested by Bruno Haible.
10220
10221 2011-01-01  Jim Meyering  <meyering@redhat.com>
10222
10223         maint: refine the update-copyright rule
10224         * Makefile (update-copyright): Also exclude any file that includes
10225         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
10226         code that merely generates the comment.
10227
10228 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
10229
10230         New module 'u8-grapheme-len'.
10231         * modules/unigbrk/u8-grapheme-len: New file.
10232         * modules/unigbrk/u8-grapheme-len-tests: New file.
10233         * lib/unigbrk.in.h: Add prototype for new function.
10234         * lib/unigbrk/u8-grapheme-len.c: New file.
10235         * tests/unigbrk/test-u8-grapheme-len.c: New file.
10236
10237         New module 'u16-grapheme-len'.
10238         * modules/unigbrk/u16-grapheme-len: New file.
10239         * modules/unigbrk/u16-grapheme-len-tests: New file.
10240         * lib/unigbrk.in.h: Add prototype for new function.
10241         * lib/unigbrk/u16-grapheme-len.c: New file.
10242         * tests/unigbrk/test-u16-grapheme-len.c: New file.
10243
10244         New module 'u32-grapheme-len'.
10245         * modules/unigbrk/u32-grapheme-len: New file.
10246         * modules/unigbrk/u32-grapheme-len-tests: New file.
10247         * lib/unigbrk.in.h: Add prototype for new function.
10248         * lib/unigbrk/u32-grapheme-len.c: New file.
10249         * tests/unigbrk/test-u32-grapheme-len.c: New file.
10250
10251         New module 'u8-grapheme-next'.
10252         * modules/unigbrk/u8-grapheme-next: New file.
10253         * modules/unigbrk/u8-grapheme-next-tests: New file.
10254         * lib/unigbrk.in.h: Add prototype for new function.
10255         * lib/unigbrk/u8-grapheme-next.c: New file.
10256         * tests/unigbrk/test-u8-grapheme-next.c: New file.
10257
10258         New module 'u16-grapheme-next'.
10259         * modules/unigbrk/u16-grapheme-next: New file.
10260         * modules/unigbrk/u16-grapheme-next-tests: New file.
10261         * lib/unigbrk.in.h: Add prototype for new function.
10262         * lib/unigbrk/u16-grapheme-next.c: New file.
10263         * tests/unigbrk/test-u16-grapheme-next.c: New file.
10264
10265         New module 'u32-grapheme-next'.
10266         * modules/unigbrk/u32-grapheme-next: New file.
10267         * modules/unigbrk/u32-grapheme-next-tests: New file.
10268         * lib/unigbrk.in.h: Add prototype for new function.
10269         * lib/unigbrk/u32-grapheme-next.c: New file.
10270         * tests/unigbrk/test-u32-grapheme-next.c: New file.
10271
10272         New module 'u8-grapheme-prev'.
10273         * modules/unigbrk/u8-grapheme-prev: New file.
10274         * modules/unigbrk/u8-grapheme-prev-tests: New file.
10275         * lib/unigbrk.in.h: Add prototype for new function.
10276         * lib/unigbrk/u8-grapheme-prev.c: New file.
10277         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
10278
10279         New module 'u16-grapheme-prev'.
10280         * modules/unigbrk/u16-grapheme-prev: New file.
10281         * modules/unigbrk/u16-grapheme-prev-tests: New file.
10282         * lib/unigbrk.in.h: Add prototype for new function.
10283         * lib/unigbrk/u16-grapheme-prev.c: New file.
10284         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
10285
10286         New module 'u32-grapheme-prev'.
10287         * modules/unigbrk/u32-grapheme-prev: New file.
10288         * modules/unigbrk/u32-grapheme-prev-tests: New file.
10289         * lib/unigbrk.in.h: Add prototype for new function.
10290         * lib/unigbrk/u32-grapheme-prev.c: New file.
10291         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
10292
10293         New module 'u8-grapheme-breaks'.
10294         * modules/unigbrk/u8-grapheme-breaks: New file.
10295         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
10296         * lib/unigbrk.in.h: Add prototype for new function.
10297         * lib/unigbrk/u8-grapheme-breaks.c: New file.
10298         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
10299
10300         New module 'u16-grapheme-breaks'.
10301         * modules/unigbrk/u16-grapheme-breaks: New file.
10302         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
10303         * lib/unigbrk.in.h: Add prototype for new function.
10304         * lib/unigbrk/u16-grapheme-breaks.c: New file.
10305         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
10306
10307         New module 'u32-grapheme-breaks'.
10308         * modules/unigbrk/u32-grapheme-breaks: New file.
10309         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
10310         * lib/unigbrk.in.h: Add prototype for new function.
10311         * lib/unigbrk/u32-grapheme-breaks.c: New file.
10312         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
10313
10314         New module 'ulc-grapheme-breaks'.
10315         * modules/unigbrk/ulc-grapheme-breaks: New file.
10316         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
10317         * m4/locale-ar.m4: New file.
10318         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
10319         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
10320         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
10321
10322 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
10323
10324         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
10325         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
10326         modified how this file was generated before I initially submitted
10327         the module, but failed to regenerate it.  This meant that several
10328         of the level2 entries were wrong.
10329         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
10330         Remove the division-by-2 that is folded into the table now that
10331         gbrkprop.h has been regenerated properly.  Now -1 entries are
10332         handled correctly.
10333
10334         New module 'unigbrk/uc-gbrk-prop-tests'.
10335         * modules/unigbrk/uc-gbrk-prop-tests: New file.
10336         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
10337         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
10338         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
10339
10340 2011-01-01  Bruno Haible  <bruno@clisp.org>
10341
10342         Avoid use of hexadecimal escapes.
10343         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
10344         instead of hexadecimal escapes.
10345
10346 2011-01-01  Jim Meyering  <meyering@redhat.com>
10347
10348         maint: new rule to update copyright year ranges
10349         * Makefile (update-copyright): New rule.
10350
10351         maint: indent with TABs in Makefile
10352         * Makefile: Expand leading sequences of spaces to TABs
10353
10354         version-etc: update the copyright year it reports
10355         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
10356
10357 2010-12-31  Bruno Haible  <bruno@clisp.org>
10358
10359         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
10360         * lib/isfinite.c (zerof, zerod, zerol): New variables.
10361         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
10362         zero.
10363
10364 2010-12-31  Bruno Haible  <bruno@clisp.org>
10365
10366         pwrite: Work around HP-UX 11.11 bug.
10367         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
10368         works and set REPLACE_PWRITE if not.
10369         * lib/pwrite.c (pwrite): Add an implementation that uses the system
10370         function.
10371         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
10372
10373 2010-12-31  Bruno Haible  <bruno@clisp.org>
10374
10375         pread: Work around HP-UX 11 bugs.
10376         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
10377         and set REPLACE_PREAD if not.
10378         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
10379
10380 2010-12-31  Eric Blake  <eblake@redhat.com>
10381
10382         nl_langinfo: fix YESEXPR on Irix 6.5
10383         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
10384         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
10385         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
10386         it.
10387
10388 2010-12-31  Bruno Haible  <bruno@clisp.org>
10389
10390         iconv: Document HP-UX 11 bug.
10391         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
10392
10393 2010-12-31  Bruno Haible  <bruno@clisp.org>
10394
10395         ldexpl: Fix link error on HP-UX 11.
10396         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
10397         LDEXPL_LIBM, using $ISNANL_LIBM.
10398
10399 2010-12-31  Eric Blake  <eblake@redhat.com>
10400
10401         ftello: avoid compilation failure with SunStudio c89
10402         * lib/ftello.c (ftello): Use lseek, not llseek.
10403
10404         tests: avoid failing coreutils tests on cygwin
10405         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
10406         (create_exe_shims_): Return 0 when skipping.
10407
10408 2010-12-31  Bruno Haible  <bruno@clisp.org>
10409
10410         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
10411         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
10412
10413 2010-12-31  Bruno Haible  <bruno@clisp.org>
10414
10415         waitpid: Fix link error in C++ mode.
10416         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
10417
10418 2010-12-31  Bruno Haible  <bruno@clisp.org>
10419
10420         isnan: Use GCC built-ins when possible.
10421         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
10422         __builtin_isnan.
10423         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
10424         (isnan): Define using GCC built-ins for GCC >= 4.0.
10425
10426 2010-12-31  Bruno Haible  <bruno@clisp.org>
10427
10428         isnand: Fix mistake.
10429         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
10430         __builtin_isnand.
10431
10432 2010-12-31  Bruno Haible  <bruno@clisp.org>
10433
10434         open: Avoid C++ error on HP-UX 11.
10435         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
10436
10437 2010-12-31  Bruno Haible  <bruno@clisp.org>
10438
10439         time_r: Add missing declarations on HP-UX 11.
10440         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
10441         instead of HAVE_LOCALTIME_R.
10442         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
10443         HAVE_LOCALTIME_R always.
10444         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
10445         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
10446         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
10447         HAVE_LOCALTIME_R.
10448         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
10449         * doc/posix-functions/localtime_r.texi: Likewise.
10450
10451 2010-12-29  Eric Blake  <eblake@redhat.com>
10452
10453         mountlist: tweak previous commit
10454         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
10455         Reported by Paul Eggert.
10456
10457         mountlist: fix local drive detection on cygwin
10458         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
10459         that works for cygwin.
10460
10461 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
10462
10463         ftoastr, snprintf: ftoastr + snprintf module
10464         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
10465         since the snprintf module now should be good enough here.
10466         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
10467         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
10468         and gl_MODULE_INDICATOR([snprintf]), but the former enables
10469         GNULIB_SNPRINTF only for the test directory, and the latter
10470         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
10471         seems to suffice by itself.
10472
10473 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
10474
10475         alloca: one step towards thread-safety
10476         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
10477         need for a static variable.  All callers changed.  This does not
10478         make the alloca replacement thread-safe, but it's one step.
10479
10480         tests: minor indenting change
10481         * tests/init.sh: Sync from coreutils housekeeping patch
10482         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
10483         to keep lines within 80 columns.
10484
10485 2010-12-28  Jim Meyering  <meyering@redhat.com>
10486
10487         regex: don't infloop on persistent failing calloc
10488         * lib/regexec.c (build_trtable): Return failure indication upon
10489         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
10490         In glibc, this was fixed for version 2.13:
10491         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
10492
10493 2010-12-28  Bruno Haible  <bruno@clisp.org>
10494             Paul Eggert <eggert@cs.ucla.edu>
10495
10496         linkat: Make implementation robust against system behaviour variations.
10497         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
10498         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
10499         way, and to -2 if it needs a generic runtime test.
10500         * lib/linkat.c (solaris_optimized_link_immediate,
10501         solaris_optimized_link_follow): New functions.
10502         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
10503         (check_same_link): Use it.
10504
10505 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
10506
10507         New module 'unigbrk/base'.
10508         * modules/unigbrk/base: New file.
10509         * lib/unigbrk.in.h: New file.
10510
10511         New module 'unigbrk/uc-gbrk-prop'.
10512         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
10513         * modules/unigbrk/uc-gbrk-prop: New file.
10514         * lib/unigbrk/gbrkprop.h: New file.
10515         * lib/unigbrk/uc-gbrk-prop.c: New file.
10516
10517         New module 'unigbrk/uc-is-grapheme-break'.
10518         * modules/unigbrk/uc-is-grapheme-break: New file.
10519         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
10520         * lib/unigbrk/uc-is-grapheme-break.c: New file.
10521         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
10522         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
10523         * tests/unigbrk/GraphemeBreakTest.txt: New file.
10524
10525         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
10526
10527 2010-12-27  Bruno Haible  <bruno@clisp.org>
10528
10529         linkat test: Avoid failure on Solaris 11 2010-11.
10530         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
10531
10532 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
10533
10534         utimens: work around glibc rounding bug on more platforms
10535         * lib/utimens.c (fdutimens): Work around rounding bug even if
10536         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
10537         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
10538
10539 2010-12-27  Bruno Haible  <bruno@clisp.org>
10540
10541         select tests: Improve comments.
10542         * tests/test-select.c (do_select): Add comments.
10543
10544 2010-12-27  Bruno Haible  <bruno@clisp.org>
10545
10546         select tests: Safer way of handling timeout.
10547         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
10548         at every invocation.
10549
10550 2010-12-27  Bruno Haible  <bruno@clisp.org>
10551
10552         select tests: Use 'bool' where appropriate.
10553         * tests/test-select.c (connect_to_socket): Change argument type to
10554         'bool'.
10555
10556 2010-12-27  Bruno Haible  <bruno@clisp.org>
10557
10558         select tests: Use existing modules.
10559         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
10560         (configure.ac): Don't test for unistd.h.
10561         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
10562         declared in <unistd.h>.
10563
10564 2010-12-27  Bruno Haible  <bruno@clisp.org>
10565
10566         mbrtowc: Work around a Solaris 7 bug.
10567         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
10568         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
10569         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
10570         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
10571         MBRTOWC_NULL_ARG1_BUG.
10572         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
10573         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
10574         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
10575         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
10576
10577 2010-12-27  Jim Meyering  <meyering@redhat.com>
10578
10579         read-file.c: tweak syntax
10580         * lib/read-file.c (fread_file): Remove space after "*" in function
10581         definitions.
10582
10583 2010-12-27  Bruno Haible  <bruno@clisp.org>
10584
10585         times test: Avoid gcc warnings on OSF/1.
10586         * tests/test-times.c (main): Cast printf arguments from clock_t to
10587         'long int'.
10588
10589 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
10590
10591         utimens: work around glibc rounding bug on older Linux kernels
10592         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
10593         on Linux with a glibc whose utimes might not work, then work
10594         around a longstanding glibc bug involving rounding rather than
10595         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
10596         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
10597
10598 2010-12-26  Bruno Haible  <bruno@clisp.org>
10599
10600         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
10601         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
10602         _GL_CXXALIAS_SYS.
10603         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
10604
10605 2010-12-26  Bruno Haible  <bruno@clisp.org>
10606
10607         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
10608         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
10609         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
10610         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
10611         looking for the declaration.
10612         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
10613         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
10614         problem.
10615         * doc/posix-functions/inet_pton.texi: Likewise.
10616
10617 2010-12-26  Bruno Haible  <bruno@clisp.org>
10618
10619         arpa_inet: Use the common idioms with C++ support.
10620         * lib/arpa_inet.in.h: Include c++defs.h.
10621         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
10622         support.
10623         * modules/arpa_inet (Depends-on): Add c++defs.
10624         (Makefile.am): Substitute the contents of c++defs.h.
10625         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
10626         * modules/arpa_inet-c++-tests: New file.
10627         * tests/test-arpa_inet-c++.cc: New file.
10628
10629 2010-12-25  Bruno Haible  <bruno@clisp.org>
10630
10631         Fix more C++ link errors on Solaris 8.
10632         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
10633         $(LIB_EACCESS).
10634         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
10635         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
10636         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
10637         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
10638         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
10639
10640 2010-12-25  Bruno Haible  <bruno@clisp.org>
10641
10642         printf-posix: Fix link error when a non-GCC compiler is used.
10643         * lib/stdio.in.h (printf): When not using GCC, override printf
10644         correctly.
10645         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
10646
10647 2010-12-25  Bruno Haible  <bruno@clisp.org>
10648
10649         strerror_r-posix: Update doc.
10650         * doc/posix-functions/strerror_r.texi: Update doc about the return
10651         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
10652
10653 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
10654
10655         utimens: simplify the logic of the previous change
10656         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
10657         This should not affect whether the test succeeds or fails.
10658
10659         utimens: configure better on hosts with NFS clock skew
10660         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
10661         uses the clock of the local host.  It might use the clock of the
10662         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
10663         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
10664
10665 2010-12-25  Bruno Haible  <bruno@clisp.org>
10666
10667         ptsname test: Avoid failure on Solaris.
10668         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
10669         open a pseudo-terminal; don't use BSD-style ptys.
10670         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
10671
10672 2010-12-25  Bruno Haible  <bruno@clisp.org>
10673
10674         ptsname: Avoid ERANGE failure on some systems.
10675         * lib/ptsname.c (buffer): Increase size.
10676
10677 2010-12-25  Bruno Haible  <bruno@clisp.org>
10678
10679         rename, renameat: Avoid test failures at NFS mounted locations.
10680         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
10681         so that subsequent mkdir calls succeed.
10682
10683 2010-12-25  Bruno Haible  <bruno@clisp.org>
10684
10685         iswblank: Fix C++ link error on Solaris 8.
10686         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
10687         _GL_FUNCDECL_SYS.
10688
10689 2010-12-25  Bruno Haible  <bruno@clisp.org>
10690
10691         unistd: Fix C++ link error on Solaris 8.
10692         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
10693
10694 2010-12-25  Bruno Haible  <bruno@clisp.org>
10695
10696         readlink doc: Mention an old glibc bug.
10697         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
10698
10699 2010-12-25  Bruno Haible  <bruno@clisp.org>
10700
10701         fcntl-h: Fix for use of C++ on glibc systems.
10702         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
10703         also on glibc systems in C++ mode.
10704         Reported by Gary V. Vaughan <gary@gnu.org>.
10705
10706 2010-12-25  Bruno Haible  <bruno@clisp.org>
10707
10708         roundl-ieee: Make it work on OSF/1 5.1 with cc.
10709         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
10710
10711 2010-12-25  Bruno Haible  <bruno@clisp.org>
10712
10713         truncl-ieee: Make it work on OSF/1 5.1 with cc.
10714         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
10715         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
10716         test whether truncl works according to ISO C 99 with IEC 60559.
10717         * m4/truncl-ieee.m4: New file.
10718         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
10719         m4/signbit.m4.
10720         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
10721
10722 2010-12-25  Bruno Haible  <bruno@clisp.org>
10723
10724         ceill-ieee: Make it work on OSF/1 5.1 with cc.
10725         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
10726         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
10727         test whether ceill works according to ISO C 99 with IEC 60559.
10728         * m4/ceill-ieee.m4: New file.
10729         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
10730         m4/signbit.m4.
10731         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
10732
10733 2010-12-25  Bruno Haible  <bruno@clisp.org>
10734
10735         Ensure all prerequisites of <wchar.h> are included.
10736         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
10737         before <wchar.h>.
10738         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
10739         gl_MBRLEN_NUL_RETVAL): Likewise.
10740         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
10741         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
10742         AC_FUNC_MBRTOWC): Likewise.
10743         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
10744         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
10745         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
10746         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
10747         Likewise.
10748         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
10749         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
10750         (gl_WCHAR_H): Improve comments.
10751         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
10752
10753 2010-12-25  Bruno Haible  <bruno@clisp.org>
10754
10755         strtok_r: Fix C syntax error in autoconf macro.
10756         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
10757         characters in test program.
10758
10759 2010-12-24  Bruno Haible  <bruno@clisp.org>
10760
10761         ceil, trunc, round: Fix gcc warnings.
10762         * lib/ceil.c (MIN): Undefine before redefining.
10763         * lib/trunc.c (MIN): Likewise.
10764         * lib/round.c (MIN): Likewise.
10765         Include <math.h> first.
10766
10767 2010-12-24  Bruno Haible  <bruno@clisp.org>
10768
10769         select tests: Avoid failures on OSF/1 5.1.
10770         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
10771         failure of closing the last socket; it may fail with ECONNRESET.
10772
10773 2010-12-24  Eric Blake  <eblake@redhat.com>
10774
10775         stdint: avoid HP-UX 10.20 preprocessor bug
10776         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
10777         than #if.
10778         * tests/test-floor2.c (main): Likewise.
10779         Reported by Peter O'Gorman.
10780
10781         pipe: make obsoletion transition easier
10782         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
10783         * modules/pipe (Files): Include revived file.
10784         (Include): Drop reference, to mirror getdate's behavior.
10785
10786 2010-12-24  Bruno Haible  <bruno@clisp.org>
10787
10788         sys_socket: Hide mismatch of declarations on NonStop Kernel.
10789         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
10790         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
10791         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
10792
10793 2010-12-24  Bruno Haible  <bruno@clisp.org>
10794
10795         gethostname: Ensure declaration on NonStop Kernel.
10796         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
10797         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
10798
10799 2010-12-24  Bruno Haible  <bruno@clisp.org>
10800
10801         sys_select: Ensure all necessary types on NonStop Kernel.
10802         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
10803         include <sys/time.h>.
10804         * doc/posix-headers/sys_select.texi: Mention that it's missing on
10805         NonStop Kernel.
10806         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
10807
10808 2010-12-24  Bruno Haible  <bruno@clisp.org>
10809
10810         sys_select: Remove unneeded include.
10811         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
10812         have <sys/select.h>.
10813
10814 2010-12-24  Bruno Haible  <bruno@clisp.org>
10815
10816         gethostname: Provide a fallback for HOST_NAME_MAX.
10817         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
10818         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
10819         instead.
10820         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
10821
10822 2010-12-24  Bruno Haible  <bruno@clisp.org>
10823
10824         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
10825         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
10826         (SA_RESTART): Likewise.
10827         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
10828
10829 2010-12-24  Bruno Haible  <bruno@clisp.org>
10830
10831         signal: Define NSIG.
10832         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
10833         * tests/test-signal.c (nsig): New variable.
10834         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
10835
10836 2010-12-24  Bruno Haible  <bruno@clisp.org>
10837
10838         rename, renameat: Avoid test failures on OSF/1 5.1.
10839         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
10840         alternative error codes.
10841         * tests/test-renameat.c (main): Likewise.
10842
10843 2010-12-24  Bruno Haible  <bruno@clisp.org>
10844
10845         *printf: Detect large precisions bug on Solaris 10/SPARC.
10846         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
10847         by Paul Eggert.
10848         * tests/test-snprintf-posix.h (test_function): Add this test code here
10849         too.
10850         * tests/test-sprintf-posix.h (test_function): Likewise.
10851         * tests/test-vasnprintf-posix.c (test_function): Likewise.
10852         * tests/test-vasprintf-posix.c (test_function): Likewise.
10853         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
10854         around by gnulib.
10855         * doc/posix-functions/printf.texi: Likewise.
10856         * doc/posix-functions/snprintf.texi: Likewise.
10857         * doc/posix-functions/sprintf.texi: Likewise.
10858         * doc/posix-functions/vfprintf.texi: Likewise.
10859         * doc/posix-functions/vprintf.texi: Likewise.
10860         * doc/posix-functions/vsnprintf.texi: Likewise.
10861         * doc/posix-functions/vsprintf.texi: Likewise.
10862         * doc/posix-functions/dprintf.texi: Undo last commit.
10863         * doc/posix-functions/vdprintf.texi: Likewise.
10864
10865 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
10866
10867         tests: port test-fdutimensat.c to Solaris 8
10868         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
10869         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
10870         On Solaris 8, it fails with errno == ENOSYS, because there is no
10871         futimens (so it can't use the fd), and there is no lutimens (so it
10872         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
10873
10874         vsnprintf: make more consistent with snprintf; doc fixes
10875
10876         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
10877         the byte count return problem was promoted from the snprintf-posix
10878         to the snprintf module.
10879         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
10880         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
10881         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
10882         * tests/test-snprintf.c (main): Check the byte count returned.
10883         * tests/test-vsnprintf.c (main): Likewise.
10884
10885 2010-12-23  Eric Blake  <eblake@redhat.com>
10886
10887         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
10888         * modules/sigpipe (License): Relax license.
10889
10890 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
10891
10892         doc: document Solaris printf bug with large float precisions
10893         * doc/posix-functions/dprintf.texi (dprintf):
10894         * doc/posix-functions/fprintf.texi (fprintf):
10895         * doc/posix-functions/printf.texi (printf):
10896         * doc/posix-functions/snprintf.texi (snprintf):
10897         * doc/posix-functions/sprintf.texi (sprintf):
10898         * doc/posix-functions/vdprintf.texi (vdprintf):
10899         * doc/posix-functions/vfprintf.texi (vfprintf):
10900         * doc/posix-functions/vprintf.texi (vprintf):
10901         * doc/posix-functions/vsnprintf.texi (vsnprintf):
10902         * doc/posix-functions/vsprintf.texi (vsprintf):
10903         Mention that these functions mishandle large floating point
10904         precisions on Solaris 10.  The same bug is also present in Solaris
10905         8, and I assume earlier.  This causes "cd gnulib-tests; make
10906         check" to fail on Solaris 8 (and I assume, later) when building
10907         the latest coreutils, in test-vasprintf-posix's call to
10908         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
10909         the wide flavors (e.g., wprintf) so this patch just updates the
10910         documentation for the narrow ones.
10911
10912         test-posixtm.c: add two tests
10913         * tests/test-posixtm.c: Add two tests, to highlight the
10914         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
10915         around this bug; this is merely to document it.
10916
10917 2010-12-22  Bruno Haible  <bruno@clisp.org>
10918
10919         getlogin_r: Work around portability problem on OSF/1.
10920         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
10921         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
10922         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
10923         test for a truncated result.
10924         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
10925         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
10926         * modules/getlogin_r (Depends-on): Add memchr.
10927         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
10928
10929 2010-12-22  Bruno Haible  <bruno@clisp.org>
10930
10931         ptsname: Avoid test failure on OSF/1 5.1.
10932         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
10933         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
10934         (same_slave): New function.
10935         (main): Use it to compare ptsname's result with the expected file name.
10936
10937 2010-12-22  Bruno Haible  <bruno@clisp.org>
10938
10939         Port extended stdio modules to HP NonStop Kernel.
10940         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
10941         macros.
10942         * lib/fbufmode.c: Update comments.
10943         * lib/fflush.c: Likewise.
10944         * lib/fpurge.c: Likewise.
10945         * lib/freadable.c: Likewise.
10946         * lib/freadahead.c: Likewise.
10947         * lib/freading.c: Likewise.
10948         * lib/freadptr.c: Likewise.
10949         * lib/freadseek.c: Likewise.
10950         * lib/fseeko.c: Likewise.
10951         * lib/fseterr.c: Likewise.
10952         * lib/fwritable.c: Likewise.
10953         * lib/fwriting.c: Likewise.
10954         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
10955
10956 2010-12-22  Bruno Haible  <bruno@clisp.org>
10957
10958         ttyname_r: Work around bug on OSF/1 5.1.
10959         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
10960         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
10961         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
10962         present.
10963         * lib/ttyname_r.c (ttyname_r): Update comments.
10964
10965 2010-12-22  Bruno Haible  <bruno@clisp.org>
10966
10967         round: Implement result sign according to IEEE 754.
10968         * lib/round.c (MIN, MINUS_ZERO): New macros.
10969         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
10970         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
10971         * tests/test-round-ieee.c (main): Likewise.
10972         * tests/test-roundl-ieee.c (main): Likewise.
10973
10974         trunc: Implement result sign according to IEEE 754.
10975         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
10976         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
10977         * tests/test-trunc2.c: Include minus-zero.h.
10978         (MINUS_ZERO): New macro.
10979         (trunc_reference): Keep in sync with lib/trunc.c.
10980         * tests/test-truncf2.c: Include minus-zero.h.
10981         (MINUS_ZERO): New macro.
10982         (truncf_reference): Keep in sync with lib/trunc.c.
10983         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
10984         * tests/test-trunc-ieee.c (main): Likewise.
10985         * tests/test-truncl-ieee.c (main): Likewise.
10986
10987         ceil: Implement result sign according to IEEE 754.
10988         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
10989         (FUNC): Return -0.0 for -1 < x < 0.
10990         * tests/test-ceil2.c: Include minus-zero.h.
10991         (MINUS_ZERO): New macro.
10992         (ceil_reference): Keep in sync with lib/ceil.c.
10993         * tests/test-ceilf2.c: Include minus-zero.h.
10994         (MINUS_ZERO): New macro.
10995         (ceilf_reference): Keep in sync with lib/ceil.c.
10996         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
10997         * tests/test-ceil-ieee.c (main): Likewise.
10998         * tests/test-ceill-ieee.c (main): Likewise.
10999
11000         floor: Implement result sign according to IEEE 754.
11001         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
11002         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
11003         * tests/test-floorf2.c (floorf_reference): Likewise.
11004         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
11005         * tests/test-floor-ieee.c (main): Likewise.
11006         * tests/test-floorl-ieee.c (main): Likewise.
11007
11008 2010-12-22  Bruno Haible  <bruno@clisp.org>
11009
11010         getaddrinfo: Update doc.
11011         * doc/posix-functions/gai_strerror.texi: Return type is also different
11012         on AIX and HP-UX.
11013
11014 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
11015
11016         getaddrinfo, inet_ntop: Update doc for Solaris.
11017         * doc/posix-functions/gai_strerror.texi: Return type is also an
11018         issue on Solaris 9 and earlier.
11019         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
11020         on Solaris 10 and earlier.
11021
11022 2010-12-21  Bruno Haible  <bruno@clisp.org>
11023
11024         New module 'roundl-ieee'.
11025         * modules/roundl-ieee: New file.
11026         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
11027         test whether roundl works according to ISO C 99 with IEC 60559.
11028         * m4/roundl-ieee.m4: New file.
11029         * modules/roundl-ieee-tests: New file.
11030         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
11031         * tests/test-roundl.c (main): Remove signbit tests.
11032         * modules/roundl-tests (Depends-on): Remove signbit.
11033         * doc/posix-functions/roundl.texi: Mention the new module.
11034
11035 2010-12-21  Bruno Haible  <bruno@clisp.org>
11036
11037         New module 'truncl-ieee'.
11038         * modules/truncl-ieee: New file.
11039         * modules/truncl-ieee-tests: New file.
11040         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
11041         * tests/test-truncl.c (main): Remove signbit tests.
11042         * modules/truncl-tests (Depends-on): Remove signbit.
11043         * doc/posix-functions/truncl.texi: Mention the new module.
11044
11045 2010-12-21  Bruno Haible  <bruno@clisp.org>
11046
11047         New module 'ceill-ieee'.
11048         * modules/ceill-ieee: New file.
11049         * modules/ceill-ieee-tests: New file.
11050         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
11051         * tests/test-ceill.c (main): Remove signbit tests.
11052         * modules/ceill-tests (Depends-on): Remove signbit.
11053         * doc/posix-functions/ceill.texi: Mention the new module.
11054
11055 2010-12-21  Bruno Haible  <bruno@clisp.org>
11056
11057         New module 'floorl-ieee'.
11058         * modules/floorl-ieee: New file.
11059         * modules/floorl-ieee-tests: New file.
11060         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
11061         * tests/test-floorl.c (main): Remove signbit tests.
11062         * modules/floorl-tests (Depends-on): Remove signbit.
11063         * doc/posix-functions/floorl.texi: Mention the new module.
11064
11065 2010-12-21  Bruno Haible  <bruno@clisp.org>
11066
11067         New module 'round-ieee'.
11068         * modules/round-ieee: New file.
11069         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
11070         whether round works according to ISO C 99 with IEC 60559.
11071         * m4/round-ieee.m4: New file.
11072         * modules/round-ieee-tests: New file.
11073         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
11074         * tests/test-round1.c (main): Remove signbit tests.
11075         * modules/round-tests (Depends-on): Remove 'signbit'.
11076         * doc/posix-functions/round.texi: Mention the new module.
11077
11078 2010-12-21  Bruno Haible  <bruno@clisp.org>
11079
11080         New module 'trunc-ieee'.
11081         * modules/trunc-ieee: New file.
11082         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
11083         whether trunc works according to ISO C 99 with IEC 60559.
11084         * m4/trunc-ieee.m4: New file.
11085         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
11086         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
11087         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
11088         * modules/trunc-ieee-tests: New file.
11089         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
11090         * tests/test-trunc1.c (main): Remove signbit tests.
11091         * modules/trunc-tests (Depends-on): Remove 'signbit'.
11092         * doc/posix-functions/trunc.texi: Mention the new module.
11093
11094 2010-12-21  Bruno Haible  <bruno@clisp.org>
11095
11096         New module 'ceil-ieee'.
11097         * modules/ceil-ieee: New file.
11098         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
11099         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
11100         ISO C 99 with IEC 60559.
11101         * m4/ceil-ieee.m4: New file.
11102         * modules/ceil (Files): Add lib/ceil.c.
11103         (Depends-on): Add 'float'.
11104         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
11105         * lib/math.in.h (ceil): New declaration.
11106         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
11107         REPLACE_CEIL.
11108         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
11109         * modules/ceil-ieee-tests: New file.
11110         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
11111         * tests/test-math-c++.cc: Check the signature of 'ceil'.
11112         * doc/posix-functions/ceil.texi: Mention the new module.
11113
11114 2010-12-21  Bruno Haible  <bruno@clisp.org>
11115
11116         New module 'floor-ieee'.
11117         * modules/floor-ieee: New file.
11118         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
11119         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
11120         ISO C 99 with IEC 60559.
11121         * m4/floor-ieee.m4: New file.
11122         * modules/floor (Files): Add lib/floor.c.
11123         (Depends-on): Add 'float'.
11124         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
11125         * lib/math.in.h (floor): New declaration.
11126         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
11127         REPLACE_FLOOR.
11128         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
11129         * modules/floor-ieee-tests: New file.
11130         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
11131         * tests/test-math-c++.cc: Check the signature of 'floor'.
11132         * doc/posix-functions/floor.texi: Mention the new module.
11133
11134 2010-12-21  Bruno Haible  <bruno@clisp.org>
11135
11136         New module 'roundf-ieee'.
11137         * modules/roundf-ieee: New file.
11138         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
11139         test whether roundf works according to ISO C 99 with IEC 60559.
11140         * m4/roundf-ieee.m4: New file.
11141         * modules/roundf-ieee-tests: New file.
11142         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
11143         * tests/test-roundf1.c (main): Remove signbit tests.
11144         * modules/roundf-tests (Depends-on): Remove 'signbit'.
11145         * doc/posix-functions/roundf.texi: Mention the new module.
11146
11147 2010-12-21  Bruno Haible  <bruno@clisp.org>
11148
11149         New module 'truncf-ieee'.
11150         * modules/truncf-ieee: New file.
11151         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
11152         test whether truncf works according to ISO C 99 with IEC 60559.
11153         * m4/truncf-ieee.m4: New file.
11154         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
11155         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
11156         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
11157         * modules/truncf-ieee-tests: New file.
11158         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
11159         * tests/test-truncf1.c (main): Remove signbit tests.
11160         * modules/truncf-tests (Depends-on): Remove 'signbit'.
11161         * doc/posix-functions/truncf.texi: Mention the new module.
11162
11163 2010-12-21  Bruno Haible  <bruno@clisp.org>
11164
11165         New module 'ceilf-ieee'.
11166         * modules/ceilf-ieee: New file.
11167         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
11168         test whether ceilf works according to ISO C 99 with IEC 60559.
11169         * m4/ceilf-ieee.m4: New file.
11170         * modules/ceilf-ieee-tests: New file.
11171         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
11172         * tests/test-ceilf1.c (main): Remove signbit tests.
11173         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
11174         * doc/posix-functions/ceilf.texi: Mention the new module.
11175
11176 2010-12-21  Bruno Haible  <bruno@clisp.org>
11177
11178         New module 'floorf-ieee'.
11179         * modules/floorf-ieee: New file.
11180         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
11181         test whether floorf works according to ISO C 99 with IEC 60559.
11182         * m4/floorf-ieee.m4: New file.
11183         * modules/floorf-ieee-tests: New file.
11184         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
11185         * tests/test-floorf1.c (main): Remove signbit tests.
11186         * modules/floorf-tests (Depends-on): Remove 'signbit'.
11187         * doc/posix-functions/floorf.texi: Mention the new module.
11188
11189 2010-12-21  Bruno Haible  <bruno@clisp.org>
11190
11191         Support for minus zero in autoconf macros.
11192         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
11193         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
11194         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
11195         * tests/minus-zero.h: Update comments.
11196
11197 2010-12-21  Bruno Haible  <bruno@clisp.org>
11198
11199         Tests for module 'ceil'.
11200         * modules/ceil-tests: New file.
11201         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
11202         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
11203
11204 2010-12-21  Bruno Haible  <bruno@clisp.org>
11205
11206         Tests for module 'floor'.
11207         * modules/floor-tests: New file.
11208         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
11209         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
11210
11211 2010-12-21  Bruno Haible  <bruno@clisp.org>
11212
11213         math: Fix indentation.
11214         * lib/math.in.h (floorf): Fix indentation.
11215
11216 2010-12-21  Bruno Haible  <bruno@clisp.org>
11217
11218         Fix cross-compilation guesses on Solaris.
11219         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
11220         not match "solaris2.10".
11221         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
11222         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
11223         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
11224
11225 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
11226
11227         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
11228         This fixes a problem observed with the latest coreutils snapshot
11229         that caused a test to fail on Solaris 8.  src/csplit.c's call
11230         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
11231         earlier, instead of returning the number of bytes that would have
11232         been generated; this causes csplit to incorrectly report memory
11233         exhaustion.
11234         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
11235         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
11236         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
11237         comments to match.
11238         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
11239         Fix typo in matching older versions of Solaris: "solaris2.10"
11240         is matched by the shell pattern "solaris2.[0-9]*".  This matters
11241         only for guessing while cross-compiling.
11242         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
11243
11244 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
11245
11246         ftoastr: fix comment again
11247         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
11248         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
11249         Also, simplify example a bit by using flags = 0.
11250
11251 2010-12-20  Bruno Haible  <bruno@clisp.org>
11252
11253         round*, trunc*: Update documentation regarding glibc.
11254         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
11255         * doc/posix-functions/round.texi: Likewise.
11256         * doc/posix-functions/roundl.texi: Likewise.
11257         * doc/posix-functions/truncf.texi: Likewise.
11258         * doc/posix-functions/trunc.texi: Likewise.
11259         * doc/posix-functions/truncl.texi: Likewise.
11260
11261 2010-12-20  Bruno Haible  <bruno@clisp.org>
11262
11263         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
11264         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
11265         * doc/posix-functions/round.texi: Likewise.
11266         * doc/posix-functions/roundl.texi: Likewise.
11267
11268 2010-12-20  Bruno Haible  <bruno@clisp.org>
11269
11270         ttyname_r: Add missing declaration on HP-UX 11.
11271         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
11272         HAVE_TTYNAME_R.
11273         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
11274         declared. Set HAVE_TTYNAME_R always.
11275         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
11276         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
11277         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
11278         HAVE_TTYNAME_R.
11279         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
11280
11281 2010-12-20  Bruno Haible  <bruno@clisp.org>
11282
11283         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
11284         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
11285         * doc/posix-functions/getlogin_r.texi: Likewise.
11286         * tests/test-getlogin.c: Include <errno.h>.
11287         (main): Avoid test failure on HP-UX 11.11.
11288         * tests/test-getlogin_r.c (main): Likewise.
11289
11290 2010-12-20  Bruno Haible  <bruno@clisp.org>
11291
11292         getlogin_r: Add missing declaration on HP-UX 11.
11293         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
11294         declared also when it exists as a function.
11295         * doc/posix-functions/getlogin_r.texi: Document this workaround.
11296
11297 2010-12-20  Bruno Haible  <bruno@clisp.org>
11298
11299         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
11300         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
11301         through wcrtomb.
11302
11303 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
11304
11305         ftoastr: fix comment
11306         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
11307         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
11308
11309 2010-12-19  Bruno Haible  <bruno@clisp.org>
11310
11311         isnan: Ensure it is a macro.
11312         * lib/math.in.h (isnan): Define as a macro if not already a macro.
11313         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
11314         Solaris.
11315
11316 2010-12-19  Bruno Haible  <bruno@clisp.org>
11317
11318         ldexpl test: Fix link error on OSF/1 5.1.
11319         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
11320
11321 2010-12-19  Bruno Haible  <bruno@clisp.org>
11322
11323         wctype: Make it work in C++ mode on OSF/1 5.1.
11324         * lib/wctype.in.h (iswblank): Declare but not define here.
11325         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
11326         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
11327         * modules/wctype (Files): Add lib/iswblank.c.
11328
11329 2010-12-19  Bruno Haible  <bruno@clisp.org>
11330
11331         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
11332         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
11333         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
11334
11335 2010-12-19  Bruno Haible  <bruno@clisp.org>
11336
11337         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
11338         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
11339         _POSIX_PII_SOCKET.
11340         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
11341         * doc/posix-functions/recvfrom.texi: Likewise.
11342         * doc/posix-functions/send.texi: Likewise.
11343         * doc/posix-functions/sendto.texi: Likewise.
11344
11345 2010-12-19  Bruno Haible  <bruno@clisp.org>
11346
11347         tcgetsid: Add missing declaration on OSF/1 5.1.
11348         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
11349         HAVE_TCGETSID.
11350         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
11351         Don't set HAVE_TCGETSID.
11352         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
11353         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
11354         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
11355         HAVE_TCGETSID.
11356         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
11357
11358 2010-12-19  Bruno Haible  <bruno@clisp.org>
11359
11360         stdio: Fix problem with popen() declaration on OSF/1 5.1.
11361         * lib/stdio.in.h: During the include_next statement, let recursive
11362         includes of this file include only the system header file.
11363
11364 2010-12-19  Bruno Haible  <bruno@clisp.org>
11365
11366         iconv_open: Fix regression from 2010-12-04.
11367         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
11368         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
11369
11370 2010-12-19  Bruno Haible  <bruno@clisp.org>
11371
11372         stdbool test: Avoid a gcc warning.
11373         * tests/test-stdbool.c (main): Fail if e1 is false.
11374         Reported by Jim Meyering.
11375
11376 2010-12-19  Jim Meyering  <meyering@redhat.com>
11377
11378         setenv: restore to working order
11379         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
11380         mistakenly removed.
11381         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
11382         HAVE_SETENV.
11383         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
11384         HAVE_SETENV.
11385
11386 2010-12-19  Bruno Haible  <bruno@clisp.org>
11387
11388         Document some different function declarations on OSF/1 5.1.
11389         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
11390         * doc/posix-functions/inet_ntop.texi: Likewise.
11391         * doc/posix-functions/gethostname.texi: Likewise.
11392         * lib/unistd.in.h (gethostname): Update comment.
11393
11394 2010-12-19  Bruno Haible  <bruno@clisp.org>
11395
11396         doc: Mention vasprintf-posix module.
11397         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
11398         the 'vasprintf-posix' module.
11399         * doc/glibc-functions/vasprintf.texi: Likewise.
11400
11401 2010-12-19  Bruno Haible  <bruno@clisp.org>
11402
11403         unsetenv: Add missing declaration on OSF/1 5.1.
11404         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
11405         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
11406         Don't set HAVE_UNSETENV. In the test program, set _BSD.
11407         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
11408         not HAVE_UNSETENV.
11409         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
11410         HAVE_UNSETENV.
11411         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
11412
11413 2010-12-19  Bruno Haible  <bruno@clisp.org>
11414
11415         setenv: Add missing declaration on OSF/1 5.1.
11416         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
11417         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
11418         declared. Don't set HAVE_SETENV.
11419         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
11420         not HAVE_SETENV.
11421         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
11422         HAVE_SETENV.
11423         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
11424
11425 2010-12-19  Bruno Haible  <bruno@clisp.org>
11426
11427         nl_langinfo tests: Avoid gcc warning.
11428         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
11429
11430 2010-12-19  Bruno Haible  <bruno@clisp.org>
11431
11432         mknod: Avoid error in C++ mode on OSF/1 with GCC.
11433         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
11434         _GL_CXXALIAS_SYS.
11435
11436 2010-12-19  Bruno Haible  <bruno@clisp.org>
11437
11438         stdbool: Relax test.
11439         * tests/test-stdbool.c (e): Don't require that casts from a variable's
11440         address to 'bool' work in static initializer, for compilers other than
11441         GCC.
11442
11443 2010-12-19  Bruno Haible  <bruno@clisp.org>
11444
11445         ftello: Add missing declaration on OSF/1 5.1.
11446         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
11447         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
11448         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
11449         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
11450         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
11451
11452 2010-12-19  Bruno Haible  <bruno@clisp.org>
11453
11454         fseeko: Add missing declaration on OSF/1 5.1.
11455         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
11456         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
11457         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
11458         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
11459         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
11460
11461 2010-12-19  Bruno Haible  <bruno@clisp.org>
11462
11463         fchdir: Add missing declaration on OSF/1 5.1.
11464         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
11465         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
11466         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
11467         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
11468         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
11469
11470 2010-12-19  Bruno Haible  <bruno@clisp.org>
11471
11472         relocatable-prog-wrapper: Separate from relocatable-prog.
11473         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
11474         uninstall-relocwrapper rule here.
11475         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
11476         Reported by Ian Beckwith <ianb@erislabs.net>.
11477
11478 2010-12-19  Bruno Haible  <bruno@clisp.org>
11479
11480         unistr/u8-mbsnlen: Add missing dependency.
11481         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
11482         Reported by Ian Beckwith <ianb@erislabs.net>.
11483
11484 2010-12-19  Bruno Haible  <bruno@clisp.org>
11485
11486         iconv: Make it possible again to use this module without 'iconv-h'.
11487         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
11488         if it is not defined.
11489         Reported by Ian Beckwith <ianb@erislabs.net>.
11490
11491 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
11492
11493         acl: port to Solaris 8 when copying from tmpfs to ufs
11494         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
11495         error number.  Problem observed on Solaris 8 with latest
11496         coreutils, with "mv A B", where A is on a tmpfs file system and B
11497         is on a ufs file system.  This caused coreutils' mv/part-symlink
11498         test to fail.
11499
11500         tests: set fail=0 at start
11501         * tests/init.sh (setup_): Move fail=0 initialization here ...
11502         (mktempd_): ... from here, so that tests can rely on fail being
11503         set to 0 initially.  This fixes a problem in coreutils; see:
11504         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
11505
11506 2010-12-18  Bruno Haible  <bruno@clisp.org>
11507
11508         memmem-simple: Stylistic changes.
11509         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
11510         Fix preprocessor directive indentation.
11511
11512 2010-12-15  Pádraig Brady <P@draigBrady.com>
11513
11514         memmem, memmem-simple: reorganize and expand empty needle check
11515         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
11516         functional checks to memmem-simple so that one has a fully functional
11517         memmem by using just this module.
11518         Restrict the performance only check to the memmem module.
11519         Also expand the empty needle check to ensure the correct
11520         pointer is returned, not just a non NULL pointer.
11521         * doc/glibc-functions/memmem.texi: Rearrange the portability
11522         documentation to correlate with the rearranged checks.
11523         Clarify exactly how the memmem and memmem-simple modules
11524         relate to each other.
11525
11526 2010-12-15  Pádraig Brady <P@draigBrady.com>
11527             Bruno Haible  <bruno@clisp.org>
11528
11529         Improve cross-compilation guesses for uClibc.
11530         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
11531         that uClibc does not have the glibc bug.
11532         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
11533         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
11534
11535 2010-12-14  Eric Blake  <eblake@redhat.com>
11536
11537         configmake: provide fallbacks for oldest supported autotools
11538         * m4/configmake.m4: New file.
11539         * modules/configmake (Files): Ship it.
11540         (configure.ac): Use it to guarantee fallbacks.
11541
11542 2010-12-13  Pádraig Brady <P@draigBrady.com>
11543
11544         read-file: Improve handling of large files
11545         * lib/read-file.c (fread_file): Minimize realloc()s
11546         for regular files, and better manage sizes around SIZE_MAX.
11547
11548 2010-12-13  Eric Blake  <eblake@redhat.com>
11549
11550         cloexec, fcntl: relax license
11551         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
11552         consent from all contributors.
11553         * modules/fcntl (License): Likewise.
11554
11555 2010-12-10  Bruno Haible  <bruno@clisp.org>
11556
11557         Tests for module 'pipe-posix'.
11558         * modules/pipe-posix-tests: New file.
11559         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
11560
11561 2010-12-10  Bruno Haible  <bruno@clisp.org>
11562
11563         pipe-posix: Make it work in C++ mode.
11564         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
11565         (pipe): Use common idiom, not a macro definition.
11566         * lib/pipe.c: New file.
11567         * m4/pipe.m4: New file.
11568         * modules/pipe-posix (Description): Enhance.
11569         (Files): Add lib/pipe.c, m4/pipe.m4.
11570         (configure.ac): Invoke gl_FUNC_PIPE.
11571         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
11572         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
11573         * tests/test-unistd-c++.cc: Check the signature of pipe.
11574
11575 2010-12-10  Bruno Haible  <bruno@clisp.org>
11576
11577         Rename module 'pipe' to 'spawn-pipe'.
11578         * modules/spawn-pipe: New file, renamed from modules/pipe.
11579         (Files, configure.ac, Makefile.am): Update.
11580         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
11581         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
11582         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
11583         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
11584         "spawn-pipe.h" instead of "pipe.h".
11585         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
11586         to gl_SPAWN_PIPE.
11587         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
11588         (Files, Makefile.am): Update.
11589         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
11590         Update.
11591         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
11592         Include "spawn-pipe.h" instead of "pipe.h".
11593         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
11594         * lib/javacomp.c: Likewise.
11595         * lib/javaversion.c: Likewise.
11596         * lib/pipe-filter-gi.c: Likewise.
11597         * lib/pipe-filter-ii.c: Likewise.
11598         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
11599         * modules/javacomp (Depends-on): Likewise.
11600         * modules/javaversion (Depends-on): Likewise.
11601         * modules/pipe-filter-gi (Depends-on): Likewise.
11602         * modules/pipe-filter-ii (Depends-on): Likewise.
11603         * MODULES.html.sh (Executing programs): Update.
11604         * NEWS: Mention the change.
11605
11606 2010-12-10  Eric Blake  <eblake@redhat.com>
11607
11608         pipe-posix: new module
11609         * modules/pipe-posix: New file.
11610         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
11611         (gl_UNISTD_H): Check for declaration.
11612         * modules/unistd (Makefile.am): Substitute it.
11613         * lib/unistd.in.h (pipe): Provide it for mingw.
11614         * doc/posix-functions/pipe.texi (pipe): Update documentation.
11615         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
11616
11617 2010-12-07  Bruno Haible  <bruno@clisp.org>
11618
11619         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
11620         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
11621         u8_strcmp_gnu.
11622         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
11623
11624 2010-12-06  Bruno Haible  <bruno@clisp.org>
11625
11626         Update internal documentation.
11627         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
11628
11629 2010-12-04  Bruno Haible  <bruno@clisp.org>
11630
11631         Put more information about failed tests into the test return codes.
11632         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
11633         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
11634         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
11635         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
11636         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
11637         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
11638         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
11639         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
11640         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
11641         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
11642         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
11643         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
11644         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
11645         * m4/stdint.m4 (gl_STDINT_H): Likewise.
11646         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
11647         returns a bit mask.
11648         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
11649         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
11650         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
11651         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
11652         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
11653         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
11654         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
11655         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
11656         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
11657         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
11658         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
11659         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
11660         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
11661         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
11662         * m4/link.m4 (gl_FUNC_LINK): Likewise.
11663         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
11664         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
11665         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
11666         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
11667         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
11668         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
11669         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
11670         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
11671         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
11672         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
11673         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
11674         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
11675         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
11676         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
11677         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
11678         gl_PRINTF_PRECISION): Likewise.
11679         * m4/regex.m4 (gl_REGEX): Likewise.
11680         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
11681         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
11682         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
11683         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
11684         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
11685         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
11686         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
11687         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
11688         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
11689         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
11690         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
11691         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
11692         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
11693         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
11694         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
11695         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
11696         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
11697         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
11698         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
11699         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
11700         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
11701         enumerated value.
11702         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
11703
11704 2010-12-04  Bruno Haible  <bruno@clisp.org>
11705
11706         Update for Solaris 11 2010-11.
11707         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
11708         Express, released in November 2010.
11709
11710 2010-12-04  Bruno Haible  <bruno@clisp.org>
11711
11712         nproc: Relax license.
11713         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
11714         and Paul Eggert.
11715         Requested by Ludovic Courtès <ludo@gnu.org>.
11716
11717 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
11718
11719         utimecmp: fine-grained src to nearby coarse-grained dest
11720
11721         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
11722         and the source is on a file system with higher-resolution time
11723         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
11724         not work, and the time stamps are close together, the algorithm to
11725         determine the exact resolution from the read-back mtime was buggy:
11726         it had a "!=" where it should have had an "==".  This bug has been
11727         in the code ever since it was introduced to gnulib.
11728         Problem reported by Dan Jacobson in
11729         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
11730
11731 2010-11-30  Bruno Haible  <bruno@clisp.org>
11732
11733         strerror_r-posix: Fix autoconf test.
11734         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
11735
11736 2010-11-28  Bruno Haible  <bruno@clisp.org>
11737             Paul Eggert  <eggert@cs.ucla.edu>
11738
11739         Tests for module 'getdomainname'.
11740         * modules/getdomainname-tests: New file.
11741         * tests/test-getdomainname.c: New file, based on
11742         tests/test-gethostname.c.
11743
11744 2010-11-28  Bruno Haible  <bruno@clisp.org>
11745             Paul Eggert  <eggert@cs.ucla.edu>
11746
11747         getdomainname: Use the system function when possible.
11748         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
11749         (getdomainname): Replace if needed. Provide the declaration if it is
11750         missing. Don't use _GL_CXXALIAS_SYS_CAST.
11751         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
11752         (getdomainname): When the system has getdomainname, call the system
11753         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
11754         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
11755         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
11756         found in libnsl. Look for the declaration also in <netdb.h>. Replace
11757         the function if its second argument is of type 'int' or if it is found
11758         in libnsl.
11759         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
11760         <sys/systeminfo.h> and sysinfo().
11761         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
11762         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
11763         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
11764         HAVE_GETDOMAINNAME.
11765         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
11766         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
11767         * doc/glibc-functions/getdomainname.texi: Document the problems with
11768         the getdomainname declaration.
11769
11770 2010-11-28  Bruno Haible  <bruno@clisp.org>
11771
11772         sys_socket: Ensure ss_family field on AIX.
11773         * lib/sys_socket.in.h (ss_family): New macro definition.
11774         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
11775         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
11776         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
11777         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
11778         * modules/sys_socket (Makefile.am): Substitute
11779         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
11780         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
11781
11782 2010-11-27  Bruno Haible  <bruno@clisp.org>
11783
11784         readline: Improve configure output.
11785         * m4/readline.m4 (gl_FUNC_READLINE): Make the
11786         "checking for readline..." result understandable.
11787
11788 2010-11-27  Bruno Haible  <bruno@clisp.org>
11789
11790         *printf-posix: Detect a bug on Solaris 10/x86.
11791         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
11792         for floating-point output.
11793         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
11794         directive.
11795         * tests/test-snprintf-posix.h (test_function): Likewise.
11796         * tests/test-sprintf-posix.h (test_function): Likewise.
11797         * tests/test-vasprintf-posix.c (test_function): Likewise.
11798         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
11799         * doc/posix-functions/printf.texi: Likewise.
11800         * doc/posix-functions/snprintf.texi: Likewise.
11801         * doc/posix-functions/sprintf.texi: Likewise.
11802         * doc/posix-functions/vfprintf.texi: Likewise.
11803         * doc/posix-functions/vprintf.texi: Likewise.
11804         * doc/posix-functions/vsnprintf.texi: Likewise.
11805         * doc/posix-functions/vsprintf.texi: Likewise.
11806         * doc/glibc-functions/obstack_printf.texi: Likewise.
11807         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
11808
11809 2010-11-27  Bruno Haible  <bruno@clisp.org>
11810
11811         Fix link error when module libunistring-optional is in use.
11812         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
11813         * modules/striconveha-tests (Makefile.am): Likewise.
11814
11815 2010-11-27  Bruno Haible  <bruno@clisp.org>
11816
11817         regex: Mention link dependencies.
11818         * modules/regex (Link): New section.
11819         * modules/rpmatch (Link): Likewise.
11820         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
11821
11822 2010-11-27  Bruno Haible  <bruno@clisp.org>
11823
11824         ftoastr: Fix compilation error on Solaris.
11825         * lib/ftoastr.c: Include <config.h>.
11826
11827 2010-11-27  Bruno Haible  <bruno@clisp.org>
11828
11829         getloadavg: Update documentation.
11830         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
11831
11832 2010-11-27  Bruno Haible  <bruno@clisp.org>
11833
11834         sys_socket: Fix test whether the functions are declared.
11835         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
11836         not <sys/select.h>.
11837
11838 2010-11-27  Bruno Haible  <bruno@clisp.org>
11839
11840         getpass: Make sure to get system declaration on some platforms.
11841         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
11842         gl_USE_SYSTEM_EXTENSIONS.
11843         * modules/getpass (Depends-on): Add extensions.
11844
11845 2010-11-26  Bruno Haible  <bruno@clisp.org>
11846
11847         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
11848         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
11849         'iconv' module is present.
11850         (ICONV_CONST): New macro.
11851         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
11852         ICONV_CONST.
11853         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
11854         set ICONV_CONST.
11855         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
11856         here.
11857         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
11858         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
11859         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
11860         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
11861         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
11862         present.
11863
11864 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
11865
11866         ftoastr: comment fix
11867         * lib/ftoastr.c: "little" -> "little or no" in comment
11868
11869 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
11870
11871         stdint: port to GCC 4.3 + OSX + Octave
11872         On this platform, stdint.h is buggy and defines int64_t to long
11873         long int.  The replacement defined it to long int, causing
11874         problems with C++ style name mangling.  Instead, trust the system
11875         definition if INT64_MAX is defined, and likewise for the unsigned
11876         variant.   Problem reported by Jarno Rajahalme in
11877         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
11878         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
11879         and don't mess with int64_t and INT64_MAX in this case.
11880         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
11881
11882 2010-11-24  Bruno Haible  <bruno@clisp.org>
11883
11884         doc: Corrections regarding MacOS X 10.4 and 10.5.
11885         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
11886         MacOS X.
11887         Reported by Simon Josefsson.
11888
11889 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
11890
11891         Uninstall ".bin" files installed by relocwrapper.
11892         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
11893         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
11894         unless it is already there.
11895
11896 2010-11-21  Bruno Haible  <bruno@clisp.org>
11897
11898         Update for NetBSD 5.0.
11899         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
11900         NetBSD; the test fails on NetBSD 5.0.
11901         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
11902         about NetBSD.
11903
11904 2010-11-21  Bruno Haible  <bruno@clisp.org>
11905
11906         Update for HP-UX 11.23 and HP-UX 11.31.
11907         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
11908         HP-UX.
11909
11910 2010-11-21  Bruno Haible  <bruno@clisp.org>
11911
11912         Update for MacOS X 10.5.
11913         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
11914         MacOS X; the test fails on MacOS X 10.5.8.
11915         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
11916         about MacOS X.
11917
11918 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
11919
11920         bootstrap: add bootstrap_sync option.
11921         See discussion at
11922         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
11923         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
11924         * build-aux/bootstrap: Accept --bootstrap-sync to update
11925         bootstrap if it is not identical to the local gnulib's
11926         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
11927         enable this by default.  Accept --no-bootstrap-sync to disable
11928         it.
11929
11930 2010-11-20  Bruno Haible  <bruno@clisp.org>
11931
11932         Ensure that <features.h> is included before __GLIBC__ is tested.
11933         * lib/printf-parse.h: Include <features.h>.
11934         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
11935         Reported by Mike Frysinger <vapier@gentoo.org>.
11936
11937         Ensure that <features.h> is included before __GLIBC__ is tested.
11938         * lib/wchar.in.h: Include <features.h>.
11939         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
11940         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
11941         Reported by Mike Frysinger <vapier@gentoo.org>.
11942
11943         Ensure that <features.h> is included before __GLIBC__ is tested.
11944         * lib/arpa_inet.in.h: Include <features.h>.
11945         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
11946         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
11947         Reported by Mike Frysinger <vapier@gentoo.org>.
11948
11949         Ensure that <features.h> is included before __GLIBC__ is tested.
11950         * build-aux/link-warning.h: Include <features.h>.
11951         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
11952         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
11953         Reported by Mike Frysinger <vapier@gentoo.org>.
11954
11955         Ensure that <features.h> is included before __GLIBC__ is tested.
11956         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
11957         Reported by Mike Frysinger <vapier@gentoo.org>.
11958
11959 2010-11-20  Bruno Haible  <bruno@clisp.org>
11960
11961         memmem: Fix autoconf test.
11962         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
11963
11964 2010-11-20  Bruno Haible  <bruno@clisp.org>
11965
11966         Port to uClibc.
11967         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
11968         * lib/fcntl.in.h: Likewise.
11969         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
11970         * lib/mbrtowc.c (mbrtowc): Likewise.
11971         * lib/relocatable.c (find_shared_library_fullname): Likewise.
11972         * lib/strerror_r.c: Likewise.
11973         * lib/unistr/u8-strnlen.c: Likewise.
11974         * lib/vasnprintf.c (decimal_point_char): Likewise.
11975         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
11976         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
11977         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
11978         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
11979         * tests/test-sigaction.c (handler, main): Likewise.
11980         * lib/freading.h: Treat uClibc like a non-glibc platform.
11981         * lib/freading.c: Likewise.
11982         * lib/gettext.h: Likewise.
11983         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
11984         Likewise.
11985         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
11986         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
11987         * lib/propername.c (proper_name_utf8): Likewise.
11988         * lib/spawn.in.h: Likewise.
11989         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
11990         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
11991         mem_cd_iconveh_internal): Likewise.
11992         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
11993         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
11994         strstr, strcasestr): Likewise.
11995         * lib/unicodeio.c (unicode_to_mb): Likewise.
11996         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
11997         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
11998         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
11999         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
12000         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
12001         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
12002         * lib/unistr/u8-stpncpy.c: Likewise.
12003         * lib/vasnprintf.c (VASNPRINTF): Likewise.
12004         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
12005         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
12006         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
12007         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
12008         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
12009         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
12010         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
12011         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
12012         Likewise.
12013         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
12014         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
12015         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
12016         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
12017         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
12018         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
12019         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
12020         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
12021         * tests/test-getopt.h (OPTIND_MIN): Likewise.
12022         * tests/test-striconveha.c (main): Likewise.
12023         * tests/test-vasnprintf-posix.c (test_function): Likewise.
12024         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
12025         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
12026         * doc/posix-functions/getline.texi: Likewise.
12027         Reported by Mike Frysinger <vapier@gentoo.org>.
12028
12029 2010-11-20  Bruno Haible  <bruno@clisp.org>
12030
12031         nproc: Fix condition.
12032         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
12033         HAVE_PTHREAD_AFFINITY_NP.
12034
12035 2010-11-20  Bruno Haible  <bruno@clisp.org>
12036
12037         Fix a comment.
12038         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
12039
12040 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
12041
12042         ftoastr: don't assume snprintf
12043         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
12044         Implement a subset of snprintf here, by using sprintf safely.
12045         * modules/ftoastr (Depends-on): Remove snprintf.
12046
12047 2010-11-19  Jim Meyering  <meyering@redhat.com>
12048
12049         test-rename.h: fix compilation failure
12050         * tests/test-rename.h (test_rename): Add omitted "}".
12051
12052 2010-11-17  Jim Meyering  <meyering@redhat.com>
12053
12054         maint.mk: add a URL discussing the no-@acronym policy
12055         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
12056
12057 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
12058
12059         ftoastr: depend on snprintf, improve comments
12060         * lib/ftoastr.c: Also mention Loitsch's draft.
12061         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
12062         needed in the current implementation, but it might simplify
12063         speeding up the code later.
12064         * modules/ftoastr: Depend on snprintf; this improves portability.
12065         Suggested by Bruno Haible in the same email.
12066
12067         ftoastr: port to hosts lacking strtof and strtold
12068         Problem reported by Bruno Haible in
12069         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
12070         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
12071         environment and strtold (and presumably strtof) are not available.
12072         * modules/ftoastr (Files): Add m4/c-strtod.m4.
12073         (configure.ac): Require gl_C99_STRTOLD.
12074
12075 2010-11-18  Bruno Haible  <bruno@clisp.org>
12076
12077         c-strtold: Avoid link error on AIX 7.
12078         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
12079         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
12080         (gl_C_STRTOLD): Test whether strtold_l exists.
12081         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
12082
12083 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
12084
12085         intprops: new macro INT_BITS_STRLEN_BOUND
12086         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
12087         ftoastr.h.  This exposes an internal of intprops.h that was formerly
12088         not exposed.  Also, it uses a slightly tighter bound than before;
12089         though this makes no practical difference, we might as well be as
12090         tight as we easily can.
12091
12092         ftoastr: new module, for lossless conversion of floats to short strings
12093         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
12094         * modules/ftoastr: New files.
12095
12096 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
12097
12098         bootstrap: port to Solaris sed
12099         * build-aux/bootstrap (get_version): Port to Solaris sed.
12100         See Ralf Wildenhues's note in
12101         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
12102
12103 2010-11-14  Jim Meyering  <meyering@redhat.com>
12104
12105         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
12106         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
12107         and move definition closer to sole use.
12108
12109 2010-11-13  Jim Meyering  <meyering@redhat.com>
12110
12111         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
12112         Now we require at least autoconf-2.59, which means the work-around
12113         is no longer needed.
12114         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
12115         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
12116         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
12117         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
12118         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
12119
12120 2010-11-13  Bruno Haible  <bruno@clisp.org>
12121
12122         rename, renameat: Avoid test failures at NFS mounted locations.
12123         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
12124         functions.
12125         (test_rename): Use assert_nonexistent.
12126         * tests/test-rename.c: Include <dirent.h>.
12127         * tests/test-renameat.c: Likewise.
12128         Reported by Gary V. Vaughan <gary@gnu.org>.
12129
12130         rename, renameat: Document Linux bug with NFS
12131         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
12132         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
12133         * doc/posix-functions/renameat.texi: Likewise.
12134         Suggested by Eric Blake.
12135
12136 2010-11-13  Bruno Haible  <bruno@clisp.org>
12137
12138         rename test: Add comments.
12139         * tests/test-rename.h (test_rename): Add structure and comments.
12140
12141 2010-11-13  Eric Blake  <eblake@redhat.com>
12142
12143         maintainer-makefile: cover a few more files
12144         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
12145         scripts generated within C files, for libvirt.
12146
12147 2010-11-13  Bruno Haible  <bruno@clisp.org>
12148
12149         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
12150         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
12151         character, return the number of bytes that belong together, not always
12152         1.
12153         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
12154         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
12155         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
12156         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
12157         number of bytes of an invalid character.
12158         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
12159         (main): Invoke it.
12160         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
12161         results.
12162         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
12163         malformed byte sequences.
12164         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
12165         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
12166         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
12167         Reported by Ben Pfaff and Paolo Bonzini.
12168
12169 2010-11-13  Bruno Haible  <bruno@clisp.org>
12170
12171         openat: Work around glibc bug with fchownat() and empty file names.
12172         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
12173         (gl_FUNC_FCHOWNAT): Invoke it.
12174         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
12175         * doc/posix-functions/fchownat.texi: Document the glibc bug.
12176         Reported by Gary V. Vaughan <gary@gnu.org>.
12177
12178 2010-11-13  Bruno Haible  <bruno@clisp.org>
12179
12180         openat: Ensure autoconf macro ordering.
12181         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
12182         gl_USE_SYSTEM_EXTENSIONS.
12183         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
12184
12185 2010-11-13  Bruno Haible  <bruno@clisp.org>
12186
12187         Update comments.
12188         * lib/unistr/u8-check.c: Update file name in comments.
12189         * lib/unistr/u8-mblen.c: Likewise.
12190         * lib/unistr/u8-prev.c: Likewise.
12191         * lib/unistr/u8-strmblen.c: Likewise.
12192         * lib/unistr/u8-strmbtouc.c: Likewise.
12193
12194 2010-11-13  Jim Meyering  <meyering@redhat.com>
12195
12196         tests: avoid test failure on Solaris 10 due to lack of PATH export
12197         * tests/test-update-copyright.sh: Don't forget to export PATH.
12198
12199         init.sh: ensure that IFS is defined, just in case...
12200         * tests/init.sh (setup_): Ensure that IFS is defined,
12201         so that saving and restoring it works as expected.  This
12202         appears to be useful at least for an old version of dash
12203         from a long time ago (RH 6).  See here for details:
12204         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
12205
12206         maint.mk: tighten "test a == b" check
12207         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
12208         test to files that contain something like #!/bin/sh.
12209         Without this, coreutils would get two false positives in
12210         the comments of C source files.
12211
12212 2010-11-12  Eric Blake  <eblake@redhat.com>
12213
12214         bootstrap: fix typo in previous attempt
12215         * build-aux/bootstrap (buildreq): Correct the grouping.
12216         Reported by Paul Eggert.
12217
12218         maintainer-makefile: prohibit test x == x
12219         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
12220         Based on a report by Matthias Bolte.
12221
12222         bootstrap: allow FreeBSD gzip
12223         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
12224         which has no '.' and goes to stderr.
12225         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
12226         Reported by Matthias Bolte.
12227
12228         maintainer-makefile: check for i18n setup
12229         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
12230         will likely work.
12231
12232 2010-11-12  Bruno Haible  <bruno@clisp.org>
12233
12234         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
12235         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
12236         * lib/nanosleep.c (nanosleep): Likewise.
12237
12238 2010-11-11  Bruno Haible  <bruno@clisp.org>
12239
12240         fcntl-h: Fix for use of C++ on glibc systems.
12241         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
12242         also on glibc systems in C++ mode.
12243         Reported by Gary V. Vaughan <gary@gnu.org>.
12244
12245 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
12246
12247         mknod: avoid false failure with dash
12248         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
12249
12250 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
12251
12252         unlink: Fix "is it should" typo in diagnostic.
12253         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
12254         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
12255
12256 2010-11-11  Bruno Haible  <bruno@clisp.org>
12257
12258         Tests for module 'strerror_r-posix'.
12259         * modules/strerror_r-posix-tests: New file.
12260         * tests/test-strerror_r.c: New file.
12261         * tests/test-string-c++.cc: Check the signature of strerror_r.
12262
12263         New module 'strerror_r-posix'.
12264         * lib/string.in.h (strerror_r): New declaration.
12265         * lib/strerror_r.c: New file.
12266         * m4/strerror_r.m4: New file.
12267         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
12268         of strerror_r.
12269         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
12270         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
12271         * modules/strerror_r-posix: New file.
12272         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
12273         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
12274         * doc/posix-functions/strerror_r.texi: Mention the new module and the
12275         portability problems.
12276
12277 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
12278
12279         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
12280         line is also considered for output. Quoted function name in shell
12281         command, so temporary files for functions like MyClass::operator()
12282         are removed correctly without errors.
12283
12284 2010-11-09  Bruno Haible  <bruno@clisp.org>
12285
12286         * doc/posix-functions/strerror.texi: List more failing platforms.
12287
12288         * doc/posix-functions/strerror.texi: Add a comment.
12289
12290 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
12291
12292         fdopendir: fix bug on MacOS X when low on file descriptors
12293
12294         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
12295         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
12296         All callers changed.
12297         (fdopendir): Invoke save_cwd at the top level, not after using
12298         multiple dup() calls to use up file descriptors.  Then retry
12299         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
12300         less than the maximum number of open file descriptors, because
12301         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
12302         on Mac OS X 10.6.4 for tar 1.24
12303         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
12304         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
12305         and for tar 1.25
12306         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
12307
12308 2010-11-07  Bruno Haible  <bruno@clisp.org>
12309
12310         vasnprintf: Support I flag on glibc systems.
12311         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
12312         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
12313         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
12314         snprintf function.
12315         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
12316         glibc systems.
12317         * tests/test-vasnprintf-posix3.c: New file.
12318         * modules/vasnprintf-posix-tests (Files): Add it.
12319         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
12320
12321 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
12322
12323         [html] Fix copy/paste bug: Use unique name for compiler warnings.
12324         * MODULES.html.sh: For compiler warnings, use name
12325         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
12326
12327 2010-11-05  Eric Blake  <eblake@redhat.com>
12328
12329         ceil, floor: avoid spurious failure with icc
12330         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
12331         [denormals-as-zero] when optimizing without -mieee-fp option.
12332         * tests/test-floorf2.c (floorf_reference): Likewise.
12333         * tests/test-ceilf1.c (dummy): New function.
12334         (main): Use it to outsmart icc's optimization.
12335         * tests/test-floorf1.c (dummy, main): Likewise.
12336
12337         tests: require working signbit
12338         * modules/ceilf-tests (Depends-on): Add signbit.
12339         * modules/ceill-tests (Depends-on): Likewise.
12340         * modules/floorf-tests (Depends-on): Likewise.
12341         * modules/floorl-tests (Depends-on): Likewise.
12342         * modules/round-tests (Depends-on): Likewise.
12343         * modules/roundf-tests (Depends-on): Likewise.
12344         * modules/roundl-tests (Depends-on): Likewise.
12345         * modules/trunc-tests (Depends-on): Likewise.
12346         * modules/truncf-tests (Depends-on): Likewise.
12347         * modules/truncl-tests (Depends-on): Likewise.
12348
12349         strtod: work around icc bug
12350         * lib/strtod.c (minus_zero): Define to working value.
12351         (strtod): Use it to avoid icc bug.
12352
12353         copysign: enhance tests
12354         * modules/copysign-tests (Files): Add minus-zero.h.
12355         * tests/test-copysign.c (main): Also test zeros.
12356
12357 2010-11-04  Eric Blake  <eblake@redhat.com>
12358
12359         ceil, floor, round, trunc: enhance tests of -0
12360         * tests/test-ceilf1.c (main): Ensure correct sign of result.
12361         * tests/test-ceill.c (main): Likewise.
12362         * tests/test-floorf1.c (main): Likewise.
12363         * tests/test-floorl.c (main): Likewise.
12364         * tests/test-round1.c (main): Likewise.
12365         * tests/test-roundf1.c (main): Likewise.
12366         * tests/test-roundl.c (main): Likewise.
12367         * tests/test-trunc1.c (main): Likewise.
12368         * tests/test-truncf1.c (main): Likewise.
12369         * tests/test-truncl.c (main): Likewise.
12370
12371 2010-11-04  Eric Blake  <eblake@redhat.com>
12372
12373         frexp, tests: work around ICC bug with -zero
12374         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
12375         works with more compilers.
12376         * tests/minus-zero.h: New file.
12377         * modules/ceilf-tests (Files): Include it.
12378         * modules/ceill-tests (Files): Likewise.
12379         * modules/floorf-tests (Files): Likewise.
12380         * modules/floorl-tests (Files): Likewise.
12381         * modules/frexp-nolibm-tests (Files): Likewise.
12382         * modules/frexp-tests (Files): Likewise.
12383         * modules/frexpl-nolibm-tests (Files): Likewise.
12384         * modules/frexpl-tests (Files): Likewise.
12385         * modules/isnan-tests (Files): Likewise.
12386         * modules/isnand-nolibm-tests (Files): Likewise.
12387         * modules/isnand-tests (Files): Likewise.
12388         * modules/isnanf-nolibm-tests (Files): Likewise.
12389         * modules/isnanf-tests (Files): Likewise.
12390         * modules/isnanl-nolibm-tests (Files): Likewise.
12391         * modules/isnanl-tests (Files): Likewise.
12392         * modules/round-tests (Files): Likewise.
12393         * modules/roundf-tests (Files): Likewise.
12394         * modules/roundl-tests (Files): Likewise.
12395         * modules/ldexpl-tests (Files): Likewise.
12396         * modules/signbit-tests (Files): Likewise.
12397         * modules/snprintf-posix-tests (Files): Likewise.
12398         * modules/sprintf-posix-tests (Files): Likewise.
12399         * modules/strtod-tests (Files): Likewise.
12400         * modules/trunc-tests (Files): Likewise.
12401         * modules/truncf-tests (Files): Likewise.
12402         * modules/truncl-tests (Files): Likewise.
12403         * modules/vsnprintf-posix-tests (Files): Likewise.
12404         * modules/vsprintf-posix-tests (Files): Likewise.
12405         * modules/vasnprintf-posix-tests (Files): Likewise.
12406         * modules/vasprintf-posix-tests (Files): Likewise.
12407         * tests/test-ceilf1.c (main): Use it.
12408         * tests/test-ceill.c (main): Likewise.
12409         * tests/test-floorf1.c (main): Likewise.
12410         * tests/test-floorl.c (main): Likewise.
12411         * tests/test-frexp.c (main): Likewise.
12412         * tests/test-frexpl.c (main): Likewise.
12413         * tests/test-isnan.c (main): Likewise.
12414         * tests/test-isnand.h (main): Likewise.
12415         * tests/test-isnanf.h (main): Likewise.
12416         * tests/test-isnanl.h (main): Likewise.
12417         * tests/test-ldexpl.c (main): Likewise.
12418         * tests/test-round.c (main): Likewise.
12419         * tests/test-roundf.c (main): Likewise.
12420         * tests/test-roundl.c (main): Likewise.
12421         * tests/test-signbit.c (test_signbitf, test_signbitd)
12422         (test_signbitl): Likewise.
12423         * tests/test-snprintf-posix.h (test_function): Likewise.
12424         * tests/test-sprintf-posix.h (test_function): Likewise.
12425         * tests/test-strtod.c (main): Likewise.
12426         * tests/test-trunc1.c (main): Likewise.
12427         * tests/test-truncf1.c (main): Likewise.
12428         * tests/test-truncl.c (main): Likewise.
12429
12430         isnanl: work around icc bug
12431         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
12432
12433 2010-11-03  Eric Blake  <eblake@redhat.com>
12434
12435         tests: fix compiler warnings
12436         * tests/test-getopt.h (test_getopt): Fix condition.
12437         * tests/test-getopt_long.h (test_getopt_long): Likewise.
12438         * tests/test-pipe2.c (main): Likewise.
12439         * tests/test-quotearg-simple.c (main): Avoid icc warning.
12440
12441         utimens: fix broken m4 test
12442         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
12443
12444 2010-10-28  Bruno Haible  <bruno@clisp.org>
12445
12446         posix_spawn*, getdtablesize: Relax license.
12447         * modules/posix_spawn (License): Change to LGPLv2+.
12448         * modules/posix_spawnp (License): Likewise.
12449         * modules/posix_spawn-internal (License): Likewise.
12450         * modules/posix_spawnattr_init (License): Likewise.
12451         * modules/posix_spawnattr_getflags (License): Likewise.
12452         * modules/posix_spawnattr_setflags (License): Likewise.
12453         * modules/posix_spawnattr_getpgroup (License): Likewise.
12454         * modules/posix_spawnattr_setpgroup (License): Likewise.
12455         * modules/posix_spawnattr_getschedparam (License): Likewise.
12456         * modules/posix_spawnattr_setschedparam (License): Likewise.
12457         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
12458         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
12459         * modules/posix_spawnattr_getsigdefault (License): Likewise.
12460         * modules/posix_spawnattr_setsigdefault (License): Likewise.
12461         * modules/posix_spawnattr_getsigmask (License): Likewise.
12462         * modules/posix_spawnattr_setsigmask (License): Likewise.
12463         * modules/posix_spawnattr_destroy (License): Likewise.
12464         * modules/posix_spawn_file_actions_init (License): Likewise.
12465         * modules/posix_spawn_file_actions_addclose (License): Likewise.
12466         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
12467         * modules/posix_spawn_file_actions_addopen (License): Likewise.
12468         * modules/posix_spawn_file_actions_destroy (License): Likewise.
12469         * modules/getdtablesize (License): Likewise.
12470         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
12471
12472 2010-10-26  Bruno Haible  <bruno@clisp.org>
12473
12474         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
12475         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
12476         Cygwin and mingw.
12477         Suggested by Eric Blake.
12478
12479 2010-10-26  Bruno Haible  <bruno@clisp.org>
12480
12481         stdio: Work around compilation error due to renameat() on Solaris 10.
12482         * lib/stdio.in.h: Include <unistd.h> on Solaris.
12483         * lib/renameat.c: Don't include <unistd.h> here.
12484         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
12485         Reported by Paul Eggert and Eric Blake.
12486
12487 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
12488
12489         renameat: port to Solaris 10, which declares renameat in unistd.h
12490
12491         * lib/renameat.c: Include unistd.h before stdio.h, because
12492         Solaris 10 declares renameat in unistd.h.  Problem encountered
12493         when building GNU tar 1.24 on Solaris 10.
12494
12495 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
12496
12497         fdopendir: fix C89 compilation
12498         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
12499         compilers.
12500
12501 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
12502
12503         inttostr: simplify by removing unnecessary redundancy
12504         * lib/anytostr.c: Don't include verify.h.
12505         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
12506         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
12507         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
12508         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
12509         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
12510         Likewise.
12511         * modules/inttostr (Depends-on): Remove 'verify'.
12512
12513 2010-10-23  Bruno Haible  <bruno@clisp.org>
12514
12515         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
12516         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
12517         Reported by Eric Blake.
12518
12519 2010-10-23  Bruno Haible  <bruno@clisp.org>
12520
12521         Tests: Fix LOCALE_JA on MirBSD 10.
12522         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
12523         to an UTF-8 locale.
12524         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
12525         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
12526         Reported by Eric Blake.
12527
12528 2010-10-21  Bruno Haible  <bruno@clisp.org>
12529
12530         nl_langinfo test: Avoid test failure on NetBSD 5.
12531         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
12532         Reported by Eric Blake.
12533
12534 2010-10-21  Eric Blake  <eblake@redhat.com>
12535
12536         c-stack: work around libsigsegv 2.8 bug
12537         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
12538         overflow on at least PowerPC64.
12539
12540 2010-10-17  Bruno Haible  <bruno@clisp.org>
12541
12542         userspec: Drop redundant file.
12543         * modules/userspec (Files): Remove lib/inttostr.h.
12544
12545 2010-10-17  Bruno Haible  <bruno@clisp.org>
12546
12547         nl_langinfo tests: Silence some warnings.
12548         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
12549         Reported by Jim Meyering.
12550
12551 2010-10-17  Bruno Haible  <bruno@clisp.org>
12552
12553         Make use of GCC's attribute __alloc_size__.
12554         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
12555         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
12556         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
12557         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
12558         __alloc_size__.
12559         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
12560         Suggested by Jim Meyering.
12561
12562 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
12563
12564         bootstrap: anchor .gitignore entries.
12565         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
12566         with...
12567         (insert_vc_ignore): ... this new function, which prepends `/' to
12568         all .gitignore entries before passing them to
12569         insert_sorted_if_absent.
12570
12571 2010-10-16  Bruno Haible  <bruno@clisp.org>
12572
12573         nextafter: Fix configure check.
12574         * modules/nextafter (configure.ac): Correct expected prototype.
12575
12576 2010-10-16  Bruno Haible  <bruno@clisp.org>
12577
12578         termios: Update documentation.
12579         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
12580
12581 2010-10-16  Bruno Haible  <bruno@clisp.org>
12582
12583         tests: Make them compile with TinyCC.
12584         * tests/test-strstr.c (main): Remove parentheses around array
12585         initializer.
12586
12587 2010-10-15  Eric Blake  <eblake@redhat.com>
12588
12589         ignore-value: make header idempotent
12590         * lib/ignore-value.h: Add double-inclusion guards.
12591         Reported by Stefan Berger.
12592
12593 2010-10-15  Jim Meyering  <meyering@redhat.com>
12594
12595         GNUmakefile: handle "stable" target, not "major"
12596         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
12597         lists in maint.mk and announce-gen.  Without this, "make stable"
12598         would fail to ensure that $(VERSION) is up to date.
12599
12600 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
12601
12602         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
12603         & co.
12604
12605 2010-10-14  Bruno Haible  <bruno@clisp.org>
12606
12607         vasnprintf: Don't set errno to 0.
12608         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
12609         block that sets it to 0.
12610         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
12611
12612 2010-10-14  Bruno Haible  <bruno@clisp.org>
12613
12614         socketlib: Fix.
12615         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
12616         gl_PREREQ_SYS_H_WINSOCK2.
12617         Reported by Ian Beckwith <ianb@erislabs.net>.
12618
12619 2010-10-13  Jim Meyering  <meyering@redhat.com>
12620
12621         test-select-stdin.c: avoid warn_unused_result warnings
12622         * tests/test-select-stdin.c: Include "macros.h".
12623         ASSERT that read and fflush succeed.
12624
12625 2010-10-13  Jim Meyering  <meyering@redhat.com>
12626
12627         git-version-gen: do require git-VC'd files in cwd
12628         * build-aux/git-version-gen: Reject a git version string
12629         if there are no commits associated with the current directory.
12630         This avoids an unlikely false-positive (unrelated dir whose parent
12631         repository also contains a tag matching v*), as pointed out
12632         by Giuseppe Scrivano in
12633         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
12634
12635 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
12636
12637         argv-iter: omit nonconforming declaration
12638         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
12639         enum arg_iter_err declaration, which doesn't conform to C99.
12640         Solaris 10 cc warns about this.
12641
12642 2010-10-13  Eric Blake  <eblake@redhat.com>
12643
12644         termios: fix compilation on mingw
12645         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
12646         (gl_TERMIOS_H): Adjust it on mingw.
12647         * modules/termios (Makefile.am): Substitute new key.
12648         * lib/termios.in.h (includes): Make include_next conditional.
12649         * doc/posix-headers/termios.texi (termios.h): Update
12650         documentation.
12651         Reported by Daniel P. Berrange.
12652
12653 2010-10-13  Jim Meyering  <meyering@redhat.com>
12654
12655         git-version-gen: don't require that .git/ be in the current dir
12656         * build-aux/git-version-gen: Adjust this script so that it works
12657         when run from any working directory beneath the top-level .git/-
12658         containing directory.  Inspired by a patch from Giuseppe Scrivano,
12659         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
12660
12661         test-select: avoid warn_unused_result warnings
12662         * tests/test-select.c: Include "macros.h".
12663         ASSERT that each call to read, write, and pipe succeeds.
12664         While not technically required, also check each "close".
12665         * modules/select-tests (Files): Add tests/macros.h.
12666
12667         test-symlinkat: remove declaration of unused local
12668         * tests/test-symlinkat.c (main): Remove unused local, "buf".
12669
12670         test-inttostr: avoid shadowing warnings
12671         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
12672         and use malloc rather than the stack for the same reason as
12673         mentioned in the comment justifying the other allocation.
12674
12675 2010-10-11  Bruno Haible  <bruno@clisp.org>
12676
12677         stdlib: Allow multiple gnulib generated replacements to coexist.
12678         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
12679         Reported by Sam Steingold <sds@gnu.org>.
12680
12681 2010-10-11  Jim Meyering  <meyering@redhat.com>
12682
12683         fix a documentation typo
12684         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
12685
12686 2010-10-11  Eric Blake  <eblake@redhat.com>
12687
12688         futimens: work around Solaris 11 bug
12689         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
12690         * tests/test-futimens.h (test_futimens): Enhance, rather than
12691         weaken test.
12692         * doc/posix-functions/futimens.texi (futimens): Document the bug.
12693
12694 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
12695
12696         Indentation.
12697         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
12698         higher-level operators more to the left.
12699
12700 2010-10-11  Jim Meyering  <meyering@redhat.com>
12701
12702         test-futimens: avoid unwarranted test failure on Solaris 5.11
12703         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
12704         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
12705         because it tries to dereference the NULL name argument.
12706
12707 2010-10-11  Bruno Haible  <bruno@clisp.org>
12708
12709         Indentation.
12710         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
12711         indentation.
12712
12713 2010-10-11  Jim Meyering  <meyering@redhat.com>
12714
12715         spawn.in.h: make indentation consistent with parentheses
12716         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
12717         Make indentation consistent with parentheses.
12718
12719 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
12720
12721         Fix mismatched parens in previous commit
12722         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
12723         parens.
12724
12725 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
12726
12727         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
12728
12729         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
12730         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
12731         * lib/malloca.c: Include "verify.h".
12732         (verify1): Remove, replacing with a verify call.
12733         * lib/relocwrapper.c (verify1): Likewise.
12734         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
12735         Likewise.
12736         * modules/malloca (Depends-on): Add 'verify'.
12737         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
12738         * modules/vasnprintf (Depends-on): Add 'verify'.
12739         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
12740         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
12741         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
12742         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
12743         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
12744         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
12745         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
12746
12747         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
12748
12749         Formerly the style was sometimes 2*X - 1, because the C standard
12750         was wrongly thought to disallow ?: in integral constant expressions.
12751         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
12752         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
12753         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
12754         * lib/stdint.in.h (_verify_intmax_size): Likewise.
12755         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
12756         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
12757         verify that time_t cannot be floating.
12758
12759 2010-10-08  Eric Blake  <eblake@redhat.com>
12760
12761         time: enforce recent POSIX ruling that time_t is integral
12762         * lib/time.in.h (__time_t_must_be_integral): Detect any
12763         problematic systems, allowing the rest of gnulib to assume POSIX.
12764
12765 2010-10-08  Jim Meyering  <meyering@redhat.com>
12766
12767         fdopendir: fix a bug on systems lacking openat and /proc support
12768         OpenBSD 4.7 is one such system.  The most noticeable effect was
12769         failure of any application making nontrivial use of fts: rm, du,
12770         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
12771           ./rm: traversal failed: `a': Bad file descriptor
12772         Debugging that, you see that even though FD 6 was closed just
12773         prior to the opendir call in fd_clone_opendir, its resulting
12774         dir->dd_fd was 8, rather than the expected value of 6:
12775
12776         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
12777         93                close (fd);
12778         (gdb) n
12779         94                dir = fd_clone_opendir (dupfd);
12780         (gdb) n
12781         95                saved_errno = errno;
12782         (gdb) p dir->dd_fd
12783         $11 = 8
12784
12785         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
12786         The problem is that on OpenBSD, fd_clone_opendir has to resort
12787         to using the old-style save/restore CWD mechanism, due to its
12788         lack of openat/proc support, and *that* would steal the FD (6)
12789         that opendir was supposed to use.
12790
12791         The fix is to squirrel away the desired FD so that save_cwd uses a
12792         different one, and then free the dest FD right before calling opendir.
12793         That guarantees opendir will use the required file descriptor.
12794
12795         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
12796
12797 2010-10-08  Bruno Haible  <bruno@clisp.org>
12798
12799         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
12800         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
12801
12802 2010-10-08  Bruno Haible  <bruno@clisp.org>
12803
12804         nanosleep: Make replacement POSIX compliant.
12805         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
12806         is out of range.
12807         Reported by Jim Meyering.
12808
12809 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
12810
12811         bootstrap: add hook for altering gnulib.mk, for Bison
12812         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
12813         the Bison bootstrapping process can rewrite file names and variables
12814         in this file before later parts of 'bootstrap' use the file.
12815         Bison wants to include lib/gnulib.mk from the top-level makefile,
12816         so it needs the file names in this file to be relative to the top
12817         level, not relative to lib; plus it needs variable names to be
12818         rewritten.
12819         (slurp): Use the new function.
12820
12821         bootstrap: reformat for readability
12822         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
12823
12824 2010-10-08  Eric Blake  <eblake@redhat.com>
12825
12826         docs: update cygwin progress
12827         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
12828         1.7.7.
12829         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
12830         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
12831         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
12832         * doc/posix-functions/carg.texi (carg): Likewise.
12833         * doc/posix-functions/cargf.texi (cargf): Likewise.
12834         * doc/posix-functions/casin.texi (casin): Likewise.
12835         * doc/posix-functions/casinf.texi (casinf): Likewise.
12836         * doc/posix-functions/casinh.texi (casinh): Likewise.
12837         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
12838         * doc/posix-functions/catan.texi (catan): Likewise.
12839         * doc/posix-functions/catanf.texi (catanf): Likewise.
12840         * doc/posix-functions/catanh.texi (catanh): Likewise.
12841         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
12842         * doc/posix-functions/ccos.texi (ccos): Likewise.
12843         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
12844         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
12845         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
12846         * doc/posix-functions/cexp.texi (cexp): Likewise.
12847         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
12848         * doc/posix-functions/cimag.texi (cimag): Likewise.
12849         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
12850         * doc/posix-functions/clog.texi (clog): Likewise.
12851         * doc/posix-functions/clogf.texi (clogf): Likewise.
12852         * doc/posix-functions/conj.texi (conj): Likewise.
12853         * doc/posix-functions/conjf.texi (conjf): Likewise.
12854         * doc/posix-functions/cpow.texi (cpow): Likewise.
12855         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
12856         * doc/posix-functions/cproj.texi (cproj): Likewise.
12857         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
12858         * doc/posix-functions/creal.texi (creal): Likewise.
12859         * doc/posix-functions/crealf.texi (crealf): Likewise.
12860         * doc/posix-functions/csin.texi (csin): Likewise.
12861         * doc/posix-functions/csinf.texi (csinf): Likewise.
12862         * doc/posix-functions/csinh.texi (csinh): Likewise.
12863         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
12864         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
12865         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
12866         * doc/posix-functions/ctan.texi (ctan): Likewise.
12867         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
12868         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
12869         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
12870         * doc/posix-headers/complex.texi (complex.h): Likewise.
12871
12872 2010-10-07  Jim Meyering  <meyering@redhat.com>
12873
12874         parse-datetime: avoid compilation failure on OpenBSD 4.7
12875         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
12876         This works around a compilation failure on OpenBSD 4.7:
12877         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
12878
12879 2010-10-07  Eric Blake  <eblake@redhat.com>
12880
12881         docs: update cygwin progress
12882         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
12883         1.7.6.
12884         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
12885         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
12886         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
12887         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
12888         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
12889         Likewise.
12890         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
12891         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
12892         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
12893         Likewise.
12894         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
12895         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
12896         Likewise.
12897         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
12898         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
12899         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
12900         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
12901         Likewise.
12902         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
12903         Likewise.
12904         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
12905
12906         docs: update parse-datetime history
12907         * doc/parse-datetime.texi (Authors of parse_datetime): Better
12908         documentation of this function's history and alternatives.
12909
12910         cygwin: use more robust version check
12911         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
12912         exclude an eventual cygwin 1.9.1.
12913         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
12914         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
12915         (gl_FUNC_STRCASESTR): Likewise.
12916         Reported by Bruno Haible.
12917
12918 2010-10-06  Bruno Haible  <bruno@clisp.org>
12919
12920         string, sys_select: Avoid #including large headers unless necessary.
12921         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
12922         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
12923         OSF/1, BeOS, Haiku.
12924         Reported by Jim Meyering.
12925
12926 2010-10-05  Eric Blake  <eblake@redhat.com>
12927
12928         memmem, strstr, strcasestr: fix bug with long periodic needle
12929         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
12930         periodic needle having false positive.
12931         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
12932         and cygwin 1.7.7.
12933         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
12934         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
12935         (gl_FUNC_STRCASESTR): Likewise.
12936         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
12937         * tests/test-memmem.c (main): Expose the bug.
12938         * tests/test-strcasestr.c (main): Likewise.
12939         * tests/test-strstr.c (main): Likewise.
12940         * tests/test-c-strcasestr.c (main): Likewise.
12941         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
12942         * doc/posix-functions/strstr.texi (strstr): Likewise.
12943         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
12944         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
12945
12946 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
12947
12948         parse-datetime: do some more renaming
12949         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
12950         parse_datetime, not get_date.  Mention the renaming.
12951         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
12952         in comments.
12953         * m4/bison.m4: Likewise.
12954
12955 2010-10-05  Eric Blake  <eblake@redhat.com>
12956
12957         parse-datetime: better name than get_date
12958         * NEWS: Reword the deprecation notice.
12959         * modules/get_date: Rename to modules/parse-datetime.
12960         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
12961         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
12962         * lib/get_date.y: Rename to lib/parse-datetime.y.
12963         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
12964         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
12965         * doc/getdate.texi: Provide fallback wrapper.
12966         * lib/getdate.h: Move guts, and wrap...
12967         * lib/parse-datetime.h: ...new file.
12968         * lib/parse-datetime.y (get_date): Rename...
12969         (parse_datetime): ...to this.
12970         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
12971         (gl_PARSE_DATETIME): ...to this.
12972         * doc/posix-functions/getdate.texi (get_date): Provide fallback
12973         documentation.
12974         * modules/getdate (Files): Provide fallback docs and header.
12975         (Notice, Depends-on): Update references.
12976         * tests/test-parse-datetime.c: Likewise.
12977         * DEPENDENCIES: Likewise.
12978         * MODULES.html.sh (Date and time <time.h>): Likewise.
12979         * doc/parse-datetime.texi (Date input formats)
12980         (Authors of parse_datetime): Likewise.
12981         * modules/parse-datetime (Files, configure.ac, Makefile.am)
12982         (Include): Likewise.
12983         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
12984         * gnulib-tool: Likewise.
12985         * m4/bison.m4 (gl_BISON): Likewise.
12986         Suggested by Bruno Haible.
12987
12988 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
12989
12990         more ports to Solaris tr, which needs [] around ranges
12991         * gnulib-tool: Solaris tr needs [] around ranges.
12992         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
12993         * tests/test-pipe-filter-gi1.c (main): Likewise.
12994         * tests/test-pipe-filter-ii1.c (main): Likewise.
12995
12996 2010-10-05  Eric Blake  <eblake@redhat.com>
12997
12998         bootstrap: fix Solaris regression
12999         * build-aux/bootstrap (check_versions): Solaris tr still needs []
13000         around ranges.
13001         Reported by Pádraig Brady.
13002
13003         bootstrap: work with pkg-config
13004         * build-aux/bootstrap (check_versions): Also transliterate - in
13005         prerequisite name.
13006         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
13007         prerequisites that were already found, to avoid confusion.
13008         Reported by Justin Clift.
13009
13010         faccessat: remove unused wrappers
13011         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
13012         presence of these wrappers dragged in -lgen on Solaris.
13013         Reported by Clemens Brogi; fix suggested by Paul Eggert.
13014
13015 2010-10-05  Jim Meyering  <meyering@redhat.com>
13016
13017         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
13018         * Makefile (sc_pragma_columns): New syntax-check rule.
13019
13020 2010-10-04  Bruno Haible  <bruno@clisp.org>
13021
13022         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
13023         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
13024         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
13025         Reported by Bruce Korb and Eric Blake.
13026
13027 2010-10-04  Bruno Haible  <bruno@clisp.org>
13028
13029         threadlib: Make option --with-libpth-prefix work.
13030         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
13031         use $LIBPTH, not just -lpth.
13032
13033 2010-10-04  Bruno Haible  <bruno@clisp.org>
13034
13035         Avoid line length limitation from HP NonStop system header files.
13036         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
13037         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
13038         * lib/ctype.in.h: Likewise.
13039         * lib/dirent.in.h: Likewise.
13040         * lib/errno.in.h: Likewise.
13041         * lib/fcntl.in.h: Likewise.
13042         * lib/float.in.h: Likewise.
13043         * lib/getopt.in.h: Likewise.
13044         * lib/iconv.in.h: Likewise.
13045         * lib/inttypes.in.h: Likewise.
13046         * lib/langinfo.in.h: Likewise.
13047         * lib/locale.in.h: Likewise.
13048         * lib/math.in.h: Likewise.
13049         * lib/netdb.in.h: Likewise.
13050         * lib/netinet_in.in.h: Likewise.
13051         * lib/poll.in.h: Likewise.
13052         * lib/pthread.in.h: Likewise.
13053         * lib/pty.in.h: Likewise.
13054         * lib/sched.in.h: Likewise.
13055         * lib/se-selinux.in.h: Likewise.
13056         * lib/search.in.h: Likewise.
13057         * lib/signal.in.h: Likewise.
13058         * lib/spawn.in.h: Likewise.
13059         * lib/stdarg.in.h: Likewise.
13060         * lib/stddef.in.h: Likewise.
13061         * lib/stdint.in.h: Likewise.
13062         * lib/stdio.in.h: Likewise.
13063         * lib/stdlib.in.h: Likewise.
13064         * lib/string.in.h: Likewise.
13065         * lib/strings.in.h: Likewise.
13066         * lib/sys_file.in.h: Likewise.
13067         * lib/sys_ioctl.in.h: Likewise.
13068         * lib/sys_select.in.h: Likewise.
13069         * lib/sys_socket.in.h: Likewise.
13070         * lib/sys_stat.in.h: Likewise.
13071         * lib/sys_time.in.h: Likewise.
13072         * lib/sys_times.in.h: Likewise.
13073         * lib/sys_utsname.in.h: Likewise.
13074         * lib/sys_wait.in.h: Likewise.
13075         * lib/sysexits.in.h: Likewise.
13076         * lib/termios.in.h: Likewise.
13077         * lib/time.in.h: Likewise.
13078         * lib/unistd.in.h: Likewise.
13079         * lib/wchar.in.h: Likewise.
13080         * lib/wctype.in.h: Likewise.
13081         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
13082         * modules/ctype (Makefile.am): Likewise.
13083         * modules/dirent (Makefile.am): Likewise.
13084         * modules/errno (Makefile.am): Likewise.
13085         * modules/fcntl-h (Makefile.am): Likewise.
13086         * modules/float (Makefile.am): Likewise.
13087         * modules/getopt-posix (Makefile.am): Likewise.
13088         * modules/iconv-h (Makefile.am): Likewise.
13089         * modules/inttypes (Makefile.am): Likewise.
13090         * modules/langinfo (Makefile.am): Likewise.
13091         * modules/locale (Makefile.am): Likewise.
13092         * modules/math (Makefile.am): Likewise.
13093         * modules/netdb (Makefile.am): Likewise.
13094         * modules/netinet_in (Makefile.am): Likewise.
13095         * modules/poll-h (Makefile.am): Likewise.
13096         * modules/pthread (Makefile.am): Likewise.
13097         * modules/pty (Makefile.am): Likewise.
13098         * modules/sched (Makefile.am): Likewise.
13099         * modules/search (Makefile.am): Likewise.
13100         * modules/selinux-h (Makefile.am): Likewise.
13101         * modules/signal (Makefile.am): Likewise.
13102         * modules/spawn (Makefile.am): Likewise.
13103         * modules/stdarg (Makefile.am): Likewise.
13104         * modules/stddef (Makefile.am): Likewise.
13105         * modules/stdint (Makefile.am): Likewise.
13106         * modules/stdio (Makefile.am): Likewise.
13107         * modules/stdlib (Makefile.am): Likewise.
13108         * modules/string (Makefile.am): Likewise.
13109         * modules/strings (Makefile.am): Likewise.
13110         * modules/sys_file (Makefile.am): Likewise.
13111         * modules/sys_ioctl (Makefile.am): Likewise.
13112         * modules/sys_select (Makefile.am): Likewise.
13113         * modules/sys_socket (Makefile.am): Likewise.
13114         * modules/sys_stat (Makefile.am): Likewise.
13115         * modules/sys_time (Makefile.am): Likewise.
13116         * modules/sys_times (Makefile.am): Likewise.
13117         * modules/sys_utsname (Makefile.am): Likewise.
13118         * modules/sys_wait (Makefile.am): Likewise.
13119         * modules/sysexits (Makefile.am): Likewise.
13120         * modules/termios (Makefile.am): Likewise.
13121         * modules/time (Makefile.am): Likewise.
13122         * modules/unistd (Makefile.am): Likewise.
13123         * modules/wchar (Makefile.am): Likewise.
13124         * modules/wctype (Makefile.am): Likewise.
13125
13126 2010-10-04  Bruno Haible  <bruno@clisp.org>
13127
13128         read-file tests: Avoid a test failure on NonStop Kernel.
13129         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
13130         a regular file.
13131         Reported by Joachim Schmitz <schmitz@hp.com>.
13132
13133 2010-10-03  Bruno Haible  <bruno@clisp.org>
13134
13135         gnulib-tool: Fixes for --create-testdir with --libtool.
13136         * gnulib-tool (func_get_automake_snippet): Don't augment
13137         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
13138         an executable.
13139         (func_create_testdir): Handle module 'alloca' like func_import.
13140         Reported by Bruce Korb <bruce.korb@gmail.com>.
13141
13142 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
13143
13144         Avoid some lines longer than 80 characters.
13145         * lib/stdint.in.h: Break long comment lines.
13146         * lib/math.in.h: Likewise.
13147         (_GL_NUM_UINT_WORDS): New macro, for readability.
13148         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
13149         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
13150         * lib/stdlib.in.h: Likewise.
13151         * lib/spawn.in.h: Likewise.
13152         * lib/sys_socket.in.h: Update an URL.
13153         * lib/sys_stat.in.h: Break long line.
13154
13155 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
13156
13157         Improve pmccabe2html.
13158         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
13159         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
13160         when the sources change. Remove the line in the HTML about "Used
13161         ranges" (which implied that there might be other unused ranges),
13162         rename "Resume" to "Summary" (easier to understand for more users).
13163         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
13164         styles, and some unnecessary blank lines.
13165
13166 2010-10-03  Bruno Haible  <bruno@clisp.org>
13167             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
13168
13169         acl: Add support for ACLs on NonStop Kernel.
13170         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
13171         Check whether the function aclsort() exists.
13172         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
13173         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
13174         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
13175         (acl_nontrivial [HAVE_ACLSORT]: New function.
13176         (file_has_acl): Implement for NonStop Kernel.
13177         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
13178         (qset_acl): Implement for NonStop Kernel.
13179         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
13180         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
13181         (main): Implement for NonStop Kernel.
13182         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
13183         Kernel. Handle this flavor.
13184         * tests/test-set-mode-acl.sh: Likewise.
13185         * tests/test-copy-acl.sh: Likewise.
13186         * tests/test-copy-file.sh: Likewise.
13187
13188 2010-10-03  Bruno Haible  <bruno@clisp.org>
13189
13190         Info about ACLs on NonStop Kernel.
13191         * doc/acl-resources.txt: Add info about NonStop Kernel.
13192         References by Joachim Schmitz <schmitz@hp.com>.
13193
13194 2010-10-02  Bruno Haible  <bruno@clisp.org>
13195
13196         Define missing EDQUOT on NonStop Kernel.
13197         * lib/errno.in.h (EDQUOT): Assign a value if missing.
13198         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
13199         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
13200         missing.
13201         * doc/posix-headers/errno.texi: Mention the NSK bug.
13202         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
13203         Reported by Joachim Schmitz <schmitz@hp.com>.
13204
13205 2010-10-02  Bruno Haible  <bruno@clisp.org>
13206
13207         Update doc for POSIX:2008.
13208         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
13209         Update URL of POSIX specification.
13210
13211 2010-10-02  Bruno Haible  <bruno@clisp.org>
13212
13213         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
13214         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
13215         from gnulib, not from Automake.
13216
13217 2010-10-02  Bruno Haible  <bruno@clisp.org>
13218
13219         New module 'system-posix'.
13220         * modules/system-posix: New file.
13221         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
13222         module is present.
13223         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
13224         GNULIB_SYSTEM_POSIX.
13225         * modules/stdlib (Depends-on): Remove sys_wait.
13226         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
13227         * doc/posix-functions/system.texi: Mention the new module.
13228         * doc/posix-headers/stdlib.texi: Likewise.
13229         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
13230         define test_sys_wait_macros to a no-op.
13231         Reported by Sam Steingold <sds@gnu.org>.
13232
13233 2010-09-30  Bruno Haible  <bruno@clisp.org>
13234
13235         More renaming from 'getdate' to 'get_date'.
13236         * doc/get_date.texi: Renamed from doc/getdate.texi.
13237         * modules/get_date (Files): Update.
13238         * MODULES.html.sh (Date and time <time.h>): Update.
13239         * DEPENDENCIES: Update.
13240         * gnulib-tool: Update comment.
13241         * m4/bison.m4 (gl_BISON): Likewise.
13242         * m4/get_date.m4 (gl_GET_DATE): Likewise.
13243
13244 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
13245
13246         bootstrap: support ACLOCAL_FLAGS during aclocal
13247         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
13248         can add additional -I dir for third-party .m4 files.
13249
13250 2010-09-30  Eric Blake  <eblake@redhat.com>
13251
13252         bootstrap: use glibtoolize on MacOS
13253         * build-aux/bootstrap (check_versions): Convert libtool into
13254         libtoolize.
13255         (tool search): Move libtool check earlier, and look for
13256         glibtoolize for MacOS.
13257         (gnulib_tool_options): Auto-add --libtool when appropriate.
13258         Reported by Justin Clift.
13259
13260         poll: fix typo that broke test on MacOS
13261         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
13262         Reported by Justin Clift.
13263
13264         getdate: rename to get_date
13265         Note: getdate.h is not renamed, to minimize client impact.
13266         * modules/getdate: Mark obsolete.  Move old contents...
13267         * modules/get_date: ...to new module name.
13268         * modules/getdate-tests: Move...
13269         * modules/get_date-tests: ...here.
13270         * m4/getdate.m4: Move...
13271         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
13272         * lib/getdate.y: Move...
13273         * lib/get_date.y: ...here.
13274         * tests/test-getdate.c: Move...
13275         * tests/test-get_date.c: ...here.
13276         * doc/posix-functions/getdate.texi (getdate): Update name.
13277         * NEWS: Mention the change.
13278
13279 2010-09-29  Bruno Haible  <bruno@clisp.org>
13280
13281         Separate the module 'waitpid' from the module 'sys_wait'.
13282         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
13283         present.
13284         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
13285         gl_MODULE_INDICATOR_FOR_TESTS.
13286         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
13287         * modules/sys_wait (Depends-on): Remove waitpid.
13288         (Makefile.am): Substitute GNULIB_WAITPID.
13289         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
13290         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
13291         signature only if the 'waitpid' module is present.
13292         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
13293         * NEWS: Mention the change.
13294         * modules/grantpt (Depends-on): Add waitpid.
13295         * modules/wait-process (Depends-on): Likewise.
13296
13297 2010-09-29  Bruno Haible  <bruno@clisp.org>
13298
13299         More tests for module 'sys_wait'.
13300         * modules/sys_wait-c++-tests: New file.
13301         * tests/test-sys_wait-c++.cc: New file.
13302         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
13303         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
13304
13305 2010-09-29  Bruno Haible  <bruno@clisp.org>
13306
13307         New module 'waitpid'.
13308         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
13309         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
13310         Don't include <process.h>.
13311         (waitpid): Declare only, using modern idiom.
13312         * m4/waitpid.m4: New file.
13313         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
13314         * modules/waitpid: New file.
13315         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
13316         (Makefile.am): Update.
13317         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
13318
13319 2010-09-28  Bruno Haible  <bruno@clisp.org>
13320
13321         poll: Assume ANSI C.
13322         * lib/poll.c (poll): Use an ANSI C declaration.
13323
13324 2010-09-28  Bruno Haible  <bruno@clisp.org>
13325
13326         poll-h: Create poll.h on all platforms.
13327         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
13328         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
13329         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
13330         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
13331         (gl_REPLACE_POLL_H): Don't set POLL_H.
13332         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
13333         * modules/poll-h (Depends-on): Add include_next.
13334         (Makefile.am): Create poll.h unconditionally. Substitute also
13335         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
13336
13337 2010-09-28  Bruno Haible  <bruno@clisp.org>
13338
13339         Tests for module 'poll-h'.
13340         * modules/poll-h-c++-tests: New file.
13341         * tests/test-poll-h-c++.cc: New file.
13342
13343         Tests for module 'poll-h'.
13344         * modules/poll-h-tests: New file.
13345         * tests/test-poll-h.c: New file.
13346
13347 2010-09-28  Bruno Haible  <bruno@clisp.org>
13348
13349         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
13350         * modules/poll-h (Depends-on): Add 'extensions'.
13351
13352 2010-09-28  Bruno Haible  <bruno@clisp.org>
13353
13354         New module 'poll-h'.
13355         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
13356         (poll): Use modern idiom.
13357         * modules/poll-h: New file.
13358         * modules/poll (Files): Remove lib/poll.in.h.
13359         (Depends-on): Add poll-h.
13360         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
13361         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
13362         * m4/poll_h.m4: New file.
13363         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
13364         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
13365         and invoke gl_REPLACE_POLL_H.
13366         * lib/poll.c: Use common idiom.
13367         * tests/test-poll.c: Likewise.
13368         * doc/posix-headers/poll.texi: Mention the poll-h module.
13369         Suggested by Eric Blake.
13370
13371 2010-09-26  Bruno Haible  <bruno@clisp.org>
13372
13373         sys_wait: Implement WSTOPSIG.
13374         * lib/sys_wait.in.h (WSTOPSIG): New macro.
13375         Reported by Simon Josefsson.
13376
13377 2010-09-26  Simon Josefsson  <simon@josefsson.org>
13378
13379         stdlib, sys_wait: Avoid compilation error on mingw.
13380         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
13381
13382 2010-09-26  Bruno Haible  <bruno@clisp.org>
13383
13384         stdlib tests: Avoid code duplication.
13385         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
13386         * modules/sys_wait-tests (Files): Likewise.
13387         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
13388         * tests/test-stdlib.c: Include test-sys_wait.h.
13389         (main): Invoke test_sys_wait_macros.
13390         * tests/test-sys_wait.c: Include test-sys_wait.h.
13391         (main): Invoke test_sys_wait_macros.
13392
13393 2010-09-25  Simon Josefsson  <simon@josefsson.org>
13394
13395         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
13396         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
13397         sure Windows sockets are working before calling getaddrinfo.
13398         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
13399         * doc/gnulib.texi (Windows sockets): Fix typo.
13400
13401 2010-09-25  Bruno Haible  <bruno@clisp.org>
13402
13403         Tests for module 'regex-quote'.
13404         * modules/regex-quote-tests: New file.
13405         * tests/test-regex-quote.c: New file.
13406
13407         New module 'regex-quote'.
13408         * lib/regex-quote.h: New file.
13409         * lib/regex-quote.c: New file.
13410         * modules/regex-quote: New file.
13411         Suggested by Reuben Thomas <rrt@sc3d.org>.
13412
13413 2010-09-24  Bruno Haible  <bruno@clisp.org>
13414
13415         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
13416         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
13417
13418 2010-09-23  Bruno Haible  <bruno@clisp.org>
13419
13420         setenv: Relax license.
13421         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
13422         Blake.
13423         Requested by Eric Blake.
13424
13425 2010-09-22  Bruno Haible  <bruno@clisp.org>
13426
13427         termios: Relax license.
13428         * modules/termios (License): Change to LGPLv2+.
13429         Requested by Eric Blake.
13430
13431 2010-09-22  Bruno Haible  <bruno@clisp.org>
13432
13433         threadlib: Allow the package to change the default to 'no'.
13434         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
13435         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
13436         Reported by Paul Eggert.
13437
13438 2010-09-22  Pádraig Brady  <P@draigbrady.com>
13439             Bruno Haible  <bruno@clisp.org>
13440
13441         Fix endless loop in mbmemcasecoll.
13442         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
13443         byte.
13444         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
13445
13446 2010-09-22  Bruno Haible  <bruno@clisp.org>
13447
13448         Tests for module 'memcoll'.
13449         * modules/memcoll-tests: New file.
13450         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
13451
13452         memcoll, xmemcoll: Clarify size vs. length.
13453         * modules/memcoll.c (memcoll0): Clarify specification.
13454         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
13455         passed to collate_error.
13456
13457 2010-09-22  Bruno Haible  <bruno@clisp.org>
13458
13459         Tests for module 'memcasecmp'.
13460         * modules/memcasecmp-tests: New file.
13461         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
13462
13463 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
13464
13465         * lib/pthread.in.h: Add split double-inclusion guard, and include
13466         system <pthread.h> if there is one.  Use @@-style as in other
13467         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
13468         pthread.h doesn't.
13469         (pthread_mutexattr_destroy, pthread_mutexattr_init):
13470         (pthread_mutexattr_settype, pthread_mutex_trylock):
13471         New static inline functions, if there's no system <pthread.h>.
13472         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
13473         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
13474         Approximate with mutexes if the system lacks spinlocks, as in
13475         MacOS.
13476         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
13477         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
13478         @@-style.  Check for spinlocks separately.
13479         (gl_PTHREAD_DEFAULTS): New macro.
13480         * modules/pthread: Redo to use a more typical style for in.h files.
13481
13482 2010-09-21  Eric Blake  <eblake@redhat.com>
13483
13484         net_if: enhance tests
13485         * tests/test-net_if.c (main): Move signature checks earlier.
13486         Print failures to stderr.
13487         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
13488         Document the bug that we do not yet fix.
13489
13490 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
13491
13492         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
13493         about gnulib, not GSS.
13494
13495 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
13496
13497         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
13498         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
13499         for Emacs.
13500         * build-aux/pmccabe2html: Make Makefile.am example code more
13501         cut-and-paste friendly.
13502
13503 2010-09-21  Simon Josefsson  <simon@josefsson.org>
13504
13505         * tests/test-net_if.c: New file.
13506         * modules/net_if-tests: New file.
13507
13508 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
13509
13510         pthread: add pthread_spin_destroy
13511         * lib/pthread.in.h (pthread_spin_destroy): New function.
13512
13513 2010-09-19  Bruno Haible  <bruno@clisp.org>
13514
13515         gnulib-tool: Fix --help output.
13516         * gnulib-tool (func_usage): Fix help message.
13517         Reported by Reuben Thomas <rrt@sc3d.org>.
13518
13519 2010-09-18  Jim Meyering  <meyering@redhat.com>
13520
13521         maint.mk: avoid unexpanded \n in two diagnostics
13522         * top/maint.mk (sc_prohibit_always_true_header_tests):
13523         Don't use a literal \n in a halt=... assignment.  It would not be
13524         expanded, and the two \n bytes would appear in the diagnostic output
13525         rather than the desired newline.  Use halt=$$(printf ... instead.
13526         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
13527
13528 2010-09-18  Bruno Haible  <bruno@clisp.org>
13529
13530         netinet_in: Doc tweak.
13531         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
13532         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
13533
13534 2010-09-18  Jim Meyering  <meyering@redhat.com>
13535
13536         init.sh: correct an outdated comment
13537         * tests/init.sh (create_exe_shims_):  s/function/alias/
13538
13539         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
13540         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
13541         a file named "*.exe" is removed between the glob expansion and the
13542         processing of that oddly named file.
13543
13544 2010-09-17  Eric Blake  <eblake@redhat.com>
13545
13546         mirbsd: add some more support
13547         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
13548         in BSD family.
13549         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
13550         devices as OpenBSD.
13551         * m4/host-os.m4 (mirbsd): Add MirBSD.
13552
13553         tests: fix unportable assumption on sys/wait.h
13554         * tests/test-sys_wait.c (main): Relax test.
13555         * tests/test-stdlib.c (main): Likewise.
13556
13557         init.sh: accomodate directory with no .exes
13558         * tests/init.sh: Accomodate directory containing only scripts.
13559
13560         tests: avoid compiler warning
13561         * tests/test-stdlib.c (main): Use the variable.
13562
13563         fdutimens, fdutimensat: update signature, again
13564         * lib/utimens.h (gl_futimens): Delete, and move signature...
13565         (fdutimens): ...here.
13566         (fdutimensat): Rearrange signature.
13567         (lutimensat): Rename variable for clarity.
13568         * lib/fdutimensat.c (fdutimensat): Update signature.
13569         * lib/utimens.c (fdutimens): Likewise.
13570         (gl_futimens): Delete.
13571         (utimens, lutimens): Update callers.
13572         * lib/futimens.c (futimens): Likewise.
13573         * tests/test-fdutimensat.c: Likewise.
13574         * tests/test-utimens.c: Likewise.
13575         * tests/test-futimens.h: Update comment.
13576         * NEWS: Mention this.
13577         Suggested by Paul Eggert.
13578
13579 2010-09-17  Bruno Haible  <bruno@clisp.org>
13580
13581         Take over the maintenance of some older macros from Autoconf.
13582         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
13583         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
13584         GNU Autoconf.
13585         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
13586         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
13587
13588 2010-09-17  Eric Blake  <eblake@redhat.com>
13589
13590         fdutimensat: drop atflag validation
13591         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
13592         with valid fd, to close a race scenario where futimens is
13593         unsupported and FILE was replaced by a symlink.
13594         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
13595         accordingly.
13596         Suggested by Paul Eggert.
13597
13598 2010-09-16  Bruno Haible  <bruno@clisp.org>
13599
13600         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
13601         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
13602
13603 2010-09-16  Bruno Haible  <bruno@clisp.org>
13604
13605         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
13606         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
13607         login_tty exists.
13608         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
13609
13610 2010-09-16  Bruno Haible  <bruno@clisp.org>
13611
13612         login_tty: Make the replacement code work on BSD systems.
13613         * lib/login_tty.c: Include <sys/ioctl.h>.
13614         (login_tty): Use ioctl TIOCSCTTY when available.
13615         * modules/login_tty (Depends-on): Add sys_ioctl.
13616         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
13617
13618 2010-09-16  Bruno Haible  <bruno@clisp.org>
13619
13620         login_tty: Stricter unit test.
13621         * modules/login_tty-tests (Depends-on): Add tcgetsid.
13622         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
13623         and tcgetsid() after login_tty.
13624         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
13625
13626 2010-09-16  Bruno Haible  <bruno@clisp.org>
13627
13628         New module 'tcgetsid'.
13629         * lib/tcgetsid.c: New file.
13630         * m4/tcgetsid.m4: New file.
13631         * modules/tcgetsid: New file.
13632         * modules/termios (Depends-on): Add c++defs, warn-on-use.
13633         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
13634         GNULIB_TCGETSID, HAVE_TCGETSID.
13635         * lib/termios.in.h: Include <sys/types.h>.
13636         (tcgetsid): New declaration.
13637         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
13638         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
13639         * doc/posix-functions/tcgetsid.texi: Mention the new module.
13640         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
13641
13642 2010-09-16  Bruno Haible  <bruno@clisp.org>
13643
13644         Tests for module 'termios'.
13645         * modules/termios-c++-tests: New file.
13646         * modules/termios-tests: New file.
13647         * tests/test-termios-c++.cc: New file.
13648         * tests/test-termios.c: New file.
13649
13650         New module 'termios'.
13651         * modules/termios: New file.
13652         * lib/termios.in.h: New file.
13653         * m4/termios_h.m4: New file.
13654         * doc/posix-headers/termios.texi: Mention the new module.
13655
13656 2010-09-16  Eric Blake  <eblake@redhat.com>
13657
13658         fdutimensat: add an atflag parameter
13659         * lib/fdutimensat.c (fdutimensat): Add new parameter.
13660         * lib/utimens.h (fdutimensat): Update prototype.
13661         * tests/test-fdutimensat.c: Adjust test to match.
13662         * NEWS: Document the change.
13663         Suggested by Paul Eggert.
13664
13665 2010-09-16  Bruno Haible  <bruno@clisp.org>
13666
13667         Fix typos in comments.
13668         * lib/striconveh.h: Fix typo in comment.
13669         * lib/login_tty.c (login_tty): Likewise.
13670
13671 2010-09-15  Bruno Haible  <bruno@clisp.org>
13672
13673         stdlib: clarify MirBSD WEXITSTATUS bug
13674         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
13675         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
13676
13677 2010-09-15  Eric Blake  <eblake@redhat.com>
13678
13679         stdlib: work around MirBSD WEXITSTATUS bug
13680         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
13681         * modules/stdlib (Depends-on): Add sys_wait.
13682         * tests/test-sys_wait.c (main): Enhance test.
13683         * tests/test-stdlib.c (main): Likewise.
13684         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
13685
13686         docs: mention MacOS issue with WEXITSTATUS(constant)
13687         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
13688         issue.
13689         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
13690
13691         strnlen: add tests
13692         * modules/strnlen-tests: New file.
13693         * tests/test-strnlen.c: Likewise.
13694
13695 2010-09-14  Bruno Haible  <bruno@clisp.org>
13696
13697         unistr/base: Avoid link errors when module 'libunistring' is also used.
13698         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
13699         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
13700         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
13701         Declare also when HAVE_LIBUNISTRING is set.
13702         Reported by Pádraig Brady <P@draigbrady.com>.
13703
13704 2010-09-14  Eric Blake  <eblake@redhat.com>
13705
13706         test-rawmemchr: make more robust
13707         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
13708         (Depends-on, configure.ac): Add needed prerequisites to use it.
13709         * modules/memchr-tests (Files, Depends-on, configure.ac):
13710         Likewise, to avoid implicit reliance on memchr module prereqs.
13711         * tests/test-memchr.c (main): Ensure proper masking.
13712         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
13713         reads.
13714
13715         memchr: detect glibc Alpha bug
13716         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
13717         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
13718         Alpha.
13719         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
13720         * tests/test-memchr.c (main): Enhance test.
13721         Reported by Nelson H. F. Beebe.
13722
13723 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
13724
13725         fts, getcwd, glob: audit for dirfd returning -1
13726         * lib/fts.c (opendir): Remove #define; no longer used.
13727         (opendirat): New arg PDIR_FD.  All callers changed.
13728         (fts_build, _opendir2): Use new opendirat to avoid the need for
13729         dirfd, or for checking whether dirfd returns a negative value.
13730         Don't use opendir; always use openat followed by fdopendir.
13731         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
13732         it.
13733         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
13734         returns -1 here.
13735         * modules/fts (Depends-on): Remove dirfd.
13736         * modules/getcwd (Depends-on): Likewise.
13737
13738 2010-09-13  Eric Blake  <eblake@redhat.com>
13739
13740         float: fix broken MirBSD header
13741         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
13742         * doc/posix-headers/float.texi (float.h): Document it.
13743
13744 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
13745
13746         fts: use O_NOFOLLOW to avoid race condition when opening a directory
13747         * lib/fts.c (opendirat): New arg extra_flags.
13748         (__opendir2): Use it to avoid following symlinks when opening
13749         a directory, if symlinks are not supposed to be followed.  See
13750         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
13751
13752         fdopendir: preserve argument fd before returning
13753         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
13754         (fdopendir_with_dup, fd_clone_opendir): New static functions.
13755         (fdopendir): Use them, arranging for FD to be open to the same
13756         directory that it was when it started.  (It might be temporarily
13757         closed while fdopendir is running, so this not thread- or
13758         signal-safe.)  Be careful to do the right thing even when file
13759         descriptors are scarce and dup fails with errno == EMFILE.  See
13760         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
13761
13762 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
13763
13764         regex: Pass the system regex if its only problem is 32-bit regoff_t.
13765         * NEWS: Document change.
13766         * m4/regex.m4: Disable test for regoff_t size.
13767
13768 2010-09-13  Jim Meyering  <meyering@redhat.com>
13769
13770         fts: don't operate on an invalid file descriptor after failed dup
13771         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
13772         negative file descriptor.
13773
13774 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
13775
13776         savedir: add streamsavedir, deprecate fdsavedir
13777         * NEWS: Mention deprecation of fdsavedir.
13778         * lib/savedir.c (streamsavedir): New extern function, whose name
13779         ends in "savedir" to be consistent with the others.  This differs
13780         from savedirstream in that it doesn't close its argument.  The
13781         next version of GNU tar will use this instead of fdsavedir, to
13782         avoid some race conditions and conserve file descriptors.
13783         (savedirstream): Reimplement as a wrapper around streamsavedir.
13784         (fdsavedir): Add a comment deprecating this function.  As far as
13785         I know, only GNU tar used it, and GNU tar doesn't need it any more.
13786         * lib/savedir.h (streamsavedir): New decl.
13787         (fdsavedir): Add a comment deprecating this.
13788
13789 2010-09-10  Bruno Haible  <bruno@clisp.org>
13790
13791         langinfo: Fix last commit.
13792         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
13793         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
13794         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13795
13796 2010-09-10  Bruno Haible  <bruno@clisp.org>
13797
13798         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
13799         * lib/progreloc.c (O_EXEC): Define fallback.
13800
13801 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
13802
13803         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
13804         * NEWS: Document recent changes to fcntl-h.
13805         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
13806         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
13807         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
13808         Similarly for O_SEARCH; this last was already true, but not documented.
13809         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
13810         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
13811         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
13812         Likewise.
13813         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
13814         is zero, not whether it is defined.
13815         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
13816         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
13817         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
13818
13819 2010-09-10  Bruno Haible  <bruno@clisp.org>
13820
13821         langinfo, nl_langinfo: Fix for IRIX 5.3.
13822         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
13823         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
13824         HAVE_LANGINFO_YESEXPR.
13825         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
13826         HAVE_LANGINFO_YESEXPR.
13827         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
13828         HAVE_LANGINFO_T_FMT_AMPM is 0.
13829         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
13830         HAVE_LANGINFO_YESEXPR is 0.
13831         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
13832         NOEXPR.
13833         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
13834         * doc/posix-functions/nl_langinfo.texi: Likewise.
13835         Reported by Eric Blake.
13836
13837 2010-09-10  Bruno Haible  <bruno@clisp.org>
13838
13839         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
13840         * doc/glibc-functions/login_tty.texi: Mention the include file problem
13841         on FreeBSD 8.0 and OpenBSD 4.6.
13842         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
13843         * m4/pty_h.m4 (gl_PTY_H): Likewise.
13844         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
13845         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
13846         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
13847         ac_includes_default.
13848         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
13849
13850 2010-09-09  Eric Blake  <eblake@redhat.com>
13851
13852         strsignal: work around NetBSD bug
13853         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
13854         * lib/string.in.h (includes): Likewise.
13855         * doc/posix-functions/strsignal.texi (strsignal): Document the
13856         bug.
13857         Reported by Nelson H. F. Beebe.
13858
13859         gnulib-tool: work with NetBSD /bin/sh
13860         * gnulib-tool (func_cache_var, func_cache_lookup_module)
13861         (func_get_description, func_get_comment, func_get_status)
13862         (func_get_notice, func_get_applicability, func_get_filelist)
13863         (func_get_dependencies, func_get_autoconf_early_snippet)
13864         (func_get_autoconf_snippet, func_get_automake_snippet)
13865         (func_get_include_directive, func_get_link_directive)
13866         (func_get_license, func_get_maintainer, func_import): Avoid
13867         shell syntax errors from parsing syntax extensions.
13868
13869 2010-09-09  Bruno Haible  <bruno@clisp.org>
13870
13871         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
13872         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
13873         a reliable way to determine whether the 'alias' command works.
13874
13875 2010-09-08  Jim Meyering  <meyering@redhat.com>
13876
13877         init.sh: penalize a set-x-impaired shell; don't disqualify it
13878         * tests/init.sh: Too many shells corrupt application stderr when
13879         you set -x, so we can't afford to disqualify them, since at least
13880         on Irix-6.5, that would disqualify all bourne shells.
13881         Instead, use a two-pass approach.
13882         On the first pass, try to find a shell that meets the stricter
13883         condition that set -x does not corrupt stderr.
13884         If no shell meets the stricter condition, retest each candidate
13885         shell, but without that extra condition.  Finally, when
13886         VERBOSE=yes is requested and set -x might cause trouble, simply
13887         issue a warning and refrain from enabling debug output.
13888
13889 2010-09-08  Eric Blake  <eblake@redhat.com>
13890
13891         unsetenv: fix OpenBSD bug
13892         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
13893         * doc/posix-functions/unsetenv.texi (unsetenv): Update
13894         documentation.
13895         Reported by Jim Meyering.
13896
13897         strtod: work around IRIX 6.5 bug
13898         * lib/strtod.c (strtod): Reparse number on shorter string if
13899         exponent parse was invalid.
13900         * tests/test-strtod.c (main): Add check for "0x1p 2".
13901         Reported by Tom G. Christensen.
13902
13903         getopt: optimize previous patch
13904         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
13905         empty variable.  Speed up awk script.
13906         Reported by Paolo Bonzini.
13907
13908 2010-09-08  Jim Meyering  <meyering@redhat.com>
13909
13910         test.sh: disqualify shells for which set -x corrupts stderr
13911         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
13912         and OpenBSD 4.7.  They make it so with "set -x", environment settings
13913         appear in stderr output.  For example, this command:
13914             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
13915         prints "P=1" on those two systems:
13916
13917 2010-09-08  Bruno Haible  <bruno@clisp.org>
13918
13919         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
13920         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
13921         commands, because some shells ignore redirections when there is an
13922         error in the command lookup.
13923         Reported by Eric Blake.
13924
13925 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
13926
13927         * lib/regex.h: Fix a mention of `regex_compile' (should be
13928         `re_compile_pattern').
13929         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
13930         (re_set_registers): Correct name of parameter in comment.
13931
13932         * doc/regex.texi: Add documentation for missing syntax flags.
13933         Remove commented-out documentation of defunct syntax option
13934         RE_NO_EMPTY_ALTS.
13935         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
13936         Add documentation of re_set_registers.
13937         Document trick to re-use a pattern buffer by setting fastmap manually.
13938         Update documentation of struct re_pattern_buffer per public members.
13939         Uncomment documentation of equivalence class operators and
13940         collating symbol operators, since they are now implemented,
13941         Explain leftmost-longest matching in relation to alternatives.
13942         Tidy documentation of substring matching.
13943         Remove POSIX documentation, which is done better in
13944         glibc, and refer the reader there. Keep BSD API documentation, as
13945         that is not readily available elsewhere.
13946
13947 2010-09-07  Eric Blake  <eblake@redhat.com>
13948
13949         getopt: handle POSIXLY_CORRECT set but not exported
13950         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
13951         export state of POSIXLY_CORRECT, due to bash set -o posix.
13952         Reported by Dustin J. Mitchell.
13953
13954 2010-09-05  Bruno Haible  <bruno@clisp.org>
13955
13956         gnulib-tool: Highlight the changed options.
13957         * gnulib-tool (func_usage): Display the --import, --add-import,
13958         --remove-import explanations in bold font.
13959
13960 2010-09-06  Karl Berry  <karl@gnu.org>
13961
13962         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
13963
13964 2010-09-05  Bruno Haible  <bruno@clisp.org>
13965
13966         uniwidth/width: Update comment.
13967         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
13968         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
13969
13970 2010-09-05  Bruno Haible  <bruno@clisp.org>
13971
13972         isinf, isnan: Relax license.
13973         * modules/isinf (License): Change from GPL to LGPL, with consent from
13974         Ben Pfaff.
13975         * modules/isnan (License): Likewise.
13976         Requested by Ludovic Courtès.
13977
13978 2010-09-04  Bruno Haible  <bruno@clisp.org>
13979
13980         gnulib-tool: Help migration from --import to --add-import or --update.
13981         * gnulib-tool: Emit a verbose error message when --import is used
13982         without any module name.
13983
13984 2010-09-04  Bruno Haible  <bruno@clisp.org>
13985
13986         Update doc about gnulib-tool.
13987         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
13988         'gnulib-tool --update' in more detail.
13989         Reported by Eric Blake.
13990
13991 2010-09-04  Bruno Haible  <bruno@clisp.org>
13992
13993         gnulib-tool: Change --import. New options --add/remove-import.
13994         * gnulib-tool: New options --add-import, --remove-import.
13995         (func_usage): Document them.
13996         (have_associative): Define always.
13997         (func_import): In import mode, don't merge the specified settings with
13998         the cached settings. Implement remove-import mode.
13999         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
14000         Explain when to use them versus --import.
14001         (Simple update): Use --add-import instead of --import.
14002         * NEWS: Mention the change.
14003
14004 2010-09-04  Bruno Haible  <bruno@clisp.org>
14005
14006         * doc/gnulib-tool.texi (Initial import): Update paragraph about
14007         separate gnulib.mk.
14008
14009 2010-09-04  Bruno Haible  <bruno@clisp.org>
14010
14011         gnulib-tool: Don't talk about CVS any more.
14012         * gnulib-tool (func_usage, func_import): Write "version control"
14013         instead of CVS.
14014
14015 2010-09-04  Jim Meyering  <meyering@redhat.com>
14016
14017         maint.mk: avoid obscure sc_copyright_check failure in coreutils
14018         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
14019         false positives (whose names may be ill-chosen) when searching
14020         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
14021         would cause a false-positive.
14022
14023         avoid coreutils "make distcheck" failure
14024         Coreutils tests with an absolute build directory name that contains
14025         a space.  Not quoting this directory name caused a failure.
14026         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
14027         * tests/test-vc-list-files-cvs.sh: Likewise.
14028
14029 2010-09-04  Bruno Haible  <bruno@clisp.org>
14030
14031         gnulib-tool: Avoid error when run in a package without Makefile.am.
14032         * gnulib-tool: When collecting the m4dirs in a package that does not
14033         have a Makefile.am, eliminate those directories that contain no
14034         gnulib-cache.m4. Fix expression that counts these directories.
14035
14036 2010-09-04  Bruno Haible  <bruno@clisp.org>
14037
14038         update-copyright test: Improve output when perl is missing or too old.
14039         * tests/test-update-copyright.sh: Move test of Perl version down after
14040         the test whether Perl exists. Provide an explanation relating Perl's
14041         error message to Automake's SKIP: message.
14042
14043 2010-09-04  Bruno Haible  <bruno@clisp.org>
14044
14045         Don't augment PATH in TESTS_ENVIRONMENT.
14046         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
14047         set abs_aux_dir instead of augmenting PATH.
14048         * modules/vc-list-files-tests (Makefile.am): Likewise.
14049         * tests/test-update-copyright.sh: Augment PATH here.
14050         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
14051         path_prepend_.
14052         * tests/test-vc-list-files-git.sh: Likewise.
14053
14054 2010-09-04  Jim Meyering  <meyering@redhat.com>
14055
14056         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
14057         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
14058
14059 2010-09-04  Bruno Haible  <bruno@clisp.org>
14060
14061         strdup: Fix compilation error in C++ mode.
14062         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
14063         the macro.
14064
14065 2010-09-04  Bruno Haible  <bruno@clisp.org>
14066
14067         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
14068         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
14069         macro into a function.
14070         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
14071
14072 2010-09-04  Bruno Haible  <bruno@clisp.org>
14073
14074         Set PATH_SEPARATOR the same way autoconf does.
14075         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
14076         the value of PATH_SEPARATOR the same way autoconf-generated configure
14077         scripts do.
14078         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
14079         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
14080
14081 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
14082
14083         Set PATH_SEPARATOR the same way autoconf does.
14084         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
14085         the same way autoconf-generated configure scripts do.
14086         * posix-modules: Likewise.
14087
14088 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
14089
14090         hash: fix safe_hasher const typo
14091         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
14092         const; otherwise, there is a type error later.
14093
14094 2010-09-02  Jim Meyering  <meyering@redhat.com>
14095
14096         test-update-copyright.sh: require perl 5.8.0
14097         * tests/test-update-copyright.sh: Require 5.8.0,
14098         which Tom G. Christensen has confirmed is adequate,
14099         while 5.6.1 is not.
14100
14101 2010-09-02  Eric Blake  <eblake@redhat.com>
14102
14103         tests: init.sh improvements for re-exec'ing with zsh
14104         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
14105         -vx through shell re-exec.
14106         Reported by Tom G. Christensen.
14107
14108         wctype: fix typo in previous commit
14109         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
14110         Reported by Ludovic Courtès.
14111
14112 2010-09-02  Jim Meyering  <meyering@redhat.com>
14113
14114         test-update-copyright.sh: skip test if Perl is too old
14115         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
14116         Reported by Tom G. Christensen.
14117
14118 2010-09-02  Bruno Haible  <bruno@clisp.org>
14119
14120         wctype: Avoid compilation error on IRIX 6.5.30.
14121         * lib/wctype.in.h (iswblank): Declare with a replacement if
14122         REPLACE_ISWBLANK is set.
14123         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
14124         declared. Set REPLACE_ISWBLANK.
14125         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
14126         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
14127         * doc/posix-headers/wctype.texi: Likewise.
14128         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14129
14130 2010-09-01  Bruno Haible  <bruno@clisp.org>
14131
14132         New module 'socketlib'.
14133         * modules/socketlib: New file.
14134         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
14135         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
14136         * modules/sockets (Depends-on): Add socketlib.
14137         Suggested by Sam Steingold <sds@gnu.org>.
14138
14139 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
14140
14141         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
14142
14143         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
14144         when one needs search access to a directory but not read access.
14145         On systems where it is available, it works in some cases where
14146         O_RDONLY does not, namely on directories that are searchable but
14147         not readable, and which need only to be searchable.  If O_SEARCH
14148         is not available, fall back to the traditional method of using
14149         O_RDONLY.
14150
14151         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
14152         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
14153         when opening a directory that needs only to be searchable.
14154         * lib/chdir-safer.c (chdir_no_follow): Likewise.
14155         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
14156         * lib/openat-proc.c (openat_proc_name): Likewise.
14157         * lib/openat.c (openat_needs_fchdir): Likewise.
14158         * lib/save-cwd.c (save_cwd): Likewise.
14159         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
14160
14161 2010-08-28  Bruno Haible  <bruno@clisp.org>
14162
14163         New module 'host-cpu-c-abi'.
14164         * modules/host-cpu-c-abi: New file.
14165         * m4/host-cpu-c-abi.m4: New file, based on part of
14166         clisp/src/m4/general.m4.
14167         Requested by Sam Steingold <sds@gnu.org>.
14168
14169 2010-08-31  Eric Blake  <eblake@redhat.com>
14170         and Jim Meyering  <meyering@redhat.com>
14171
14172         hash: factor, and guard against misbehaving hasher function
14173         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
14174         of table->hasher's return value.  Also protect against a hash value
14175         so large that adding it to table->bucket results in a NULL pointer.
14176         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
14177         Use it in place of open-coded check-and-abort.
14178
14179 2010-08-30  Bruno Haible  <bruno@clisp.org>
14180
14181         hash: silence spurious clang warning
14182         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
14183         Reported by Eric Blake.
14184
14185 2010-08-30  Eric Blake  <eblake@redhat.com>
14186
14187         strstr, memmem, strcasestr: avoid leaked shell message
14188         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
14189         FreeBSD.
14190         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
14191         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
14192
14193         tests: silence clang warning
14194         * tests/test-malloca.c (do_allocation): Avoid dead store.
14195
14196 2010-08-29  Bruno Haible  <bruno@clisp.org>
14197
14198         gettext: Fix recent mistake.
14199         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
14200
14201 2010-08-29  Bruno Haible  <bruno@clisp.org>
14202
14203         selinux-h: Offer a --without-selinux option.
14204         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
14205         --without-selinux was specified, skip all tests and define
14206         HAVE_SELINUX_SELINUX_H to 0.
14207         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
14208         set LIB_SELINUX to empty.
14209         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
14210         gl_LIBSELINUX. If --without-selinux was specified, replace
14211         selinux/context.h.
14212         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
14213
14214 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14215             Bruno Haible  <bruno@clisp.org>
14216
14217         Make the module 'realloc-gnu' work again on AIX and OSF/1.
14218         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
14219         of HAVE_REALLOC.
14220         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
14221         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
14222         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
14223         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
14224
14225 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14226             Bruno Haible  <bruno@clisp.org>
14227
14228         Make the module 'calloc-gnu' work again on AIX and OSF/1.
14229         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
14230         HAVE_CALLOC.
14231         * lib/xmalloc.c: Update accordingly.
14232         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
14233         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
14234         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
14235
14236 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14237             Bruno Haible  <bruno@clisp.org>
14238
14239         Make the module 'malloc-gnu' work again on AIX and OSF/1.
14240         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
14241         HAVE_MALLOC.
14242         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
14243         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
14244         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
14245
14246 2010-08-29  Bruno Haible  <bruno@clisp.org>
14247
14248         Update modules list.
14249         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
14250         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
14251         (String handling <string.h>): Add astrxfrm.
14252         (File system functions): Add readlinkat.
14253
14254 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14255
14256         Tests for module 'realloc-gnu'.
14257         * modules/realloc-gnu-tests: New file.
14258         * tests/test-realloc-gnu.c: New file.
14259
14260         Tests for module 'calloc-gnu'.
14261         * modules/calloc-gnu-tests: New file.
14262         * tests/test-calloc-gnu.c: New file.
14263
14264         Tests for module 'malloc-gnu'.
14265         * modules/malloc-gnu-tests: New file.
14266         * tests/test-malloc-gnu.c: New file.
14267
14268 2010-08-28  Bruno Haible  <bruno@clisp.org>
14269
14270         Rename module 'realloc' -> 'realloc-gnu'.
14271         * modules/realloc-gnu: New file, copied from modules/realloc.
14272         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
14273         obsolete.
14274         * modules/mgetgroups (Depends-on): Update.
14275         * doc/posix-functions/realloc.texi: Update.
14276         * NEWS: Mention the change.
14277
14278         Rename module 'calloc' -> 'calloc-gnu'.
14279         * modules/calloc-gnu: New file, copied from modules/calloc.
14280         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
14281         obsolete.
14282         * doc/posix-functions/calloc.texi: Update.
14283         * NEWS: Mention the change.
14284
14285         Rename module 'malloc' -> 'malloc-gnu'.
14286         * modules/malloc-gnu: New file, copied from modules/malloc.
14287         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
14288         obsolete.
14289         * modules/argp (Depends-on): Update.
14290         * modules/regex (Depends-on): Update.
14291         * doc/posix-functions/malloc.texi: Update.
14292         * NEWS: Mention the change.
14293
14294 2010-08-28  Eric Blake  <eblake@redhat.com>
14295
14296         pread, pwrite: add missing dependency
14297         * modules/pread (Depends-on): Add extensions.
14298         * modules/pwrite (Depends-on): Likewise.
14299
14300 2010-08-28  Bruno Haible  <bruno@clisp.org>
14301
14302         unistr/u*-strchr: Fix tests dependencies.
14303         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
14304         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
14305         Reported by Ian Beckwith <ianb@erislabs.net>.
14306
14307 2010-08-28  Bruno Haible  <bruno@clisp.org>
14308
14309         read-file: Don't occupy too much unused memory.
14310         * lib/read-file.c (fread_file): Shrink the buffer at the end.
14311
14312 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
14313             Eric Blake  <eblake@redhat.com>
14314             Bruno Haible  <bruno@clisp.org>
14315
14316         read-file: Avoid memory reallocations with regular files.
14317         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
14318         (fread_file): With regular files, use the remaining length as the
14319         initial buffer size.  Check against overflow.
14320         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
14321         sys_stat.
14322
14323 2010-08-28  Bruno Haible  <bruno@clisp.org>
14324
14325         ftello: Relax license.
14326         * modules/ftello (License): Relax to LGPLv2+.
14327         Reported by Eric Blake.
14328
14329 2010-08-28  Bruno Haible  <bruno@clisp.org>
14330
14331         Avoid relocwrapper link errors due to gnulib replacement functions.
14332         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
14333         function.
14334         Reported by Ben Pfaff <blp@cs.stanford.edu>.
14335
14336 2010-08-28  Bruno Haible  <bruno@clisp.org>
14337
14338         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
14339         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
14340         defined.
14341         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
14342         Suggested by Eric Blake.
14343
14344 2010-08-28  Bruno Haible  <bruno@clisp.org>
14345
14346         sys_socket, netdb: Ensure socklen_t gets defined.
14347         * modules/sys_socket (Depends-on): Add socklen.
14348         * modules/netdb (Depends-on): Likewise.
14349         * modules/getaddrinfo (Depends-on): Remove socklen.
14350         * modules/getsockopt (Depends-on): Likewise.
14351         * modules/setsockopt (Depends-on): Likewise.
14352         * tests/test-sys_socket.c: Check that socklen_t is defined.
14353         * tests/test-netdb.c: Likewise.
14354         * m4/socklen.m4: Update comments.
14355         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
14356
14357 2010-08-27  Eric Blake  <eblake@redhat.com>
14358
14359         login_tty: add missing dependency
14360         * modules/login_tty (Depends-on): Add pty.
14361
14362 2010-08-26  Eric Blake  <eblake@redhat.com>
14363
14364         lib-symbol-versions: fix m4 quoting
14365         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
14366         format for AC_LINK_IFELSE.
14367
14368         glob: fix compile test
14369         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
14370
14371         btowc: fix missing file
14372         * modules/btowc (Files): Also ship locale-fr.m4.
14373
14374         lseek: fix link test
14375         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
14376         AC_LINK_IFELSE.
14377
14378         include_next: silence autoconf 2.68 warning
14379         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
14380         AC_COMPILE_IFELSE as special.
14381         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
14382         autoconf < 2.68.
14383
14384         acl: fix compilation test
14385         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
14386         AC_COMPILE_IFELSE.
14387
14388 2010-08-26  Bruno Haible  <bruno@clisp.org>
14389
14390         Modernize AC_TRY_RUN invocations.
14391         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
14392         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
14393         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
14394         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
14395         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
14396         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
14397         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
14398         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
14399         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
14400         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
14401         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
14402         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
14403         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
14404         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
14405         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
14406         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
14407         gl_MBRLEN_NUL_RETVAL): Likewise.
14408         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
14409         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
14410         Likewise.
14411         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
14412         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
14413         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
14414         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
14415         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
14416         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
14417         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
14418         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
14419         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
14420         Likewise.
14421         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
14422         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
14423         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
14424         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
14425         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
14426         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
14427         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
14428         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
14429         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
14430         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
14431
14432 2010-08-26  Bruno Haible  <bruno@clisp.org>
14433
14434         Modernize AC_TRY_LINK invocations.
14435         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
14436         AC_TRY_LINK.
14437         * m4/argp.m4 (gl_ARGP): Likewise.
14438         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
14439         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
14440         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
14441         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
14442         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
14443         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
14444         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
14445         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
14446         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
14447         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
14448         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
14449         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
14450         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
14451         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
14452         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
14453         * m4/hostent.m4 (gl_HOSTENT): Likewise.
14454         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
14455         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
14456         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
14457         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
14458         Likewise.
14459         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
14460         Likewise.
14461         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
14462         Likewise.
14463         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
14464         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
14465         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
14466         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
14467         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
14468         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
14469         * m4/servent.m4 (gl_SERVENT): Likewise.
14470         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
14471         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
14472         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
14473         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
14474         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
14475         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
14476         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
14477         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
14478         * modules/tsearch-tests (configure.ac): Likewise.
14479
14480 2010-08-26  Bruno Haible  <bruno@clisp.org>
14481
14482         Modernize AC_TRY_COMPILE invocations.
14483         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
14484         AC_TRY_COMPILE.
14485         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
14486         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
14487         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
14488         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
14489         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
14490         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
14491         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
14492         * m4/lock.m4 (gl_LOCK): Likewise.
14493         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
14494         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
14495         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
14496         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
14497         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
14498         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
14499         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
14500         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
14501         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
14502         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
14503         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
14504         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
14505         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
14506         extraneous semicolon.
14507
14508 2010-08-26  Jim Meyering  <meyering@redhat.com>
14509
14510         stat-time: relax license LGPL
14511         * modules/stat-time (License): Change from GPL to LGPL,
14512         with consent from all contributors, for use in libguile.
14513         Requested by Ludovic Courtès.
14514
14515 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
14516
14517         poll: return immediately on POLLHUP.
14518         * lib/poll.c (poll): Always set timeout before wait_timeout is
14519         computed.
14520
14521 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14522
14523         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
14524         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
14525         rmdir ("dir/.//"), unlinkat.
14526
14527 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
14528
14529         stdbool: avoid spurious failure with modern xlc
14530         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
14531
14532 2010-08-24  Bruno Haible  <bruno@clisp.org>
14533
14534         getloadavg: simplify code
14535         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
14536         gl_have_func. Update comments.
14537
14538 2010-08-24  Eric Blake  <eblake@redhat.com>
14539
14540         getloadavg: don't define SVR4 on cygwin
14541         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
14542         only define SVR4 when -lkvm is required.
14543         Reported by Yaakov Selkowitz.
14544
14545 2010-08-24  Bruno Haible  <bruno@clisp.org>
14546
14547         priv-set: fix comment
14548         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
14549
14550 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
14551
14552         priv-set: fix comments
14553         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
14554         to match code, as suggested by David Bartley in:
14555         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
14556
14557 2010-08-23  Eric Blake  <eblake@redhat.com>
14558
14559         stdbool: avoid rejecting clang
14560         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
14561         * tests/test-stdbool.c: Enable more tests if using the system
14562         <stdbool.h> instead of the gnulib replacement.
14563         (main): Move xlc bug test to a runtime test for all compilers.
14564         Reported by Anders Kaseorg.
14565
14566         argz: fix shell quoting issue
14567         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
14568         Reported by Charles Wilson.
14569
14570 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
14571             Erik Faye-Lund <kusmabite@gmail.com>
14572
14573         poll, select: handle ERROR_BROKEN_PIPE.
14574         * lib/poll.c (win32_compute_revents): Return POLLHUP when
14575         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
14576         * lib/select.c (win32_compute_revents): Do not mark a pipe
14577         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
14578
14579 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
14580
14581         fts: allow compilation with C++
14582         * lib/fts_.h: Specify extern "C" linkage with C++.
14583
14584 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14585
14586         Fix gnulib-tool sed script de-commentation for AIX sed.
14587         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
14588         sed.
14589
14590 2010-08-17  Eric Blake  <eblake@redhat.com>
14591
14592         test-stddef: test for (some) offsetof bugs
14593         * tests/test-stddef.c: Enhance test to ensure correct type of
14594         offsetof.
14595         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
14596         that we are not fixing at this time.
14597
14598 2010-08-15  Bruno Haible  <bruno@clisp.org>
14599
14600         stpncpy: Allow stpncpy to be defined as a macro.
14601         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
14602         if it's already correctly declared.
14603         * lib/string.in.h (stpncpy): Undefine before redefining.
14604         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
14605
14606 2010-08-14  Bruno Haible  <bruno@clisp.org>
14607
14608         Rename module 'memxfrm' to 'amemxfrm'.
14609         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
14610         (amemxfrm): Renamed from memxfrm.
14611         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
14612         (amemxfrm): Renamed from memxfrm.
14613         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
14614         * NEWS: Mention the change.
14615         * MODULES.html.sh (String handling <string.h>): Update.
14616         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
14617         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
14618         * lib/unicase/u16-casexfrm.c: Likewise.
14619         * lib/unicase/u32-casexfrm.c: Likewise.
14620         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
14621         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
14622         * lib/uninorm/u16-normxfrm.c: Likewise.
14623         * lib/uninorm/u32-normxfrm.c: Likewise.
14624         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
14625         memxfrm.
14626         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
14627         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
14628         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
14629         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
14630         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
14631         Suggested by Paul Eggert.
14632
14633 2010-08-14  Bruno Haible  <bruno@clisp.org>
14634
14635         Tests for module 'astrxfrm'.
14636         * modules/astrxfrm-tests: New file.
14637         * tests/test-astrxfrm.c: New file.
14638
14639         New module 'astrxfrm'.
14640         * lib/astrxfrm.h: New file.
14641         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
14642         * modules/astrxfrm: New file.
14643
14644 2010-08-14  Reuben Thomas <rrt@sc3d.org>
14645
14646         regex: Tweak doc.
14647         * doc/regex.texi (Overview): Don't mention regex.c.
14648         (GNU Regular Expression Compiling): Likewise.
14649         (Match-end-of-line Operator): Mention 'not_eol'.
14650
14651 2010-08-14  Brian Gough  <bjg@gnu.org>
14652             Bruno Haible  <bruno@clisp.org>
14653
14654         git-merge-changelog: add doc relating to use with bzr and hg.
14655         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
14656
14657 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
14658
14659         pthread: fix pthread.h creation for srcdir != builddir
14660         * modules/pthread (Makefile.am): Fix the rule to work also in a
14661         non-srcdir build.
14662
14663 2010-08-13  Karl Berry  <karl@gnu.org>
14664
14665         * doc/regex.texi (Predefined Syntaxes): @smallexample.
14666         * doc/posix-*/*: force line break before @url of POSIX
14667         specifications.
14668         Suggested by Werner Lemberg.
14669
14670 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
14671
14672         strtod: fix const diagnostic
14673         * lib/strtod.c (strtod): Don't assign const char * to char *,
14674         as this elicits a warning from GCC when warnings are enabled.
14675
14676 2010-08-10  Pádraig Brady <P@draigbrady.com>
14677         and Eric Blake  <eblake@redhat.com>
14678
14679         copy-acl: ignore ENOTSUP on HP-UX
14680         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
14681         so that it is available for HP-UX.
14682         * lib/copy-acl.c (qcopy_acl): Use it.
14683         Reported by Patrick M. Callahan.
14684
14685 2010-08-10  Eric Blake  <eblake@redhat.com>
14686
14687         open, chown: relax license
14688         * modules/open (License): Change to LGPLv2+, with consent by all
14689         authors, for use in augeas.
14690         * modules/chown (License): Likewise.
14691         * modules/lchown (Likewise): Likewise.
14692         Requested by Adam Stokes.
14693
14694 2010-08-09  Karl Berry  <karl@gnu.org>
14695
14696         * build-aux/ar-lib: new file, import from Automake.
14697         * config/srclist.txt: autocheck for updates.
14698
14699 2010-08-09  Eric Blake  <eblake@redhat.com>
14700
14701         readlinkat: adjust client modules
14702         * modules/areadlinkat (Depends-on): Use readlinkat, not
14703         symlinkat.
14704         * modules/areadlinkat-with-size (Depends-on): Likewise.
14705
14706         mknod: be more vocal about danger of running tests as root
14707         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
14708         root, since that is just asking for problems.
14709         Suggested by Bruno Haible, based on a report by Rainer Tammer.
14710
14711         readlinkat: split into its own module
14712         * modules/symlinkat: Split readlinkat...
14713         * modules/readlinkat: ...into separate module.
14714         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
14715         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
14716         * lib/symlinkat.c (readlinkat): Move...
14717         * lib/readlinkat.c: ...into new file.
14718         * modules/symlinkat-tests: Split readlinkat test...
14719         * modules/readlinkat-tests: ...into separate module.
14720         * tests/test-symlinkat.c: Split...
14721         * tests/test-readlinkat.c: ...into new file.
14722         * NEWS: Document the split.
14723         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
14724         * lib/unistd.in.h (readlinkat): Likewise.
14725         Suggested by Bruno Haible.
14726
14727 2010-08-08  Bruno Haible  <bruno@clisp.org>
14728
14729         memxfrm: Speed up.
14730         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
14731         that usually only one call to strxfrm is necessary for each string
14732         part.
14733         Reported by Paul Eggert <eggert@cs.ucla.edu>.
14734
14735 2010-08-07  Karl Berry  <karl@gnu.org>
14736
14737         * doc/posix-headers/limits.texi,
14738         * doc/posix-functions/malloc.texi,
14739         * doc/posix-functions/strsignal.texi: missing @item.
14740         * doc/ld-version-script.texi: spurious leading i.
14741         * doc/regex.texi (Interval Operators): no commas inside @var.
14742
14743 2010-08-01  Bruno Haible  <bruno@clisp.org>
14744
14745         Integrate the regex documentation.
14746         * doc/gnulib.texi: Define 'cn' index.
14747         (Regular expressions): New a chapter that includes regex.texi and
14748         regexprops-generic.texi.
14749         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
14750         syntax.
14751
14752         Whitespace cleanup.
14753         * doc/regex.texi: Remove trailing spaces.
14754
14755         Add regex documentation.
14756         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
14757         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
14758         Written by Kathy A. Hargreaves and Karl Berry.
14759
14760 2010-08-01  Bruno Haible  <bruno@clisp.org>
14761
14762         link: Update documentation.
14763         * doc/posix-functions/link.texi: Update regarding Solaris.
14764
14765 2010-07-31  Bruno Haible  <bruno@clisp.org>
14766
14767         Update modules list.
14768         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
14769         (String handling <string.h>): Add memcmp2, memxfrm.
14770         (Container data structures): Add xlist, xsublist, xoset.
14771         (Core language properties): Add alignof, unused-parameter.
14772         (Process control, Numeric conversion functions <stdlib.h>): Renamed
14773         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
14774         (Unibyte characters <ctype.h>): New section.
14775         (String handling <string.h>): New section.
14776         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
14777         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
14778         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
14779         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
14780         tan, tanh, tanl, y0, y1, yn.
14781         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
14782         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
14783         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
14784         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
14785         unlockpt, vdprintf, vdprintf-posix.
14786         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
14787         (File system functions): Add concat-filename, sys_file, sys_ioctl,
14788         xconcat-filename.
14789         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
14790         getdtablesize, pipe2, pipe2-safer.
14791         (Security): New section.
14792         (Networking functions): Add accept4.
14793         (Signal handling): Add sigpipe.
14794         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
14795         mbmemcasecoll.
14796         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
14797         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
14798         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
14799         pipe-filter-ii.
14800         (Misc): Add argp-version-etc, login_tty, parse-duration.
14801
14802 2010-07-31  Bruno Haible  <bruno@clisp.org>
14803
14804         Improve doc in MODULES.html.
14805         * modules/linkat (Description): Add the word "function".
14806         * modules/mkfifo (Description): Likewise.
14807         * modules/mknod (Description): Likewise.
14808         * modules/remove (Description): Likewise.
14809         * modules/renameat (Description): Likewise.
14810         * modules/stat (Description): Likewise.
14811         * modules/symlink (Description): Likewise.
14812         * modules/unlink (Description): Likewise.
14813
14814 2010-07-31  Bruno Haible  <bruno@clisp.org>
14815
14816         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
14817         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
14818         option --enable/disable-c++ instead of --enable/disable-cxx.
14819         * NEWS: Mention the change.
14820
14821 2010-07-31  Bruno Haible  <bruno@clisp.org>
14822
14823         readlink, areadlink: Relax test a bit.
14824         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
14825         alternative to ENOTDIR.
14826         * tests/test-areadlink.h (test_areadlink): Likewise.
14827         Reported by Rainer Tammer.
14828
14829 2010-07-31  Bruno Haible  <bruno@clisp.org>
14830
14831         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
14832         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
14833         character, perform the search using U_STRCHR.
14834         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
14835         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
14836         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
14837         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
14838         Suggested by Paolo Bonzini.
14839
14840 2010-07-31  Bruno Haible  <bruno@clisp.org>
14841
14842         unistr/u*-strstr: Fix dependencies.
14843         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
14844         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
14845         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
14846
14847 2010-07-31  Bruno Haible  <bruno@clisp.org>
14848
14849         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
14850         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
14851         the beginning of the loop.
14852         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
14853         cases in 'switch' statement.
14854
14855         unistr/u8-strchr: Fix several bugs.
14856         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
14857         the string. When not found, return NULL, not a pointer near the end.
14858
14859         More tests for unistr/u8-strchr.
14860         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
14861         that the function does not read past the first occurrence of the byte
14862         being searched.
14863         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
14864         * tests/unistr/test-u16-strchr.c (main): New function.
14865         * tests/unistr/test-u32-strchr.c (main): New function.
14866
14867 2010-07-31  Bruno Haible  <bruno@clisp.org>
14868
14869         posix-modules: Ignore backup files of documentation files.
14870         * posix-modules: grep only through files named *.texi.
14871
14872 2010-07-31  Bruno Haible  <bruno@clisp.org>
14873
14874         symlinkat: Fix documentation.
14875         * doc/posix-functions/readlinkat.texi: Fix module name.
14876
14877 2010-07-31  Bruno Haible  <bruno@clisp.org>
14878
14879         fchownat: Replace also when chown has the trailing slash bug.
14880         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
14881         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
14882         introduced on 2010-04-10.
14883         Reported by Rainer Tammer.
14884
14885 2010-07-31  Bruno Haible  <bruno@clisp.org>
14886
14887         linkat: Work around AIX 7.1 bug.
14888         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
14889         whether linkat handles trailing slash correctly. If not, replace linkat
14890         and define LINKAT_TRAILING_SLASH_BUG.
14891         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
14892         check whether (fd1,file1) points to a directory if file1 or file2 ends
14893         in a slash. Code taken from lib/link.c.
14894         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
14895         Reported by Rainer Tammer.
14896
14897 2010-07-31  Bruno Haible  <bruno@clisp.org>
14898
14899         Correctly determine whether pow is available in libc on AIX 7 with xlc.
14900         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
14901         This disables an xlc optimization that was causing wrong test results.
14902         Reported by Rainer Tammer.
14903
14904 2010-07-31  Bruno Haible  <bruno@clisp.org>
14905
14906         iconv: Work around AIX 6.1..7.1 bug.
14907         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
14908         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
14909         cross-compiling, guess no on all versions of AIX.
14910         Reported by Rainer Tammer.
14911
14912 2010-07-31  Bruno Haible  <bruno@clisp.org>
14913
14914         readlink: Relax test a bit.
14915         * tests/test-readlink.h (test_readlink): Allow different errno value
14916         when readlink is called with a file name that ends in / and refers to
14917         a file.
14918         Suggested by Eric Blake.
14919         Reported by Rainer Tammer.
14920
14921 2010-07-31  Bruno Haible  <bruno@clisp.org>
14922
14923         copysign: Does not require -lm on glibc systems.
14924         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
14925         gl_COMMON_DOUBLE_MATHFUNC.
14926         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
14927
14928 2010-07-31  Bruno Haible  <bruno@clisp.org>
14929
14930         duplocale: Work around AIX 7.1 bug.
14931         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
14932         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
14933         * lib/duplocale.c (rpl_duplocale): Update comment.
14934         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
14935         Reported by Rainer Tammer.
14936
14937 2010-07-30  Bruno Haible  <bruno@clisp.org>
14938
14939         dirfd: Avoid link error on AIX 7.1.
14940         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
14941         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
14942         exist, set REPLACE_DIRFD.
14943         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
14944         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
14945         * doc/posix-functions/dirfd.texi: Update.
14946         Reported by Rainer Tammer.
14947
14948 2010-07-30  Eric Blake  <eblake@redhat.com>
14949
14950         strtod: next round of AIX fixes
14951         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
14952         exponent.
14953         * tests/test-strtod.c (main): Enhance tests.
14954         * doc/posix-functions/strtod.texi (strtod): Document next bug.
14955         Reported by Rainer Tammer.
14956
14957         futimens: fix configure check
14958         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
14959         Reported by Bruno Haible.
14960
14961 2010-07-30  Bruno Haible  <bruno@clisp.org>
14962
14963         getline: Update regarding AIX.
14964         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
14965         Reported by Rainer Tammer.
14966
14967 2010-07-30  Bruno Haible  <bruno@clisp.org>
14968
14969         wcwidth: Drop replacement on AIX 7.
14970         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
14971         AIX 7.
14972         Reported by Rainer Tammer.
14973
14974 2010-07-30  Bruno Haible  <bruno@clisp.org>
14975
14976         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
14977         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
14978         a 'char *'.
14979         Reported by Rainer Tammer.
14980
14981 2010-07-30  Bruno Haible  <bruno@clisp.org>
14982
14983         unlink: Update regarding AIX.
14984         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
14985         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
14986         Reported by Rainer Tammer.
14987
14988 2010-07-30  Bruno Haible  <bruno@clisp.org>
14989
14990         symlink: Update regarding AIX.
14991         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
14992         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
14993         Reported by Rainer Tammer.
14994
14995 2010-07-30  Bruno Haible  <bruno@clisp.org>
14996
14997         strndup: Update regarding AIX.
14998         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
14999         AIX 7.
15000         Reported by Rainer Tammer.
15001
15002 2010-07-30  Bruno Haible  <bruno@clisp.org>
15003
15004         stat: Update regarding AIX.
15005         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
15006         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
15007         Reported by Rainer Tammer.
15008
15009 2010-07-30  Bruno Haible  <bruno@clisp.org>
15010
15011         truncl: Fix autoconf test.
15012         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
15013         whether truncl works.
15014         Reported by Rainer Tammer.
15015
15016 2010-07-30  Bruno Haible  <bruno@clisp.org>
15017
15018         round: Update regarding AIX.
15019         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
15020         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
15021         Reported by Rainer Tammer.
15022
15023 2010-07-30  Bruno Haible  <bruno@clisp.org>
15024
15025         rename: Update regarding AIX.
15026         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
15027         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
15028         Reported by Rainer Tammer.
15029
15030 2010-07-30  Bruno Haible  <bruno@clisp.org>
15031
15032         printf.m4: Update regarding AIX.
15033         * m4/printf.m4: Update comments regarding AIX.
15034         Reported by Rainer Tammer.
15035
15036 2010-07-30  Bruno Haible  <bruno@clisp.org>
15037
15038         iconv: Update regarding AIX.
15039         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
15040         AIX 7.
15041         Reported by Rainer Tammer.
15042
15043 2010-07-30  Bruno Haible  <bruno@clisp.org>
15044
15045         getopt: Update regarding AIX.
15046         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
15047         no on AIX.
15048         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
15049         Reported by Rainer Tammer.
15050
15051 2010-07-30  Bruno Haible  <bruno@clisp.org>
15052
15053         ldexpl; Update regarding AIX.
15054         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
15055         on AIX 7.
15056         Reported by Rainer Tammer.
15057
15058 2010-07-30  Bruno Haible  <bruno@clisp.org>
15059
15060         frexpl: Update regarding AIX.
15061         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
15062         on AIX 7.
15063         Reported by Rainer Tammer.
15064
15065 2010-07-30  Bruno Haible  <bruno@clisp.org>
15066
15067         open, fopen: Update regarding AIX.
15068         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
15069         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
15070         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
15071         * doc/posix-functions/fopen.texi: Likewise.
15072         Reported by Rainer Tammer.
15073
15074 2010-07-30  Bruno Haible  <bruno@clisp.org>
15075
15076         chown: Update doc regarding AIX.
15077         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
15078         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
15079         Reported by Rainer Tammer.
15080
15081 2010-07-30  Eric Blake  <eblake@redhat.com>
15082
15083         strtod: fix bug in replacement function on AIX
15084         * lib/strtod.c (strtod): Special case broken "0x" parse in
15085         underlying strtod.
15086         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
15087         * doc/posix-functions/strtod.texi (strtod): Likewise.
15088         Reported by Rainer Tammer.
15089
15090 2010-07-30  Bruno Haible  <bruno@clisp.org>
15091
15092         mbrlen: Fix cross-compilation guess for AIX.
15093         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
15094         guess. Leftover from 2008-12-22.
15095
15096 2010-07-30  Bruno Haible  <bruno@clisp.org>
15097
15098         mbrtowc: Fix cross-compilation guess for AIX.
15099         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
15100         guess. Leftover from 2008-12-21.
15101
15102 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
15103
15104         init.sh: work around trap limitation of some shells
15105         * tests/init.sh (setup_): Move exit trap outside of shell function.
15106
15107 2010-07-29  Eric Blake  <eblake@redhat.com>
15108
15109         strtod: aid debugging
15110         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
15111         understanding why strtod is rejected.
15112
15113 2010-07-28  Bruno Haible  <bruno@clisp.org>
15114
15115         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
15116         * lib/unistr/u8-chr.c: Include <string.h>.
15117         * tests/unistr/test-u8-chr.c: Likewise.
15118         * tests/unistr/test-u16-chr.c: Likewise.
15119         * tests/unistr/test-u32-chr.c: Likewise.
15120         * tests/unistr/test-u8-strchr.c: Likewise.
15121         * tests/unistr/test-u16-strchr.c: Likewise.
15122         * tests/unistr/test-u32-strchr.c: Likewise.
15123         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
15124         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
15125         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
15126         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
15127
15128 2010-07-28  Bruno Haible  <bruno@clisp.org>
15129
15130         Use spaces for indentation, not tabs.
15131         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
15132
15133 2010-07-27  Bruno Haible  <bruno@clisp.org>
15134
15135         mbspcasecmp: Fix function specification.
15136         * lib/string.in.h (mbspcasecmp): Fix specification comment.
15137         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
15138         Reported by Eric Blake <eblake@redhat.com>.
15139
15140 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
15141
15142         timespec: use cast and not conditional, as truncation isn't possible
15143         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
15144         instead of a conditional.  Comment about the situation in more detail.
15145         This undoes most of the 2009-10-29 patch.
15146
15147 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
15148
15149         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
15150         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
15151         * lib/unistr/u8-strchr.c: Likewise.
15152         * modules/unistr/u8-chr: Depend on memchr.
15153
15154         unistr/u*-strchr: add tests
15155         * modules/unistr/u8-strchr-tests: New file.
15156         * modules/unistr/u16-strchr-tests: New file.
15157         * modules/unistr/u32-strchr-tests: New file.
15158         * tests/unistr/test-strchr.h: New file.
15159         * tests/unistr/test-u8-strchr.c: New file.
15160         * tests/unistr/test-u16-strchr.c: New file.
15161         * tests/unistr/test-u32-strchr.c: New file.
15162
15163         unistr/u*-chr: test multibyte sequences more
15164         * tests/unistr/test-chr.h: Do complete testing of the characters in the
15165         test vector.
15166         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
15167         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
15168         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
15169
15170         unistr/u*-chr: test multibyte sequences
15171         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
15172
15173         unistr/u*-chr: prepare for multibyte tests
15174         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
15175         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
15176         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
15177         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
15178         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
15179         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
15180
15181 2010-07-18  Bruno Haible  <bruno@clisp.org>
15182
15183         unistr/u8-strchr: Optimize non-ASCII argument case.
15184         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
15185         because the first byte often matches anyway.
15186         Reported by Pádraig Brady <P@draigbrady.com>.
15187
15188 2010-07-15  Karl Berry  <karl@gnu.org>
15189
15190         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
15191
15192 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
15193
15194         getcwd: on Solaris, work better if ancestors are inaccessible
15195         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
15196         buffer and size, try again with a large buffer.  This works better
15197         on Solaris, since its getcwd succeeds even if the path to the root
15198         is inaccessible, and this is helpful in common cases such as .zfs
15199         hidden directories.  Problem reported by J Chapman Flack in
15200         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
15201         Use system getcwd if it's declared, not merely if it's partly
15202         working; use the partly-working test only to avoid needless effort
15203         if the system getcwd fails.
15204         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
15205         comment that was already obsolete and is now even more obsolete.
15206         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
15207         now might call strdup.
15208
15209 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
15210
15211         pthread: Add enough so that coreutils/src/sort.c compiles.
15212         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
15213         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
15214         gnulib. Include <sched.h> and <time.h>, as per POSIX.
15215         Include <sys/types.h>, in case it defines pthread_t.
15216         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
15217         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
15218         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
15219         (pthread_rwlockattr_t, pthread_spinlock_t):
15220         New typedefs, if HAVE_PTHREAD_T is not defined.
15221         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
15222         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
15223         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
15224         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
15225         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
15226         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
15227         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
15228         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
15229         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
15230         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
15231         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
15232         New macros.
15233         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
15234         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
15235         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
15236         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
15237         (pthread_spin_unlock): New dummy functions.
15238         (pthread_create): Return EAGAIN; don't set errno.
15239         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
15240         require AC_C_INLINE.
15241         * modules/pthread (Depends-on): Add sched, time.
15242         (pthread.h): Use AM_V_GEN.
15243
15244 2010-07-13  Bruno Haible  <bruno@clisp.org>
15245
15246         striconveh: Don't malloc memory if the result buffer is sufficient.
15247         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
15248         buffer if its size is sufficient.
15249         Reported by Ludovic Courtès <ludo@gnu.org>.
15250
15251 2010-07-13  Bruno Haible  <bruno@clisp.org>
15252
15253         strtod: Add safety check.
15254         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
15255
15256 2010-07-12  Bruno Haible  <bruno@clisp.org>
15257
15258         Unify tests that set gl_cv_func_ldexpl_no_libm.
15259         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
15260         gl_FUNC_LDEXPL.
15261         (gl_FUNC_LDEXPL): Invoke it.
15262         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
15263
15264 2010-07-12  Bruno Haible  <bruno@clisp.org>
15265
15266         Unify tests that set gl_cv_func_ldexp_no_libm.
15267         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
15268         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
15269         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
15270         (configure.ac): Simply invoke gl_FUNC_LDEXP.
15271         * modules/strtod (Files): Add m4/ldexp.m4.
15272
15273 2010-07-12  Bruno Haible  <bruno@clisp.org>
15274
15275         Unify tests that set gl_cv_func_frexpl_no_libm.
15276         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
15277         gl_FUNC_FREXPL_NO_LIBM.
15278         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
15279         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
15280
15281 2010-07-12  Bruno Haible  <bruno@clisp.org>
15282
15283         Unify tests that set gl_cv_func_frexp_no_libm.
15284         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
15285         gl_FUNC_FREXP_NO_LIBM.
15286         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
15287         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
15288
15289 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
15290
15291         memcoll: clarify sizes versus lengths, document better, and tweak perf
15292         * lib/memcoll.c (strcoll_loop, memcoll0):
15293         Improve quality of descriptive comments.  Name variables
15294         consistently as to whether they are lengths (which do not include
15295         terminating null) versus sizes (which do).
15296         * lib/xmemcoll.c (xmemcoll0): Likewise.
15297         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
15298         returned when s1size == 0; this is easier to compile and saves
15299         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
15300
15301 2010-07-12  Bruno Haible  <bruno@clisp.org>
15302
15303         Tests for module '_Exit'.
15304         * modules/_Exit-tests: New file.
15305         * tests/test-_Exit.sh: New file.
15306         * tests/test-_Exit.c: New file.
15307
15308         New module '_Exit'.
15309         * lib/stdlib.in.h (__attribute__): New macro.
15310         (_Exit): New declaration.
15311         * lib/_Exit.c: New file.
15312         * m4/_Exit.m4: New file.
15313         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
15314         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
15315         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
15316         * modules/_Exit: New file.
15317         * tests/test-stdlib-c++.cc (_Exit): Check signature.
15318         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
15319
15320 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
15321
15322         strtod: make it more-accurate typically, and don't require libm
15323         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
15324         Include limits.h.  Don't include string.h.
15325         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
15326         (locale_isspace): New function, so that no casts are needed to
15327         check whether *s is a space.
15328         (ldexp): Provide an unused dummy if not available.
15329         (scale_radix_exp, parse_number, underlying_strtod): New functions.
15330         (strtod): Use them.  This implementation prefers to use the
15331         underlying strtod if available, falling back on our own code
15332         only to fix known bugs.  This is more likely to produce an
15333         accurate result.  Also, it avoids the use of libm functions.
15334         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
15335         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
15336         was absent, but it caused a test failure with coreutils.
15337         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
15338         with libm.
15339         * modules/strtod (Makefile.am, Link): libm is no longer needed.
15340         * modules/strtod-tests (Makefile.am): Likewise.
15341
15342 2010-07-11  Pádraig Brady  <P@draigBrady.com>
15343             Bruno Haible  <bruno@clisp.org>
15344
15345         unistr/u8-strchr: Optimize ASCII argument case.
15346         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
15347
15348 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
15349
15350         (x)memcoll: minor tweaks
15351         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
15352         is after the type that it qualifies.
15353         (memcoll0): Likewise.
15354         * lib/memcoll.h (memcoll0): Likewise.
15355         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
15356         * lib/xmemcoll.h (xmemcoll0): Likewise.
15357         * lib/memcoll.c (memcoll0): Correct the comment.  This function
15358         differs from memcoll in that the NUL byte is part of the argument.
15359         Omit the abort-checks, as performance is a real issue here.  Plus,
15360         the checks were wrong anyway (an off-by-one error).  Omit local
15361         variable 'diff', as it's a bit clearer that way.
15362         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
15363         no longer needed.
15364
15365 2010-07-08  Chen Guo <chenguo4@yahoo.com>
15366
15367         (x)memcoll: speedup when input is known to be NUL delimited
15368         * lib/memcoll.c: Include stdlib.
15369         (memcoll0): New function.
15370         (strcoll_loop): New function, refactored for use in both memcoll
15371         and memcoll0.
15372         * lib/memcoll.h (memcoll0): Add prototype.
15373         * lib/xmemcoll.c (xmemcoll0): New function.
15374         (collate_error): New function, refactored for use in both xmemcoll
15375         and xmemcoll0.
15376         * lib/xmemcoll.h (xmemcoll0): Add prototype.
15377         * m4/memcoll.m4: add inline invocation.
15378
15379 2010-07-06  Pádraig Brady  <P@draigBrady.com>
15380
15381         * build-aux/bootstrap: Remove any local translations
15382         from the translation project synchronization directory,
15383         so that local only translations are not distributed.
15384
15385 2010-07-04  Bruno Haible  <bruno@clisp.org>
15386
15387         fsusage: Clarify which code applies to which platforms.
15388         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
15389         platform.
15390         * lib/fsusage.c (get_fs_usage): Likewise.
15391
15392 2010-07-04  Bruno Haible  <bruno@clisp.org>
15393
15394         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
15395         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
15396         Reported by Martin Lambers <marlam@marlam.de>.
15397
15398 2010-07-04  Jim Meyering  <meyering@redhat.com>
15399
15400         hash: once again explicitly disallow insertion of NULL
15401         * lib/hash.c (hash_insert0): Reinstate just-removed test:
15402         inserting a NULL pointer cannot work with these functions.
15403         Add a comment with details.
15404         This reverts part of the 2010-07-01 commit, 5bef1a35
15405         "hash: extend module to deal with non-pointer keys".
15406
15407 2010-07-01  Bruno Haible  <bruno@clisp.org>
15408
15409         stdbool: Update doc.
15410         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
15411         Info from Christian Weisgerber <naddy@mips.inka.de>.
15412
15413 2010-07-01  Jim Meyering  <meyering@redhat.com>
15414
15415         hash: extend module to deal with non-pointer keys
15416         * lib/hash.c (hash_insert0): New interface, much like hash_insert
15417         but that allows insertion of non-pointer entries.
15418         Do not disallow an ENTRY value of NULL.
15419         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
15420         * lib/hash.h (hash_insert0): Declare.
15421
15422 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
15423
15424         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
15425         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
15426         not present (i.e. with autoconf 2.59 and when using gettextize, not
15427         gnulib), require AC_GNU_SOURCE instead.
15428
15429 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
15430
15431         idpriv-drop: Fix tests.
15432         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
15433         not to the test-idpriv-droptemp program.
15434
15435 2010-06-29  Bruno Haible  <bruno@clisp.org>
15436
15437         string: Fix syntax error with g++ 2.96.
15438         * lib/string.in.h (__pure__): Remove definition.
15439         (_GL_ATTRIBUTE_PURE): New macro.
15440         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
15441         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
15442         Reported by Christian Weisgerber <naddy@mips.inka.de>.
15443
15444 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
15445
15446         unitypes: Fix bug introduced on 2010-05-18.
15447         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
15448
15449 2010-06-22  Eric Blake  <eblake@redhat.com>
15450
15451         memmem: slight optimization
15452         * lib/str-two-way.h (critical_factorization): Update comments.
15453         Reduce work during factorization phase.
15454         Reported by Carlos Bueno <carlos@bueno.org>.
15455
15456 2010-06-21  Bruno Haible  <bruno@clisp.org>
15457
15458         Fix HAVE_CALLOC_POSIX misnomer.
15459         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
15460         !HAVE_CALLOC_POSIX.
15461         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
15462         HAVE_CALLOC_POSIX.
15463         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
15464         instead of HAVE_CALLOC_POSIX.
15465         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
15466         HAVE_CALLOC_POSIX.
15467
15468         Use modern idiom for calloc() replacement.
15469         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
15470         AC_FUNC_CALLOC.
15471         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
15472         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
15473         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
15474         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
15475         (gl_REPLACE_CALLOC): New macro.
15476
15477 2010-06-21  Bruno Haible  <bruno@clisp.org>
15478
15479         Fix HAVE_REALLOC_POSIX misnomer.
15480         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
15481         !HAVE_REALLOC_POSIX.
15482         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
15483         HAVE_REALLOC_POSIX.
15484         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
15485         instead of HAVE_REALLOC_POSIX.
15486         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
15487         HAVE_REALLOC_POSIX.
15488
15489         Use modern idiom for realloc() replacement.
15490         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
15491         AC_FUNC_REALLOC.
15492         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
15493         Autoconf's AC_FUNC_REALLOC.
15494         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
15495         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
15496         (gl_REPLACE_REALLOC): New macro.
15497         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
15498
15499 2010-06-21  Bruno Haible  <bruno@clisp.org>
15500
15501         Fix HAVE_MALLOC_POSIX misnomer.
15502         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
15503         !HAVE_MALLOC_POSIX.
15504         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
15505         HAVE_MALLOC_POSIX.
15506         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
15507         instead of HAVE_MALLOC_POSIX.
15508         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
15509         HAVE_MALLOC_POSIX.
15510
15511         Use modern idiom for malloc() replacement.
15512         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
15513         AC_FUNC_MALLOC.
15514         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
15515         Autoconf's AC_FUNC_MALLOC.
15516         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
15517         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
15518         (gl_REPLACE_MALLOC): New macro.
15519         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
15520
15521 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
15522
15523         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
15524         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
15525         This macro takes 3 arguments, not 4.
15526
15527 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
15528
15529         ipv6: fix detection under mingw
15530         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
15531         in6_addr.
15532
15533 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
15534
15535         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
15536         that strtod() works when cross-compiling to a glibc version known
15537         to work.
15538
15539 2010-06-15  Bruno Haible  <bruno@clisp.org>
15540
15541         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
15542
15543 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
15544
15545         select: Correct timeout.
15546         * lib/select.c (rpl_select): Compute wait_timeout correctly.
15547
15548 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
15549
15550         git-version-gen: init shell var to avoid env var influence
15551         * build-aux/git-version-gen (v): Init shell var to empty.
15552
15553 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
15554
15555         priv-set: Don't assume that priv.h exists merely because getppriv does.
15556         See Jan Andersen's bug report about AIX 5L in
15557         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
15558         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
15559         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
15560         * lib/priv-set.h: Likewise.
15561         * tests/test-priv-set.c: Likewise.
15562
15563 2010-06-13  Bruno Haible  <bruno@clisp.org>
15564
15565         relocatable: Make it easier to test whether to install wrappers.
15566         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
15567         RELOCATABLE_VIA_WRAPPER.
15568
15569 2010-06-13  Bruno Haible  <bruno@clisp.org>
15570
15571         gnulib-tool: Display specified modules and dependencies differently.
15572         * gnulib-tool (func_show_module_list): New function.
15573         (func_import, func_create_testdir): Invoke it.
15574         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
15575
15576 2010-06-13  Bruno Haible  <bruno@clisp.org>
15577
15578         gnulib-tool: Align code of func_import and func_create_testdir.
15579         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
15580         specified_modules.
15581
15582 2010-06-12  Jim Meyering  <meyering@redhat.com>
15583
15584         test-inttostr: avoid spurious failure on Solaris 9
15585         * tests/test-inttostr.c (main): Skip the test when snprintf fails
15586         to accept "%ju".  Reported by Bruno Haible.
15587
15588 2010-06-11  Jim Meyering  <meyering@redhat.com>
15589
15590         test-sys_socket: mark variables as used more readably
15591         * tests/test-sys_socket.c (main): Mark otherwise unused variables
15592         as "used" explicitly via (void) statement casts.  This is more
15593         readable than using them in an artificial return expression.
15594         Suggestion from Bruno Haible.
15595
15596 2010-06-11  Bruno Haible  <bruno@clisp.org>
15597
15598         Avoid some more warnings from "gcc -Wwrite-strings".
15599         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
15600         to 'const char *'.
15601         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
15602         * tests/test-c-strcasestr.c (main): Likewise.
15603         * tests/test-mbscasestr1.c (main): Likewise.
15604         * tests/test-mbscasestr2.c (main): Likewise.
15605         * tests/test-memmem.c (main): Likewise.
15606         * tests/test-strstr.c (main): Likewise.
15607         * tests/test-strcasestr.c (main): Likewise.
15608
15609 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15610
15611         init.sh: change framework_failure_ to fail with status 99, not 1
15612         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
15613         automake's parallel-tests rule that this is an unexpected failure,
15614         even if the test is listed in XFAIL_TESTS.
15615
15616 2010-06-11  Jim Meyering  <meyering@redhat.com>
15617
15618         test-inttostr: avoid warnings about 4-6KB literal strings
15619         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
15620         Include "macros.h", for its definition of ASSERT.
15621         (CK): s/assert/ASSERT/
15622         * modules/inttostr-tests (Files): Add macros.h.
15623
15624         init.sh: don't use $ME_ or skip_ before they are defined
15625         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
15626         their first uses.  Also hoist their companions: warn_, fail_,
15627         framework_failure_, $stderr_fileno.  Prompted by a patch from
15628         Stefano Lattarini.
15629
15630         test-sys_socket: avoid set-but-not-used warnings from gcc
15631         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
15632         avoid warning about set-but-not-used variables.
15633
15634         test-xvasprintf: avoid 'const' discard warnings
15635         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
15636         "const" when assigning from literal strings.
15637         (test_xasprintf): Add "void" in function argument list to placate
15638         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
15639
15640         tests: avoid compilation warnings in argmatch and exclude tests...
15641         in packages that define ARGMATCH_DIE_DECL, like coreutils.
15642         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
15643         Since it always exits, declare with the "noreturn" attribute.
15644         * tests/test-argmatch.c: Likewise.
15645
15646         tests: avoid 'const' discard warnings in mbsstr tests
15647         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
15648         * tests/test-mbsstr2.c (main): Likewise.
15649
15650         test-verify: avoid warning from gcc's -Wmissing-declarations
15651         * tests/test-verify.c (function): Declare to be static.
15652
15653         test-inttostr.c: include <string.h> for use of strcmp
15654         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
15655
15656         test-linkat: avoid failed assertion on "other" architectures
15657         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
15658         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
15659         sparc: https://bugs.launchpad.net/bugs/591968
15660
15661 2010-06-11  Jim Meyering  <meyering@redhat.com>
15662
15663         printf.m4: avoid autoconf's "Expanded Before Required" warning
15664         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
15665         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
15666         autoconf warning.
15667
15668 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
15669
15670         Replacement header templates are now named with ".in", not "_".
15671         * doc/gnulib-intro.texi: Correct.
15672
15673 2010-06-10  Jim Meyering  <meyering@redhat.com>
15674
15675         inttostr-tests: depend on snprintf, not snprintf-posix
15676         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
15677         snprintf-posix, to avoid this aclocal failure:
15678           missing file gnulib-tests/vasnprintf.c
15679           configure.ac:45: error: expected source file, required through \
15680           AC_LIBSOURCES, not found
15681
15682 2010-06-10  Jim Meyering  <meyering@redhat.com>
15683
15684         inttostr: add a new function, inttostr, and tests
15685         The namesake function was not available.  The existence of the
15686         template file, inttostr.c makes its addition nontrivial.
15687         * lib/anytostr.c: Rename from inttostr.c.
15688         (anytostr): Rename from inttostr.
15689         * lib/inttostr.c: New file.
15690         * modules/inttostr (Files): Add anytostr.c.
15691         (Makefile.am): Set lib_SOURCES instead of ...
15692         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
15693         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
15694         * lib/offtostr.c: Likewise.
15695         * lib/uinttostr.c: Likewise.
15696         * lib/umaxtostr.c: Likewise.
15697         * modules/inttostr-tests: New file.
15698         * tests/test-inttostr.c: New file.  Test these functions.
15699
15700 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
15701             Bruno Haible  <bruno@clisp.org>
15702
15703         Add "Extending Gnulib" chapter to manual.
15704         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
15705         chapter.
15706         (Extending Gnulib): New chapter.
15707         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
15708         chapter.
15709
15710 2010-06-09  Bruno Haible  <bruno@clisp.org>
15711
15712         Avoid relocwrapper link errors due to gnulib replacement functions.
15713         * lib/areadlink.c: Use the system's malloc, realloc functions.
15714         (areadlink): Set errno to ENOMEM explicitly.
15715         * modules/areadlink (Depends-on): Remove malloc-posix.
15716         Reported by Ben Pfaff <blp@cs.stanford.edu>.
15717
15718 2010-06-09  Bruno Haible  <bruno@clisp.org>
15719
15720         Avoid relocwrapper link errors due to gnulib replacement functions.
15721         * lib/canonicalize-lgpl.c: Use the system's malloc function.
15722         * lib/malloca.c: Likewise.
15723         * lib/relocatable.c: Likewise.
15724         * lib/progreloc.c: Use the system's malloc, sprintf functions.
15725         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
15726         * lib/setenv.c: Use the system's malloc, realloc functions.
15727         * lib/strerror.c: Use the system's sprintf function.
15728         Reported by Ben Pfaff <blp@cs.stanford.edu>.
15729
15730 2010-06-04  Bruno Haible  <bruno@clisp.org>
15731
15732         Prefer documented low-level autoconf macro names.
15733         * m4/lib-link.m4: Use m4_translit instead of translit.
15734         * m4/environ.m4: Likewise.
15735         * m4/mathfunc.m4: Likewise.
15736         * m4/onceonly.m4: Likewise.
15737         * m4/stdint.m4: Likewise.
15738         Suggested by Eric Blake.
15739
15740 2010-06-04  Martin Lambers  <marlam@marlam.de>
15741             Bruno Haible  <bruno@clisp.org>
15742
15743         havelib: Allow library names with '+' characters.
15744         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
15745         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
15746
15747 2010-06-09  Bruno Haible  <bruno@clisp.org>
15748
15749         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
15750         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
15751         realloc failed.
15752
15753 2010-06-08  Peter Simons  <simons@cryp.to>
15754
15755         maint.mk: make the news-check rule more configurable
15756         * top/maint.mk (news-check-lines-spec): New variable.
15757         (news-check): Use "sed -n 1,10p" in place of "head".
15758
15759 2010-06-07  Jim Meyering  <meyering@redhat.com>
15760
15761         do-release-commit-and-tag: fix typo in --help
15762         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
15763
15764         regex: avoid new dead-code warning with gcc-4.6.0
15765         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
15766         if-block containing a while-loop.  It's been unused for at least
15767         5 years.
15768
15769 2010-06-05  Bruno Haible  <bruno@clisp.org>
15770
15771         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
15772         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
15773
15774 2010-06-04  Bruno Haible  <bruno@clisp.org>
15775
15776         Update to GNU gettext 0.18.1.
15777         * modules/gettext (configure.ac): Require gettext infrastructure from
15778         version 0.18.1.
15779
15780 2010-06-03  Bruno Haible  <bruno@clisp.org>
15781
15782         Don't use AC_LIBOBJ with file names in subdirectories.
15783         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
15784         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
15785         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
15786         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
15787         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
15788         gl_LIBUNISTRING_LIBSOURCE.
15789         (Makefile.am): Augment lib_SOURCES here, conditionally.
15790         * NEWS: Drop requirement for Automake option 'subdir-objects'.
15791
15792 2010-06-03  Bruno Haible  <bruno@clisp.org>
15793
15794         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
15795         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
15796         expansion does not end with a newline.
15797         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
15798         unnecessary newline.
15799
15800 2010-06-03  Bruno Haible  <bruno@clisp.org>
15801
15802         Reduce dependencies.
15803         * tests/test-quotearg.h: New file, extracted from
15804         tests/test-quotearg.c.
15805         * tests/test-quotearg-simple.c: New file, extracted from
15806         tests/test-quotearg.c.
15807         * tests/test-quotearg.c: Don't include <ctype.h>.
15808         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
15809         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
15810         use_quote_double_quotes, use_quotearg_colon): Moved to
15811         tests/test-quotearg.h.
15812         (results_g, flag_results, custom_quotes, custom_results): Moved
15813         to tests/test-quotearg-simple.c.
15814         (main): Moved the part that does not depend on gettext to
15815         tests/test-quotearg-simple.c. Return 77 if the test cannot be
15816         performed.
15817         * modules/quotearg-simple: New file.
15818         * modules/quotearg-simple-tests: New file.
15819         * modules/quotearg (Depends-on): Add quotearg-simple.
15820         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
15821         (Files): Add tests/test-quotearg.h.
15822         Reported by Paolo Bonzini.
15823
15824 2010-06-03  Bruno Haible  <bruno@clisp.org>
15825
15826         Reduce dependencies.
15827         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
15828
15829 2010-06-03  Bruno Haible  <bruno@clisp.org>
15830
15831         time: Undefine more broken macros.
15832         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
15833         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
15834         Reported by Eric Blake.
15835
15836 2010-06-03  Bruno Haible  <bruno@clisp.org>
15837
15838         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
15839         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
15840         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
15841         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
15842         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
15843         Reported by Ludovic Courtès <ludo@gnu.org>.
15844
15845 2010-06-02  Eric Blake  <eblake@redhat.com>
15846
15847         time: work with mingw + pthreads-win32 library
15848         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
15849         if timespec is defined only in pthread.h.
15850         * modules/time (Makefile.am): Substitute it.
15851         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
15852         <pthread.h>, when needed.
15853         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
15854         from the library.
15855
15856 2010-05-31  Bruno Haible  <bruno@clisp.org>
15857
15858         Avoid expanding two macros in the wrong order.
15859         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
15860         gl_LIBUNISTRING if it is defined.
15861         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
15862         autoconf >= 2.64.
15863         Reported by Ludovic Courtès <ludo@gnu.org>.
15864
15865 2010-05-27  Jim Meyering  <meyering@redhat.com>
15866
15867         maint.mk: also prohibit "#undef" of always-defined symbols
15868         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
15869         Allow more than one space before the symbol name.
15870         (sc_prohibit_always-defined_macros): Use grep's -E, now that
15871         the regexp uses alternation.
15872
15873 2010-05-26  Eric Blake  <eblake@redhat.com>
15874
15875         maint.mk: avoid echo -e
15876         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
15877         Convert all uses of echo -* to printf.
15878         Reported by Matthias Bolte.
15879
15880 2010-05-25  Bruno Haible  <bruno@clisp.org>
15881
15882         Update to GNU gettext 0.18, part 2.
15883         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
15884         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
15885
15886 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15887
15888         Add missing include in test-pwrite.c.
15889         * tests/test-pwrite.c: Include string.h, for strcmp.
15890
15891 2010-05-24  Bruno Haible  <bruno@clisp.org>
15892
15893         * NEWS: Mention requirement for Automake option 'subdir-objects'.
15894
15895 2010-05-24  Bruno Haible  <bruno@clisp.org>
15896
15897         Don't use conversion with transliteration in u{8,16,32}_strcoll.
15898         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
15899         iconveh_error argument.
15900         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
15901         U_STRCONV_TO_LOCALE.
15902         * lib/unistr/u16-strcoll.c: Likewise.
15903         * lib/unistr/u32-strcoll.c: Likewise.
15904         * modules/unistr/u8-strcoll (Depends-on): Add
15905         uniconv/u8-strconv-to-enc, localcharset. Remove
15906         uniconv/u8-strconv-to-locale.
15907         (configure.ac): Bump version number.
15908         * modules/unistr/u16-strcoll (Depends-on): Add
15909         uniconv/u16-strconv-to-enc, localcharset. Remove
15910         uniconv/u16-strconv-to-locale.
15911         (configure.ac): Bump version number.
15912         * modules/unistr/u32-strcoll (Depends-on): Add
15913         uniconv/u32-strconv-to-enc, localcharset. Remove
15914         uniconv/u32-strconv-to-locale.
15915         (configure.ac): Bump version number.
15916
15917 2010-05-24  Bruno Haible  <bruno@clisp.org>
15918
15919         Avoid a test failure on NetBSD 5.0.
15920         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
15921         an iconv() bug.
15922
15923 2010-05-24  Bruno Haible  <bruno@clisp.org>
15924
15925         Adjust #include directive style.
15926         * modules/regex (Includes): Recommend to write <regex.h>.
15927
15928 2010-05-24  Bruno Haible  <bruno@clisp.org>
15929
15930         regex: Don't require alloca.
15931         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
15932         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
15933         only inside if (0).
15934
15935 2010-05-23  Jim Meyering  <meyering@redhat.com>
15936
15937         test-renameat.c: include <sys/stat.h>
15938         * tests/test-renameat.c: Include <sys/stat.h>; required for
15939         definition of S_IS* macros.
15940
15941 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
15942
15943         Update maintainer documentation for 'relocatable-prog' module.
15944         * doc/relocatable-maint.texi: Update.
15945         Comments by Bruno Haible.
15946
15947 2010-05-23  Bruno Haible  <bruno@clisp.org>
15948
15949         git-merge-changelog: Enable --split-merged-entry by default.
15950         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
15951         (usage): Don't mention this option any more.
15952         Reported by Ralf Wildenhues.
15953
15954 2010-05-23  Jim Meyering  <meyering@redhat.com>
15955
15956         test-pwrite: do not leave behind a test file named "out"
15957         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
15958         The trivial-looking use of init.sh is really necessary.
15959         It ensures that the temporary file, "out", is created in
15960         a temporary directory, and removed upon termination.
15961         * tests/test-pwrite.sh: Re-add file.
15962         * modules/pwrite-tests: Reference it.
15963
15964 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15965
15966         Fix output redirection buglet in init.sh.
15967         * tests/init.sh: Fix redirection of stderr.
15968
15969 2010-05-20  Simon Josefsson  <simon@josefsson.org>
15970
15971         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
15972
15973 2010-05-17  Simon Josefsson  <simon@josefsson.org>
15974
15975         * modules/valgrind-tests: New file.
15976         * m4/valgrind-tests.m4: New file.
15977         * doc/valgrind-tests.texi: New file.
15978         * doc/gnulib.texi (Running self-tests under valgrind): New
15979         section.
15980
15981 2010-05-19  Bruno Haible  <bruno@clisp.org>
15982
15983         Clean up dead code in recent commit.
15984         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
15985         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
15986         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
15987         Suggested by Paolo Bonzini.
15988
15989 2010-05-19  Bruno Haible  <bruno@clisp.org>
15990
15991         Avoid valgrind error reports from libunistring.
15992         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
15993         * modules/libunistring (Files): Add it.
15994         * modules/libunistring-optional (Files): Likewise.
15995
15996 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
15997             Bruno Haible  <bruno@clisp.org>
15998
15999         New module 'libunistring-optional'.
16000         * modules/libunistring-optional: New file.
16001         * m4/libunistring-base.m4: New file.
16002         * m4/libunistring-optional.m4: New file.
16003         * lib/unicase.in.h: Renamed from lib/unicase.h.
16004         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
16005         * lib/unictype.in.h: Renamed from lib/unictype.h.
16006         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
16007         * lib/uniname.in.h: Renamed from lib/uniname.h.
16008         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
16009         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
16010         * lib/unistr.in.h: Renamed from lib/unistr.h.
16011         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
16012         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
16013         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
16014         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
16015         gl_LIBUNISTRING. If the library was found, determine the installed
16016         version and set LIBUNISTRING_VERSION.
16017         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
16018         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
16019         handle a configuration option --with-included-libunistring.
16020         * modules/libunistring (Files): Add m4/absolute-header.m4.
16021         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
16022         Add m4/libunistring-base.m4.
16023         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
16024         (Makefile.am): Build unicase.h from unicase.in.h.
16025         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
16026         Add m4/libunistring-base.m4.
16027         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
16028         (Makefile.am): Build uniconv.h from uniconv.in.h.
16029         * modules/unictype/base (Files): Use unictype.in.h instead of
16030         unictype.h. Add m4/libunistring-base.m4.
16031         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
16032         (Makefile.am): Build unictype.h from unictype.in.h.
16033         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
16034         Add m4/libunistring-base.m4.
16035         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
16036         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
16037         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
16038         Add m4/libunistring-base.m4.
16039         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
16040         (Makefile.am): Build uniname.h from uniname.in.h.
16041         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
16042         Add m4/libunistring-base.m4.
16043         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
16044         (Makefile.am): Build uninorm.h from uninorm.in.h.
16045         * modules/unistdio/base (Files): Use unistdio.in.h instead of
16046         unistdio.h. Add m4/libunistring-base.m4.
16047         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
16048         (Makefile.am): Build unistdio.h from unistdio.in.h.
16049         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
16050         Add m4/libunistring-base.m4.
16051         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
16052         (Makefile.am): Build unistr.h from unistr.in.h.
16053         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
16054         Add m4/libunistring-base.m4.
16055         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
16056         (Makefile.am): Build unitypes.h from unitypes.in.h.
16057         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
16058         Add m4/libunistring-base.m4.
16059         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
16060         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
16061         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
16062         uniwidth.h. Add m4/libunistring-base.m4.
16063         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
16064         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
16065         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
16066         instead of augmenting lib_SOURCES.
16067         * modules/unicase/empty-suffix-context: Likewise.
16068         * modules/unicase/locale-language: Likewise.
16069         * modules/unicase/tolower: Likewise.
16070         * modules/unicase/totitle: Likewise.
16071         * modules/unicase/toupper: Likewise.
16072         * modules/unicase/u8-casecmp: Likewise.
16073         * modules/unicase/u8-casecoll: Likewise.
16074         * modules/unicase/u8-casefold: Likewise.
16075         * modules/unicase/u8-casexfrm: Likewise.
16076         * modules/unicase/u8-ct-casefold: Likewise.
16077         * modules/unicase/u8-ct-tolower: Likewise.
16078         * modules/unicase/u8-ct-totitle: Likewise.
16079         * modules/unicase/u8-ct-toupper: Likewise.
16080         * modules/unicase/u8-is-cased: Likewise.
16081         * modules/unicase/u8-is-casefolded: Likewise.
16082         * modules/unicase/u8-is-lowercase: Likewise.
16083         * modules/unicase/u8-is-titlecase: Likewise.
16084         * modules/unicase/u8-is-uppercase: Likewise.
16085         * modules/unicase/u8-prefix-context: Likewise.
16086         * modules/unicase/u8-suffix-context: Likewise.
16087         * modules/unicase/u8-tolower: Likewise.
16088         * modules/unicase/u8-totitle: Likewise.
16089         * modules/unicase/u8-toupper: Likewise.
16090         * modules/unicase/u16-casecmp: Likewise.
16091         * modules/unicase/u16-casecoll: Likewise.
16092         * modules/unicase/u16-casefold: Likewise.
16093         * modules/unicase/u16-casexfrm: Likewise.
16094         * modules/unicase/u16-ct-casefold: Likewise.
16095         * modules/unicase/u16-ct-tolower: Likewise.
16096         * modules/unicase/u16-ct-totitle: Likewise.
16097         * modules/unicase/u16-ct-toupper: Likewise.
16098         * modules/unicase/u16-is-cased: Likewise.
16099         * modules/unicase/u16-is-casefolded: Likewise.
16100         * modules/unicase/u16-is-lowercase: Likewise.
16101         * modules/unicase/u16-is-titlecase: Likewise.
16102         * modules/unicase/u16-is-uppercase: Likewise.
16103         * modules/unicase/u16-prefix-context: Likewise.
16104         * modules/unicase/u16-suffix-context: Likewise.
16105         * modules/unicase/u16-tolower: Likewise.
16106         * modules/unicase/u16-totitle: Likewise.
16107         * modules/unicase/u16-toupper: Likewise.
16108         * modules/unicase/u32-casecmp: Likewise.
16109         * modules/unicase/u32-casecoll: Likewise.
16110         * modules/unicase/u32-casefold: Likewise.
16111         * modules/unicase/u32-casexfrm: Likewise.
16112         * modules/unicase/u32-ct-casefold: Likewise.
16113         * modules/unicase/u32-ct-tolower: Likewise.
16114         * modules/unicase/u32-ct-totitle: Likewise.
16115         * modules/unicase/u32-ct-toupper: Likewise.
16116         * modules/unicase/u32-is-cased: Likewise.
16117         * modules/unicase/u32-is-casefolded: Likewise.
16118         * modules/unicase/u32-is-lowercase: Likewise.
16119         * modules/unicase/u32-is-titlecase: Likewise.
16120         * modules/unicase/u32-is-uppercase: Likewise.
16121         * modules/unicase/u32-prefix-context: Likewise.
16122         * modules/unicase/u32-suffix-context: Likewise.
16123         * modules/unicase/u32-tolower: Likewise.
16124         * modules/unicase/u32-totitle: Likewise.
16125         * modules/unicase/u32-toupper: Likewise.
16126         * modules/unicase/ulc-casecmp: Likewise.
16127         * modules/unicase/ulc-casecoll: Likewise.
16128         * modules/unicase/ulc-casexfrm: Likewise.
16129         * modules/uniconv/u8-conv-from-enc: Likewise.
16130         * modules/uniconv/u8-conv-to-enc: Likewise.
16131         * modules/uniconv/u8-strconv-from-enc: Likewise.
16132         * modules/uniconv/u8-strconv-from-locale: Likewise.
16133         * modules/uniconv/u8-strconv-to-enc: Likewise.
16134         * modules/uniconv/u8-strconv-to-locale: Likewise.
16135         * modules/uniconv/u16-conv-from-enc: Likewise.
16136         * modules/uniconv/u16-conv-to-enc: Likewise.
16137         * modules/uniconv/u16-strconv-from-enc: Likewise.
16138         * modules/uniconv/u16-strconv-from-locale: Likewise.
16139         * modules/uniconv/u16-strconv-to-enc: Likewise.
16140         * modules/uniconv/u16-strconv-to-locale: Likewise.
16141         * modules/uniconv/u32-conv-from-enc: Likewise.
16142         * modules/uniconv/u32-conv-to-enc: Likewise.
16143         * modules/uniconv/u32-strconv-from-enc: Likewise.
16144         * modules/uniconv/u32-strconv-from-locale: Likewise.
16145         * modules/uniconv/u32-strconv-to-enc: Likewise.
16146         * modules/uniconv/u32-strconv-to-locale: Likewise.
16147         * modules/unictype/bidicategory-byname: Likewise.
16148         * modules/unictype/bidicategory-name: Likewise.
16149         * modules/unictype/bidicategory-of: Likewise.
16150         * modules/unictype/bidicategory-test: Likewise.
16151         * modules/unictype/block-list: Likewise.
16152         * modules/unictype/block-test: Likewise.
16153         * modules/unictype/category-C: Likewise.
16154         * modules/unictype/category-Cc: Likewise.
16155         * modules/unictype/category-Cf: Likewise.
16156         * modules/unictype/category-Cn: Likewise.
16157         * modules/unictype/category-Co: Likewise.
16158         * modules/unictype/category-Cs: Likewise.
16159         * modules/unictype/category-L: Likewise.
16160         * modules/unictype/category-Ll: Likewise.
16161         * modules/unictype/category-Lm: Likewise.
16162         * modules/unictype/category-Lo: Likewise.
16163         * modules/unictype/category-Lt: Likewise.
16164         * modules/unictype/category-Lu: Likewise.
16165         * modules/unictype/category-M: Likewise.
16166         * modules/unictype/category-Mc: Likewise.
16167         * modules/unictype/category-Me: Likewise.
16168         * modules/unictype/category-Mn: Likewise.
16169         * modules/unictype/category-N: Likewise.
16170         * modules/unictype/category-Nd: Likewise.
16171         * modules/unictype/category-Nl: Likewise.
16172         * modules/unictype/category-No: Likewise.
16173         * modules/unictype/category-P: Likewise.
16174         * modules/unictype/category-Pc: Likewise.
16175         * modules/unictype/category-Pd: Likewise.
16176         * modules/unictype/category-Pe: Likewise.
16177         * modules/unictype/category-Pf: Likewise.
16178         * modules/unictype/category-Pi: Likewise.
16179         * modules/unictype/category-Po: Likewise.
16180         * modules/unictype/category-Ps: Likewise.
16181         * modules/unictype/category-S: Likewise.
16182         * modules/unictype/category-Sc: Likewise.
16183         * modules/unictype/category-Sk: Likewise.
16184         * modules/unictype/category-Sm: Likewise.
16185         * modules/unictype/category-So: Likewise.
16186         * modules/unictype/category-Z: Likewise.
16187         * modules/unictype/category-Zl: Likewise.
16188         * modules/unictype/category-Zp: Likewise.
16189         * modules/unictype/category-Zs: Likewise.
16190         * modules/unictype/category-and: Likewise.
16191         * modules/unictype/category-and-not: Likewise.
16192         * modules/unictype/category-byname: Likewise.
16193         * modules/unictype/category-name: Likewise.
16194         * modules/unictype/category-none: Likewise.
16195         * modules/unictype/category-of: Likewise.
16196         * modules/unictype/category-or: Likewise.
16197         * modules/unictype/category-test: Likewise.
16198         * modules/unictype/combining-class: Likewise.
16199         * modules/unictype/ctype-alnum: Likewise.
16200         * modules/unictype/ctype-alpha: Likewise.
16201         * modules/unictype/ctype-blank: Likewise.
16202         * modules/unictype/ctype-cntrl: Likewise.
16203         * modules/unictype/ctype-digit: Likewise.
16204         * modules/unictype/ctype-graph: Likewise.
16205         * modules/unictype/ctype-lower: Likewise.
16206         * modules/unictype/ctype-print: Likewise.
16207         * modules/unictype/ctype-punct: Likewise.
16208         * modules/unictype/ctype-space: Likewise.
16209         * modules/unictype/ctype-upper: Likewise.
16210         * modules/unictype/ctype-xdigit: Likewise.
16211         * modules/unictype/decimal-digit: Likewise.
16212         * modules/unictype/digit: Likewise.
16213         * modules/unictype/mirror: Likewise.
16214         * modules/unictype/numeric: Likewise.
16215         * modules/unictype/property-alphabetic: Likewise.
16216         * modules/unictype/property-ascii-hex-digit: Likewise.
16217         * modules/unictype/property-bidi-arabic-digit: Likewise.
16218         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
16219         * modules/unictype/property-bidi-block-separator: Likewise.
16220         * modules/unictype/property-bidi-boundary-neutral: Likewise.
16221         * modules/unictype/property-bidi-common-separator: Likewise.
16222         * modules/unictype/property-bidi-control: Likewise.
16223         * modules/unictype/property-bidi-embedding-or-override: Likewise.
16224         * modules/unictype/property-bidi-eur-num-separator: Likewise.
16225         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
16226         * modules/unictype/property-bidi-european-digit: Likewise.
16227         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
16228         * modules/unictype/property-bidi-left-to-right: Likewise.
16229         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
16230         * modules/unictype/property-bidi-other-neutral: Likewise.
16231         * modules/unictype/property-bidi-pdf: Likewise.
16232         * modules/unictype/property-bidi-segment-separator: Likewise.
16233         * modules/unictype/property-bidi-whitespace: Likewise.
16234         * modules/unictype/property-byname: Likewise.
16235         * modules/unictype/property-combining: Likewise.
16236         * modules/unictype/property-composite: Likewise.
16237         * modules/unictype/property-currency-symbol: Likewise.
16238         * modules/unictype/property-dash: Likewise.
16239         * modules/unictype/property-decimal-digit: Likewise.
16240         * modules/unictype/property-default-ignorable-code-point: Likewise.
16241         * modules/unictype/property-deprecated: Likewise.
16242         * modules/unictype/property-diacritic: Likewise.
16243         * modules/unictype/property-extender: Likewise.
16244         * modules/unictype/property-format-control: Likewise.
16245         * modules/unictype/property-grapheme-base: Likewise.
16246         * modules/unictype/property-grapheme-extend: Likewise.
16247         * modules/unictype/property-grapheme-link: Likewise.
16248         * modules/unictype/property-hex-digit: Likewise.
16249         * modules/unictype/property-hyphen: Likewise.
16250         * modules/unictype/property-id-continue: Likewise.
16251         * modules/unictype/property-id-start: Likewise.
16252         * modules/unictype/property-ideographic: Likewise.
16253         * modules/unictype/property-ids-binary-operator: Likewise.
16254         * modules/unictype/property-ids-trinary-operator: Likewise.
16255         * modules/unictype/property-ignorable-control: Likewise.
16256         * modules/unictype/property-iso-control: Likewise.
16257         * modules/unictype/property-join-control: Likewise.
16258         * modules/unictype/property-left-of-pair: Likewise.
16259         * modules/unictype/property-line-separator: Likewise.
16260         * modules/unictype/property-logical-order-exception: Likewise.
16261         * modules/unictype/property-lowercase: Likewise.
16262         * modules/unictype/property-math: Likewise.
16263         * modules/unictype/property-non-break: Likewise.
16264         * modules/unictype/property-not-a-character: Likewise.
16265         * modules/unictype/property-numeric: Likewise.
16266         * modules/unictype/property-other-alphabetic: Likewise.
16267         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
16268         * modules/unictype/property-other-grapheme-extend: Likewise.
16269         * modules/unictype/property-other-id-continue: Likewise.
16270         * modules/unictype/property-other-id-start: Likewise.
16271         * modules/unictype/property-other-lowercase: Likewise.
16272         * modules/unictype/property-other-math: Likewise.
16273         * modules/unictype/property-other-uppercase: Likewise.
16274         * modules/unictype/property-paired-punctuation: Likewise.
16275         * modules/unictype/property-paragraph-separator: Likewise.
16276         * modules/unictype/property-pattern-syntax: Likewise.
16277         * modules/unictype/property-pattern-white-space: Likewise.
16278         * modules/unictype/property-private-use: Likewise.
16279         * modules/unictype/property-punctuation: Likewise.
16280         * modules/unictype/property-quotation-mark: Likewise.
16281         * modules/unictype/property-radical: Likewise.
16282         * modules/unictype/property-sentence-terminal: Likewise.
16283         * modules/unictype/property-soft-dotted: Likewise.
16284         * modules/unictype/property-space: Likewise.
16285         * modules/unictype/property-terminal-punctuation: Likewise.
16286         * modules/unictype/property-test: Likewise.
16287         * modules/unictype/property-titlecase: Likewise.
16288         * modules/unictype/property-unassigned-code-value: Likewise.
16289         * modules/unictype/property-unified-ideograph: Likewise.
16290         * modules/unictype/property-uppercase: Likewise.
16291         * modules/unictype/property-variation-selector: Likewise.
16292         * modules/unictype/property-white-space: Likewise.
16293         * modules/unictype/property-xid-continue: Likewise.
16294         * modules/unictype/property-xid-start: Likewise.
16295         * modules/unictype/property-zero-width: Likewise.
16296         * modules/unictype/scripts: Likewise.
16297         * modules/unictype/syntax-c-ident: Likewise.
16298         * modules/unictype/syntax-c-whitespace: Likewise.
16299         * modules/unictype/syntax-java-ident: Likewise.
16300         * modules/unictype/syntax-java-whitespace: Likewise.
16301         * modules/unilbrk/u8-possible-linebreaks: Likewise.
16302         * modules/unilbrk/u8-width-linebreaks: Likewise.
16303         * modules/unilbrk/u16-possible-linebreaks: Likewise.
16304         * modules/unilbrk/u16-width-linebreaks: Likewise.
16305         * modules/unilbrk/u32-possible-linebreaks: Likewise.
16306         * modules/unilbrk/u32-width-linebreaks: Likewise.
16307         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
16308         * modules/unilbrk/ulc-width-linebreaks: Likewise.
16309         * modules/uniname/uniname: Likewise.
16310         * modules/uninorm/canonical-decomposition: Likewise.
16311         * modules/uninorm/composition: Likewise.
16312         * modules/uninorm/decomposing-form: Likewise.
16313         * modules/uninorm/decomposition: Likewise.
16314         * modules/uninorm/filter: Likewise.
16315         * modules/uninorm/nfc: Likewise.
16316         * modules/uninorm/nfd: Likewise.
16317         * modules/uninorm/nfkc: Likewise.
16318         * modules/uninorm/nfkd: Likewise.
16319         * modules/uninorm/u8-normalize: Likewise.
16320         * modules/uninorm/u8-normcmp: Likewise.
16321         * modules/uninorm/u8-normcoll: Likewise.
16322         * modules/uninorm/u8-normxfrm: Likewise.
16323         * modules/uninorm/u16-normalize: Likewise.
16324         * modules/uninorm/u16-normcmp: Likewise.
16325         * modules/uninorm/u16-normcoll: Likewise.
16326         * modules/uninorm/u16-normxfrm: Likewise.
16327         * modules/uninorm/u32-normalize: Likewise.
16328         * modules/uninorm/u32-normcmp: Likewise.
16329         * modules/uninorm/u32-normcoll: Likewise.
16330         * modules/uninorm/u32-normxfrm: Likewise.
16331         * modules/unistdio/u8-asnprintf: Likewise.
16332         * modules/unistdio/u8-asprintf: Likewise.
16333         * modules/unistdio/u8-snprintf: Likewise.
16334         * modules/unistdio/u8-sprintf: Likewise.
16335         * modules/unistdio/u8-u8-asnprintf: Likewise.
16336         * modules/unistdio/u8-u8-asprintf: Likewise.
16337         * modules/unistdio/u8-u8-snprintf: Likewise.
16338         * modules/unistdio/u8-u8-sprintf: Likewise.
16339         * modules/unistdio/u8-u8-vasnprintf: Likewise.
16340         * modules/unistdio/u8-u8-vasprintf: Likewise.
16341         * modules/unistdio/u8-u8-vsnprintf: Likewise.
16342         * modules/unistdio/u8-u8-vsprintf: Likewise.
16343         * modules/unistdio/u8-vasnprintf: Likewise.
16344         * modules/unistdio/u8-vasprintf: Likewise.
16345         * modules/unistdio/u8-vsnprintf: Likewise.
16346         * modules/unistdio/u8-vsprintf: Likewise.
16347         * modules/unistdio/u16-asnprintf: Likewise.
16348         * modules/unistdio/u16-asprintf: Likewise.
16349         * modules/unistdio/u16-snprintf: Likewise.
16350         * modules/unistdio/u16-sprintf: Likewise.
16351         * modules/unistdio/u16-u16-asnprintf: Likewise.
16352         * modules/unistdio/u16-u16-asprintf: Likewise.
16353         * modules/unistdio/u16-u16-snprintf: Likewise.
16354         * modules/unistdio/u16-u16-sprintf: Likewise.
16355         * modules/unistdio/u16-u16-vasnprintf: Likewise.
16356         * modules/unistdio/u16-u16-vasprintf: Likewise.
16357         * modules/unistdio/u16-u16-vsnprintf: Likewise.
16358         * modules/unistdio/u16-u16-vsprintf: Likewise.
16359         * modules/unistdio/u16-vasnprintf: Likewise.
16360         * modules/unistdio/u16-vasprintf: Likewise.
16361         * modules/unistdio/u16-vsnprintf: Likewise.
16362         * modules/unistdio/u16-vsprintf: Likewise.
16363         * modules/unistdio/u32-asnprintf: Likewise.
16364         * modules/unistdio/u32-asprintf: Likewise.
16365         * modules/unistdio/u32-snprintf: Likewise.
16366         * modules/unistdio/u32-sprintf: Likewise.
16367         * modules/unistdio/u32-u32-asnprintf: Likewise.
16368         * modules/unistdio/u32-u32-asprintf: Likewise.
16369         * modules/unistdio/u32-u32-snprintf: Likewise.
16370         * modules/unistdio/u32-u32-sprintf: Likewise.
16371         * modules/unistdio/u32-u32-vasnprintf: Likewise.
16372         * modules/unistdio/u32-u32-vasprintf: Likewise.
16373         * modules/unistdio/u32-u32-vsnprintf: Likewise.
16374         * modules/unistdio/u32-u32-vsprintf: Likewise.
16375         * modules/unistdio/u32-vasnprintf: Likewise.
16376         * modules/unistdio/u32-vasprintf: Likewise.
16377         * modules/unistdio/u32-vsnprintf: Likewise.
16378         * modules/unistdio/u32-vsprintf: Likewise.
16379         * modules/unistdio/ulc-asnprintf: Likewise.
16380         * modules/unistdio/ulc-asprintf: Likewise.
16381         * modules/unistdio/ulc-fprintf: Likewise.
16382         * modules/unistdio/ulc-snprintf: Likewise.
16383         * modules/unistdio/ulc-sprintf: Likewise.
16384         * modules/unistdio/ulc-vasnprintf: Likewise.
16385         * modules/unistdio/ulc-vasprintf: Likewise.
16386         * modules/unistdio/ulc-vfprintf: Likewise.
16387         * modules/unistdio/ulc-vsnprintf: Likewise.
16388         * modules/unistdio/ulc-vsprintf: Likewise.
16389         * modules/unistr/u8-check: Likewise.
16390         * modules/unistr/u8-chr: Likewise.
16391         * modules/unistr/u8-cmp: Likewise.
16392         * modules/unistr/u8-cmp2: Likewise.
16393         * modules/unistr/u8-cpy: Likewise.
16394         * modules/unistr/u8-cpy-alloc: Likewise.
16395         * modules/unistr/u8-endswith: Likewise.
16396         * modules/unistr/u8-mblen: Likewise.
16397         * modules/unistr/u8-mbsnlen: Likewise.
16398         * modules/unistr/u8-mbtouc: Likewise.
16399         * modules/unistr/u8-mbtouc-unsafe: Likewise.
16400         * modules/unistr/u8-mbtoucr: Likewise.
16401         * modules/unistr/u8-move: Likewise.
16402         * modules/unistr/u8-next: Likewise.
16403         * modules/unistr/u8-prev: Likewise.
16404         * modules/unistr/u8-set: Likewise.
16405         * modules/unistr/u8-startswith: Likewise.
16406         * modules/unistr/u8-stpcpy: Likewise.
16407         * modules/unistr/u8-stpncpy: Likewise.
16408         * modules/unistr/u8-strcat: Likewise.
16409         * modules/unistr/u8-strchr: Likewise.
16410         * modules/unistr/u8-strcmp: Likewise.
16411         * modules/unistr/u8-strcoll: Likewise.
16412         * modules/unistr/u8-strcpy: Likewise.
16413         * modules/unistr/u8-strcspn: Likewise.
16414         * modules/unistr/u8-strdup: Likewise.
16415         * modules/unistr/u8-strlen: Likewise.
16416         * modules/unistr/u8-strmblen: Likewise.
16417         * modules/unistr/u8-strmbtouc: Likewise.
16418         * modules/unistr/u8-strncat: Likewise.
16419         * modules/unistr/u8-strncmp: Likewise.
16420         * modules/unistr/u8-strncpy: Likewise.
16421         * modules/unistr/u8-strnlen: Likewise.
16422         * modules/unistr/u8-strpbrk: Likewise.
16423         * modules/unistr/u8-strrchr: Likewise.
16424         * modules/unistr/u8-strspn: Likewise.
16425         * modules/unistr/u8-strstr: Likewise.
16426         * modules/unistr/u8-strtok: Likewise.
16427         * modules/unistr/u8-to-u16: Likewise.
16428         * modules/unistr/u8-to-u32: Likewise.
16429         * modules/unistr/u8-uctomb: Likewise.
16430         * modules/unistr/u16-check: Likewise.
16431         * modules/unistr/u16-chr: Likewise.
16432         * modules/unistr/u16-cmp: Likewise.
16433         * modules/unistr/u16-cmp2: Likewise.
16434         * modules/unistr/u16-cpy: Likewise.
16435         * modules/unistr/u16-cpy-alloc: Likewise.
16436         * modules/unistr/u16-endswith: Likewise.
16437         * modules/unistr/u16-mblen: Likewise.
16438         * modules/unistr/u16-mbsnlen: Likewise.
16439         * modules/unistr/u16-mbtouc: Likewise.
16440         * modules/unistr/u16-mbtouc-unsafe: Likewise.
16441         * modules/unistr/u16-mbtoucr: Likewise.
16442         * modules/unistr/u16-move: Likewise.
16443         * modules/unistr/u16-next: Likewise.
16444         * modules/unistr/u16-prev: Likewise.
16445         * modules/unistr/u16-set: Likewise.
16446         * modules/unistr/u16-startswith: Likewise.
16447         * modules/unistr/u16-stpcpy: Likewise.
16448         * modules/unistr/u16-stpncpy: Likewise.
16449         * modules/unistr/u16-strcat: Likewise.
16450         * modules/unistr/u16-strchr: Likewise.
16451         * modules/unistr/u16-strcmp: Likewise.
16452         * modules/unistr/u16-strcoll: Likewise.
16453         * modules/unistr/u16-strcpy: Likewise.
16454         * modules/unistr/u16-strcspn: Likewise.
16455         * modules/unistr/u16-strdup: Likewise.
16456         * modules/unistr/u16-strlen: Likewise.
16457         * modules/unistr/u16-strmblen: Likewise.
16458         * modules/unistr/u16-strmbtouc: Likewise.
16459         * modules/unistr/u16-strncat: Likewise.
16460         * modules/unistr/u16-strncmp: Likewise.
16461         * modules/unistr/u16-strncpy: Likewise.
16462         * modules/unistr/u16-strnlen: Likewise.
16463         * modules/unistr/u16-strpbrk: Likewise.
16464         * modules/unistr/u16-strrchr: Likewise.
16465         * modules/unistr/u16-strspn: Likewise.
16466         * modules/unistr/u16-strstr: Likewise.
16467         * modules/unistr/u16-strtok: Likewise.
16468         * modules/unistr/u16-to-u32: Likewise.
16469         * modules/unistr/u16-to-u8: Likewise.
16470         * modules/unistr/u16-uctomb: Likewise.
16471         * modules/unistr/u32-check: Likewise.
16472         * modules/unistr/u32-chr: Likewise.
16473         * modules/unistr/u32-cmp: Likewise.
16474         * modules/unistr/u32-cmp2: Likewise.
16475         * modules/unistr/u32-cpy: Likewise.
16476         * modules/unistr/u32-cpy-alloc: Likewise.
16477         * modules/unistr/u32-endswith: Likewise.
16478         * modules/unistr/u32-mblen: Likewise.
16479         * modules/unistr/u32-mbsnlen: Likewise.
16480         * modules/unistr/u32-mbtouc: Likewise.
16481         * modules/unistr/u32-mbtouc-unsafe: Likewise.
16482         * modules/unistr/u32-mbtoucr: Likewise.
16483         * modules/unistr/u32-move: Likewise.
16484         * modules/unistr/u32-next: Likewise.
16485         * modules/unistr/u32-prev: Likewise.
16486         * modules/unistr/u32-set: Likewise.
16487         * modules/unistr/u32-startswith: Likewise.
16488         * modules/unistr/u32-stpcpy: Likewise.
16489         * modules/unistr/u32-stpncpy: Likewise.
16490         * modules/unistr/u32-strcat: Likewise.
16491         * modules/unistr/u32-strchr: Likewise.
16492         * modules/unistr/u32-strcmp: Likewise.
16493         * modules/unistr/u32-strcoll: Likewise.
16494         * modules/unistr/u32-strcpy: Likewise.
16495         * modules/unistr/u32-strcspn: Likewise.
16496         * modules/unistr/u32-strdup: Likewise.
16497         * modules/unistr/u32-strlen: Likewise.
16498         * modules/unistr/u32-strmblen: Likewise.
16499         * modules/unistr/u32-strmbtouc: Likewise.
16500         * modules/unistr/u32-strncat: Likewise.
16501         * modules/unistr/u32-strncmp: Likewise.
16502         * modules/unistr/u32-strncpy: Likewise.
16503         * modules/unistr/u32-strnlen: Likewise.
16504         * modules/unistr/u32-strpbrk: Likewise.
16505         * modules/unistr/u32-strrchr: Likewise.
16506         * modules/unistr/u32-strspn: Likewise.
16507         * modules/unistr/u32-strstr: Likewise.
16508         * modules/unistr/u32-strtok: Likewise.
16509         * modules/unistr/u32-to-u16: Likewise.
16510         * modules/unistr/u32-to-u8: Likewise.
16511         * modules/unistr/u32-uctomb: Likewise.
16512         * modules/uniwbrk/u8-wordbreaks: Likewise.
16513         * modules/uniwbrk/u16-wordbreaks: Likewise.
16514         * modules/uniwbrk/u32-wordbreaks: Likewise.
16515         * modules/uniwbrk/ulc-wordbreaks: Likewise.
16516         * modules/uniwbrk/wordbreak-property: Likewise.
16517         * modules/uniwidth/u8-strwidth: Likewise.
16518         * modules/uniwidth/u8-width: Likewise.
16519         * modules/uniwidth/u16-strwidth: Likewise.
16520         * modules/uniwidth/u16-width: Likewise.
16521         * modules/uniwidth/u32-strwidth: Likewise.
16522         * modules/uniwidth/u32-width: Likewise.
16523         * modules/uniwidth/width: Likewise.
16524         * modules/unicase/cased-tests (Makefile.am): Link all test programs
16525         with $(LIBUNISTRING).
16526         * modules/unicase/ignorable-tests: Likewise.
16527         * modules/unicase/locale-language-tests: Likewise.
16528         * modules/unicase/tolower-tests: Likewise.
16529         * modules/unicase/totitle-tests: Likewise.
16530         * modules/unicase/toupper-tests: Likewise.
16531         * modules/unicase/u8-casecmp-tests: Likewise.
16532         * modules/unicase/u8-casecoll-tests: Likewise.
16533         * modules/unicase/u8-casefold-tests: Likewise.
16534         * modules/unicase/u8-is-cased-tests: Likewise.
16535         * modules/unicase/u8-is-casefolded-tests: Likewise.
16536         * modules/unicase/u8-is-lowercase-tests: Likewise.
16537         * modules/unicase/u8-is-titlecase-tests: Likewise.
16538         * modules/unicase/u8-is-uppercase-tests: Likewise.
16539         * modules/unicase/u8-tolower-tests: Likewise.
16540         * modules/unicase/u8-totitle-tests: Likewise.
16541         * modules/unicase/u8-toupper-tests: Likewise.
16542         * modules/unicase/u16-casecmp-tests: Likewise.
16543         * modules/unicase/u16-casecoll-tests: Likewise.
16544         * modules/unicase/u16-casefold-tests: Likewise.
16545         * modules/unicase/u16-is-cased-tests: Likewise.
16546         * modules/unicase/u16-is-casefolded-tests: Likewise.
16547         * modules/unicase/u16-is-lowercase-tests: Likewise.
16548         * modules/unicase/u16-is-titlecase-tests: Likewise.
16549         * modules/unicase/u16-is-uppercase-tests: Likewise.
16550         * modules/unicase/u16-tolower-tests: Likewise.
16551         * modules/unicase/u16-totitle-tests: Likewise.
16552         * modules/unicase/u16-toupper-tests: Likewise.
16553         * modules/unicase/u32-casecmp-tests: Likewise.
16554         * modules/unicase/u32-casecoll-tests: Likewise.
16555         * modules/unicase/u32-casefold-tests: Likewise.
16556         * modules/unicase/u32-is-cased-tests: Likewise.
16557         * modules/unicase/u32-is-casefolded-tests: Likewise.
16558         * modules/unicase/u32-is-lowercase-tests: Likewise.
16559         * modules/unicase/u32-is-titlecase-tests: Likewise.
16560         * modules/unicase/u32-is-uppercase-tests: Likewise.
16561         * modules/unicase/u32-tolower-tests: Likewise.
16562         * modules/unicase/u32-totitle-tests: Likewise.
16563         * modules/unicase/u32-toupper-tests: Likewise.
16564         * modules/unicase/ulc-casecmp-tests: Likewise.
16565         * modules/unicase/ulc-casecoll-tests: Likewise.
16566         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
16567         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
16568         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
16569         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
16570         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
16571         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
16572         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
16573         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
16574         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
16575         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
16576         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
16577         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
16578         * modules/unictype/bidicategory-byname-tests: Likewise.
16579         * modules/unictype/bidicategory-name-tests: Likewise.
16580         * modules/unictype/bidicategory-of-tests: Likewise.
16581         * modules/unictype/bidicategory-test-tests: Likewise.
16582         * modules/unictype/block-list-tests: Likewise.
16583         * modules/unictype/block-of-tests: Likewise.
16584         * modules/unictype/block-test-tests: Likewise.
16585         * modules/unictype/category-C-tests: Likewise.
16586         * modules/unictype/category-Cc-tests: Likewise.
16587         * modules/unictype/category-Cf-tests: Likewise.
16588         * modules/unictype/category-Cn-tests: Likewise.
16589         * modules/unictype/category-Co-tests: Likewise.
16590         * modules/unictype/category-Cs-tests: Likewise.
16591         * modules/unictype/category-L-tests: Likewise.
16592         * modules/unictype/category-Ll-tests: Likewise.
16593         * modules/unictype/category-Lm-tests: Likewise.
16594         * modules/unictype/category-Lo-tests: Likewise.
16595         * modules/unictype/category-Lt-tests: Likewise.
16596         * modules/unictype/category-Lu-tests: Likewise.
16597         * modules/unictype/category-M-tests: Likewise.
16598         * modules/unictype/category-Mc-tests: Likewise.
16599         * modules/unictype/category-Me-tests: Likewise.
16600         * modules/unictype/category-Mn-tests: Likewise.
16601         * modules/unictype/category-N-tests: Likewise.
16602         * modules/unictype/category-Nd-tests: Likewise.
16603         * modules/unictype/category-Nl-tests: Likewise.
16604         * modules/unictype/category-No-tests: Likewise.
16605         * modules/unictype/category-P-tests: Likewise.
16606         * modules/unictype/category-Pc-tests: Likewise.
16607         * modules/unictype/category-Pd-tests: Likewise.
16608         * modules/unictype/category-Pe-tests: Likewise.
16609         * modules/unictype/category-Pf-tests: Likewise.
16610         * modules/unictype/category-Pi-tests: Likewise.
16611         * modules/unictype/category-Po-tests: Likewise.
16612         * modules/unictype/category-Ps-tests: Likewise.
16613         * modules/unictype/category-S-tests: Likewise.
16614         * modules/unictype/category-Sc-tests: Likewise.
16615         * modules/unictype/category-Sk-tests: Likewise.
16616         * modules/unictype/category-Sm-tests: Likewise.
16617         * modules/unictype/category-So-tests: Likewise.
16618         * modules/unictype/category-Z-tests: Likewise.
16619         * modules/unictype/category-Zl-tests: Likewise.
16620         * modules/unictype/category-Zp-tests: Likewise.
16621         * modules/unictype/category-Zs-tests: Likewise.
16622         * modules/unictype/category-and-not-tests: Likewise.
16623         * modules/unictype/category-and-tests: Likewise.
16624         * modules/unictype/category-byname-tests: Likewise.
16625         * modules/unictype/category-name-tests: Likewise.
16626         * modules/unictype/category-none-tests: Likewise.
16627         * modules/unictype/category-of-tests: Likewise.
16628         * modules/unictype/category-or-tests: Likewise.
16629         * modules/unictype/category-test-withtable-tests: Likewise.
16630         * modules/unictype/combining-class-tests: Likewise.
16631         * modules/unictype/ctype-alnum-tests: Likewise.
16632         * modules/unictype/ctype-alpha-tests: Likewise.
16633         * modules/unictype/ctype-blank-tests: Likewise.
16634         * modules/unictype/ctype-cntrl-tests: Likewise.
16635         * modules/unictype/ctype-digit-tests: Likewise.
16636         * modules/unictype/ctype-graph-tests: Likewise.
16637         * modules/unictype/ctype-lower-tests: Likewise.
16638         * modules/unictype/ctype-print-tests: Likewise.
16639         * modules/unictype/ctype-punct-tests: Likewise.
16640         * modules/unictype/ctype-space-tests: Likewise.
16641         * modules/unictype/ctype-upper-tests: Likewise.
16642         * modules/unictype/ctype-xdigit-tests: Likewise.
16643         * modules/unictype/decimal-digit-tests: Likewise.
16644         * modules/unictype/digit-tests: Likewise.
16645         * modules/unictype/mirror-tests: Likewise.
16646         * modules/unictype/numeric-tests: Likewise.
16647         * modules/unictype/property-alphabetic-tests: Likewise.
16648         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
16649         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
16650         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
16651         * modules/unictype/property-bidi-block-separator-tests: Likewise.
16652         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
16653         * modules/unictype/property-bidi-common-separator-tests: Likewise.
16654         * modules/unictype/property-bidi-control-tests: Likewise.
16655         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
16656         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
16657         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
16658         * modules/unictype/property-bidi-european-digit-tests: Likewise.
16659         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
16660         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
16661         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
16662         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
16663         * modules/unictype/property-bidi-pdf-tests: Likewise.
16664         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
16665         * modules/unictype/property-bidi-whitespace-tests: Likewise.
16666         * modules/unictype/property-byname-tests: Likewise.
16667         * modules/unictype/property-combining-tests: Likewise.
16668         * modules/unictype/property-composite-tests: Likewise.
16669         * modules/unictype/property-currency-symbol-tests: Likewise.
16670         * modules/unictype/property-dash-tests: Likewise.
16671         * modules/unictype/property-decimal-digit-tests: Likewise.
16672         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
16673         * modules/unictype/property-deprecated-tests: Likewise.
16674         * modules/unictype/property-diacritic-tests: Likewise.
16675         * modules/unictype/property-extender-tests: Likewise.
16676         * modules/unictype/property-format-control-tests: Likewise.
16677         * modules/unictype/property-grapheme-base-tests: Likewise.
16678         * modules/unictype/property-grapheme-extend-tests: Likewise.
16679         * modules/unictype/property-grapheme-link-tests: Likewise.
16680         * modules/unictype/property-hex-digit-tests: Likewise.
16681         * modules/unictype/property-hyphen-tests: Likewise.
16682         * modules/unictype/property-id-continue-tests: Likewise.
16683         * modules/unictype/property-id-start-tests: Likewise.
16684         * modules/unictype/property-ideographic-tests: Likewise.
16685         * modules/unictype/property-ids-binary-operator-tests: Likewise.
16686         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
16687         * modules/unictype/property-ignorable-control-tests: Likewise.
16688         * modules/unictype/property-iso-control-tests: Likewise.
16689         * modules/unictype/property-join-control-tests: Likewise.
16690         * modules/unictype/property-left-of-pair-tests: Likewise.
16691         * modules/unictype/property-line-separator-tests: Likewise.
16692         * modules/unictype/property-logical-order-exception-tests: Likewise.
16693         * modules/unictype/property-lowercase-tests: Likewise.
16694         * modules/unictype/property-math-tests: Likewise.
16695         * modules/unictype/property-non-break-tests: Likewise.
16696         * modules/unictype/property-not-a-character-tests: Likewise.
16697         * modules/unictype/property-numeric-tests: Likewise.
16698         * modules/unictype/property-other-alphabetic-tests: Likewise.
16699         * modules/unictype/property-other-default-ignorable-code-point-tests:
16700         Likewise.
16701         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
16702         * modules/unictype/property-other-id-continue-tests: Likewise.
16703         * modules/unictype/property-other-id-start-tests: Likewise.
16704         * modules/unictype/property-other-lowercase-tests: Likewise.
16705         * modules/unictype/property-other-math-tests: Likewise.
16706         * modules/unictype/property-other-uppercase-tests: Likewise.
16707         * modules/unictype/property-paired-punctuation-tests: Likewise.
16708         * modules/unictype/property-paragraph-separator-tests: Likewise.
16709         * modules/unictype/property-pattern-syntax-tests: Likewise.
16710         * modules/unictype/property-pattern-white-space-tests: Likewise.
16711         * modules/unictype/property-private-use-tests: Likewise.
16712         * modules/unictype/property-punctuation-tests: Likewise.
16713         * modules/unictype/property-quotation-mark-tests: Likewise.
16714         * modules/unictype/property-radical-tests: Likewise.
16715         * modules/unictype/property-sentence-terminal-tests: Likewise.
16716         * modules/unictype/property-soft-dotted-tests: Likewise.
16717         * modules/unictype/property-space-tests: Likewise.
16718         * modules/unictype/property-terminal-punctuation-tests: Likewise.
16719         * modules/unictype/property-test-tests: Likewise.
16720         * modules/unictype/property-titlecase-tests: Likewise.
16721         * modules/unictype/property-unassigned-code-value-tests: Likewise.
16722         * modules/unictype/property-unified-ideograph-tests: Likewise.
16723         * modules/unictype/property-uppercase-tests: Likewise.
16724         * modules/unictype/property-variation-selector-tests: Likewise.
16725         * modules/unictype/property-white-space-tests: Likewise.
16726         * modules/unictype/property-xid-continue-tests: Likewise.
16727         * modules/unictype/property-xid-start-tests: Likewise.
16728         * modules/unictype/property-zero-width-tests: Likewise.
16729         * modules/unictype/scripts-tests: Likewise.
16730         * modules/unictype/syntax-c-ident-tests: Likewise.
16731         * modules/unictype/syntax-c-whitespace-tests: Likewise.
16732         * modules/unictype/syntax-java-ident-tests: Likewise.
16733         * modules/unictype/syntax-java-whitespace-tests: Likewise.
16734         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
16735         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
16736         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
16737         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
16738         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
16739         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
16740         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
16741         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
16742         * modules/uniname/uniname-tests: Likewise.
16743         * modules/uninorm/canonical-decomposition-tests: Likewise.
16744         * modules/uninorm/compat-decomposition-tests: Likewise.
16745         * modules/uninorm/composition-tests: Likewise.
16746         * modules/uninorm/decomposing-form-tests: Likewise.
16747         * modules/uninorm/decomposition-tests: Likewise.
16748         * modules/uninorm/filter-tests: Likewise.
16749         * modules/uninorm/nfc-tests: Likewise.
16750         * modules/uninorm/nfd-tests: Likewise.
16751         * modules/uninorm/nfkc-tests: Likewise.
16752         * modules/uninorm/nfkd-tests: Likewise.
16753         * modules/uninorm/u8-normcmp-tests: Likewise.
16754         * modules/uninorm/u8-normcoll-tests: Likewise.
16755         * modules/uninorm/u16-normcmp-tests: Likewise.
16756         * modules/uninorm/u16-normcoll-tests: Likewise.
16757         * modules/uninorm/u32-normcmp-tests: Likewise.
16758         * modules/uninorm/u32-normcoll-tests: Likewise.
16759         * modules/unistdio/u8-asnprintf-tests: Likewise.
16760         * modules/unistdio/u8-vasnprintf-tests: Likewise.
16761         * modules/unistdio/u8-vasprintf-tests: Likewise.
16762         * modules/unistdio/u8-vsnprintf-tests: Likewise.
16763         * modules/unistdio/u8-vsprintf-tests: Likewise.
16764         * modules/unistdio/u16-asnprintf-tests: Likewise.
16765         * modules/unistdio/u16-vasnprintf-tests: Likewise.
16766         * modules/unistdio/u16-vasprintf-tests: Likewise.
16767         * modules/unistdio/u16-vsnprintf-tests: Likewise.
16768         * modules/unistdio/u16-vsprintf-tests: Likewise.
16769         * modules/unistdio/u32-asnprintf-tests: Likewise.
16770         * modules/unistdio/u32-vasnprintf-tests: Likewise.
16771         * modules/unistdio/u32-vasprintf-tests: Likewise.
16772         * modules/unistdio/u32-vsnprintf-tests: Likewise.
16773         * modules/unistdio/u32-vsprintf-tests: Likewise.
16774         * modules/unistdio/ulc-asnprintf-tests: Likewise.
16775         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
16776         * modules/unistdio/ulc-vasprintf-tests: Likewise.
16777         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
16778         * modules/unistdio/ulc-vsprintf-tests: Likewise.
16779         * modules/unistr/u8-check-tests: Likewise.
16780         * modules/unistr/u8-chr-tests: Likewise.
16781         * modules/unistr/u8-cmp-tests: Likewise.
16782         * modules/unistr/u8-cmp2-tests: Likewise.
16783         * modules/unistr/u8-cpy-alloc-tests: Likewise.
16784         * modules/unistr/u8-cpy-tests: Likewise.
16785         * modules/unistr/u8-mblen-tests: Likewise.
16786         * modules/unistr/u8-mbsnlen-tests: Likewise.
16787         * modules/unistr/u8-mbtouc-tests: Likewise.
16788         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
16789         * modules/unistr/u8-mbtoucr-tests: Likewise.
16790         * modules/unistr/u8-move-tests: Likewise.
16791         * modules/unistr/u8-next-tests: Likewise.
16792         * modules/unistr/u8-prev-tests: Likewise.
16793         * modules/unistr/u8-set-tests: Likewise.
16794         * modules/unistr/u8-stpcpy-tests: Likewise.
16795         * modules/unistr/u8-stpncpy-tests: Likewise.
16796         * modules/unistr/u8-strcat-tests: Likewise.
16797         * modules/unistr/u8-strcmp-tests: Likewise.
16798         * modules/unistr/u8-strcoll-tests: Likewise.
16799         * modules/unistr/u8-strcpy-tests: Likewise.
16800         * modules/unistr/u8-strdup-tests: Likewise.
16801         * modules/unistr/u8-strlen-tests: Likewise.
16802         * modules/unistr/u8-strmblen-tests: Likewise.
16803         * modules/unistr/u8-strmbtouc-tests: Likewise.
16804         * modules/unistr/u8-strncat-tests: Likewise.
16805         * modules/unistr/u8-strncmp-tests: Likewise.
16806         * modules/unistr/u8-strncpy-tests: Likewise.
16807         * modules/unistr/u8-strnlen-tests: Likewise.
16808         * modules/unistr/u8-to-u16-tests: Likewise.
16809         * modules/unistr/u8-to-u32-tests: Likewise.
16810         * modules/unistr/u8-uctomb-tests: Likewise.
16811         * modules/unistr/u16-check-tests: Likewise.
16812         * modules/unistr/u16-chr-tests: Likewise.
16813         * modules/unistr/u16-cmp-tests: Likewise.
16814         * modules/unistr/u16-cmp2-tests: Likewise.
16815         * modules/unistr/u16-cpy-alloc-tests: Likewise.
16816         * modules/unistr/u16-cpy-tests: Likewise.
16817         * modules/unistr/u16-mblen-tests: Likewise.
16818         * modules/unistr/u16-mbsnlen-tests: Likewise.
16819         * modules/unistr/u16-mbtouc-tests: Likewise.
16820         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
16821         * modules/unistr/u16-mbtoucr-tests: Likewise.
16822         * modules/unistr/u16-move-tests: Likewise.
16823         * modules/unistr/u16-next-tests: Likewise.
16824         * modules/unistr/u16-prev-tests: Likewise.
16825         * modules/unistr/u16-set-tests: Likewise.
16826         * modules/unistr/u16-stpcpy-tests: Likewise.
16827         * modules/unistr/u16-stpncpy-tests: Likewise.
16828         * modules/unistr/u16-strcat-tests: Likewise.
16829         * modules/unistr/u16-strcmp-tests: Likewise.
16830         * modules/unistr/u16-strcoll-tests: Likewise.
16831         * modules/unistr/u16-strcpy-tests: Likewise.
16832         * modules/unistr/u16-strdup-tests: Likewise.
16833         * modules/unistr/u16-strlen-tests: Likewise.
16834         * modules/unistr/u16-strmblen-tests: Likewise.
16835         * modules/unistr/u16-strmbtouc-tests: Likewise.
16836         * modules/unistr/u16-strncat-tests: Likewise.
16837         * modules/unistr/u16-strncmp-tests: Likewise.
16838         * modules/unistr/u16-strncpy-tests: Likewise.
16839         * modules/unistr/u16-strnlen-tests: Likewise.
16840         * modules/unistr/u16-to-u32-tests: Likewise.
16841         * modules/unistr/u16-to-u8-tests: Likewise.
16842         * modules/unistr/u16-uctomb-tests: Likewise.
16843         * modules/unistr/u32-check-tests: Likewise.
16844         * modules/unistr/u32-chr-tests: Likewise.
16845         * modules/unistr/u32-cmp-tests: Likewise.
16846         * modules/unistr/u32-cmp2-tests: Likewise.
16847         * modules/unistr/u32-cpy-alloc-tests: Likewise.
16848         * modules/unistr/u32-cpy-tests: Likewise.
16849         * modules/unistr/u32-mblen-tests: Likewise.
16850         * modules/unistr/u32-mbsnlen-tests: Likewise.
16851         * modules/unistr/u32-mbtouc-tests: Likewise.
16852         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
16853         * modules/unistr/u32-mbtoucr-tests: Likewise.
16854         * modules/unistr/u32-move-tests: Likewise.
16855         * modules/unistr/u32-next-tests: Likewise.
16856         * modules/unistr/u32-prev-tests: Likewise.
16857         * modules/unistr/u32-set-tests: Likewise.
16858         * modules/unistr/u32-stpcpy-tests: Likewise.
16859         * modules/unistr/u32-stpncpy-tests: Likewise.
16860         * modules/unistr/u32-strcat-tests: Likewise.
16861         * modules/unistr/u32-strcmp-tests: Likewise.
16862         * modules/unistr/u32-strcoll-tests: Likewise.
16863         * modules/unistr/u32-strcpy-tests: Likewise.
16864         * modules/unistr/u32-strdup-tests: Likewise.
16865         * modules/unistr/u32-strlen-tests: Likewise.
16866         * modules/unistr/u32-strmblen-tests: Likewise.
16867         * modules/unistr/u32-strmbtouc-tests: Likewise.
16868         * modules/unistr/u32-strncat-tests: Likewise.
16869         * modules/unistr/u32-strncmp-tests: Likewise.
16870         * modules/unistr/u32-strncpy-tests: Likewise.
16871         * modules/unistr/u32-strnlen-tests: Likewise.
16872         * modules/unistr/u32-to-u16-tests: Likewise.
16873         * modules/unistr/u32-to-u8-tests: Likewise.
16874         * modules/unistr/u32-uctomb-tests: Likewise.
16875         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
16876         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
16877         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
16878         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
16879         * modules/uniwidth/u8-strwidth-tests: Likewise.
16880         * modules/uniwidth/u8-width-tests: Likewise.
16881         * modules/uniwidth/u16-strwidth-tests: Likewise.
16882         * modules/uniwidth/u16-width-tests: Likewise.
16883         * modules/uniwidth/u32-strwidth-tests: Likewise.
16884         * modules/uniwidth/u32-width-tests: Likewise.
16885         * modules/uniwidth/width-tests: Likewise.
16886
16887 2010-05-18  Richard Jones  <rjones@redhat.com>
16888
16889         doc: users.txt: list hivex
16890         * users.txt: Add hivex.
16891
16892 2010-05-18  Richard Jones  <rjones@redhat.com>
16893
16894         doc: users.txt: list febootstrap
16895         * users.txt: Add febootstrap.
16896
16897 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
16898
16899         bootstrap: fix an error when gnulib is not used as a git submodule
16900         * build-aux/bootstrap (gnulib_path): If its length is zero then
16901         assign "gnulib" to it.
16902         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
16903
16904 2010-05-16  Bruno Haible  <bruno@clisp.org>
16905
16906         Avoid autoconf warnings about AM_ICONV.
16907         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
16908         2.64.
16909
16910 2010-05-16  Bruno Haible  <bruno@clisp.org>
16911
16912         absolute-header: Make the macro usable in more situations.
16913         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
16914         from gl_ABSOLUTE_HEADER.
16915         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
16916
16917 2010-05-16  James Youngman  <jay@gnu.org>
16918
16919         doc: update users.txt
16920         * users.txt: Add CSSC.
16921
16922 2010-05-16  Jim Meyering  <meyering@redhat.com>
16923
16924         init.sh: fix an error in the previous change; add more comments
16925         * tests/init.sh: Compare exit code in loop against 9, not 2.
16926         Patch by Bruno Haible.
16927         Make the two tests more similar by adding an empty "then" clause.
16928         Add comments.
16929
16930         init.sh: avoid unnecessary shell re-exec
16931         * tests/init.sh: Improve the re-exec-required check to first test the
16932         current shell.  If it passes the test, do not search for a shell that
16933         does pass, and do not re-exec.  This test is particularly contorted to
16934         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
16935         of $(...) evokes a syntax error and causes immediate shell exit with
16936         status 2.  Bruno Haible reported that the re-exec made it impossible
16937         to single-step through any init.sh-using script.
16938
16939 2010-05-16  Bruno Haible  <bruno@clisp.org>
16940
16941         Fix collision between gnulib's and libintl's printf replacements.
16942         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
16943         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
16944         (printf): When using GNU C, map the __printf__ function to rpl_printf
16945         via __asm__. When not using GNU C, define rpl_printf instead of
16946         __printf__.
16947         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
16948         commit.
16949         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
16950         commit.
16951         * m4/asm-underscore.m4: New file.
16952         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
16953         * modules/stdio (Files): Add m4/asm-underscore.m4.
16954         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
16955         Reported by Ben Pfaff.
16956
16957 2010-05-16  Bruno Haible  <bruno@clisp.org>
16958
16959         verify: Avoid skipping the test on openSUSE 11.0.
16960         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
16961
16962 2010-05-13  Bruno Haible  <bruno@clisp.org>
16963
16964         Avoid useless warnings from G++.
16965         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
16966         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
16967         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
16968
16969 2010-05-11  Jim Meyering  <meyering@redhat.com>
16970
16971         maint.mk: tweak preceding change
16972         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
16973         regexps tighter by anchoring at EOL, and make the new group "shy"
16974         for slightly decreased overhead.
16975
16976 2010-05-11  Eric Blake  <eblake@redhat.com>
16977
16978         maint.mk: gnulib doesn't guarantee NSIG
16979         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
16980
16981 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
16982
16983         test-pwrite.c: Remove unused variable declaration.
16984         * tests/test-pwrite.c (main): Remove read_buf declaration.
16985
16986         Remove useless test-pwrite.sh file.
16987         * tests/test-pwrite.sh: Delete file.
16988         * modules/pwrite-tests: Remove references.
16989         Reported by Bruno Haible.
16990
16991 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
16992
16993         init.sh: fix a typo
16994         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
16995
16996 2010-05-10  Jim Meyering  <meyering@redhat.com>
16997
16998         maint.mk: avoid using a temporary file in the always-defined-macros check
16999         * top/maint.mk (.re-defmac): Remove rule.
17000         (gl_trap_): Remove definition.
17001         (sc_prohibit_always-defined_macros): Rewrite not to create and
17002         depend on a temporary file.  Instead, depend on GNU grep's ability
17003         to read a list of regular expressions from stdin when given "-f -".
17004
17005 2010-05-09  Bruno Haible  <bruno@clisp.org>
17006
17007         Update to GNU gettext 0.18, part 1.
17008         * m4/gettext.m4: Update to GNU gettext 0.18.
17009         * m4/intl.m4: Likewise.
17010         * m4/po.m4: Likewise.
17011         * modules/gettext (Files): Add m4/fcntl-o.m4.
17012         (configure.ac): Require gettext infrastructure from version 0.18.
17013
17014 2010-05-09  Jim Meyering  <meyering@redhat.com>
17015
17016         init.sh: enable MALLOC_PERTURB_
17017         * tests/init.sh: Enable glibc's malloc-perturbing option.
17018
17019         maint.mk: improve sc_cross_check_PATH_usage_in_tests
17020         With my recent change in init.sh from the two-line form:
17021             -#   : ${srcdir=.}
17022             -#   . "$srcdir/init.sh"; path_prepend_ .
17023             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
17024         I noticed that using the one-line form would cause this test
17025         to fail with a false-positive, or to stop working altogether,
17026         depending on whether help-version changed or all the tests did.
17027         * top/maint.mk (_hv_regex): Remove this definition.
17028         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
17029         (_hv_regex_strong): Use a stronger regex to check for conformance.
17030         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
17031         Give a separate diagnostic for lack of conforming use.
17032
17033         maint.mk: prohibit definition of symbols defined by gnulib
17034         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
17035         definition of symbols defined by gnulib.
17036
17037 2010-05-09  Bruno Haible  <bruno@clisp.org>
17038
17039         acl: Avoid test failure on Cygwin-hosted mingw.
17040         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
17041
17042 2010-05-09  Bruno Haible  <bruno@clisp.org>
17043
17044         error: Use system's fcntl function.
17045         * lib/error.c (fcntl): Undefine.
17046
17047 2010-05-09  Jim Meyering  <meyering@redhat.com>
17048
17049         verify: adjust formatting to be more consistent
17050         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
17051         argument-list '('s, and after one comma.
17052
17053 2010-05-09  Bruno Haible  <bruno@clisp.org>
17054
17055         error: More reliable output on mingw.
17056         * lib/error.c: Include <windows.h>.
17057         (is_open): New function.
17058         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
17059         defined.
17060
17061 2010-05-09  Bruno Haible  <bruno@clisp.org>
17062
17063         vasnprintf: Fix syntax errors in libintl build on mingw.
17064         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
17065         pad_ourselves and prec_ourselves after use.
17066
17067 2010-05-08  Bruno Haible  <bruno@clisp.org>
17068
17069         * lib/config.charset: Update comments for Cygwin 1.7.
17070         * lib/localcharset.c: Likewise.
17071
17072 2010-05-07  Jim Meyering  <meyering@redhat.com>
17073
17074         init.sh: improve comments
17075         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
17076         . "${srcdir=.}/init.sh"; path_prepend_ .
17077         Add a note about path_prepend_ and the alternative of using
17078         TESTS_ENVIRONMENT.
17079
17080 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
17081
17082         exclude: Unescape hashed patterns in wildcard mode.
17083         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
17084         to the hash list.
17085         * tests/test-exclude8.sh: New test case.
17086         * modules/exclude-tests: Add new test.
17087
17088 2010-05-05  Eric Blake  <eblake@redhat.com>
17089
17090         verify: automate tests
17091         * modules/verify-tests: New module.
17092         * tests/test-verify.sh: New file.
17093         * tests/test-verify.c: Guard each negative test with a unique id.
17094         Also avoid warning about unused left hand of comma expressions.
17095
17096 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
17097
17098         Further improvements to verify.h, suggested by Eric Blake.
17099         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
17100         the GL_* versions, to avoid collision with OpenGL.
17101         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
17102         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
17103         than testing merely whether it's defined.
17104
17105         Modify verify.h to pacify gcc -Wredundant_decls.
17106         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
17107         These use the prefix "GL_" since they're likely to be useful elsewhere.
17108         We may need to break them out into a different .h file.
17109         (__COUNTER__): Define to 0 if the compiler doesn't support it.
17110         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
17111         of verify_function__.
17112
17113 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
17114
17115         Tests for module pwrite.
17116         * modules/pwrite-tests: New file.
17117         * tests/test-pwrite.sh: New file.
17118         * tests/test-pwrite.c: New file.
17119
17120         New module pwrite.
17121         * lib/unistd.in.h (pwrite): New declaration.
17122         * lib/pwrite.c: New file, from glibc with modifications.
17123         * m4/pwrite.m4: New file.
17124         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
17125         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
17126         REPLACE_PWRITE.
17127         * modules/pwrite: New file.
17128         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
17129         REPLACE_PWRITE.
17130         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
17131         * doc/posix-functions/pwrite.texi: Mention the new module.
17132
17133 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
17134
17135         pread: Update documentation.
17136         * doc/posix-functions/pread.texi: Mention the 'pread' module.
17137
17138 2010-05-04  Eric Blake  <eblake@redhat.com>
17139
17140         docs: update cygwin progress
17141         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
17142         this bug.
17143         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
17144         Added in cygwin 1.7.2.
17145         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
17146         Likewise.
17147         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
17148         Likewise.
17149         * doc/glibc-functions/dup3.texi (dup3): Likewise.
17150         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
17151         * doc/glibc-functions/accept4.texi (accept4): Likewise.
17152         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
17153         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
17154         Mention nproc module.
17155         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
17156         bug in cygwin 1.7.5 addition.
17157         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
17158         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
17159         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
17160         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
17161         1.7.5.
17162         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
17163         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
17164         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
17165         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
17166         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
17167         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
17168         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
17169         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
17170         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
17171         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
17172         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
17173         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
17174         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
17175         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
17176         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
17177         Likewise.
17178         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
17179         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
17180         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
17181         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
17182         Likewise.
17183         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
17184         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
17185         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
17186         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
17187         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
17188         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
17189         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
17190         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
17191         Likewise.
17192         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
17193         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
17194         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
17195         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
17196         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
17197         Likewise.
17198         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
17199         Likewise.
17200         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
17201         Likewise.
17202         * doc/glibc-functions/xdrrec_endofrecord.texi
17203         (xdrrec_endofrecord): Likewise.
17204         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
17205         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
17206         Likewise.
17207         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
17208         Likewise.
17209
17210 2010-05-04  Jim Meyering  <meyering@redhat.com>
17211
17212         gendocs.sh: make its "-s FILE" option more useful
17213         * build-aux/gendocs.sh: When honoring the -s FILE option, update
17214         $PACKAGE to reflect the probably-different basename of "FILE".
17215
17216 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
17217
17218         bootstrap: don't ignore download_po_files failure
17219         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
17220         failure.
17221
17222 2010-05-03  Jim Meyering  <meyering@redhat.com>
17223
17224         maint.mk: allow to pass options to gendocs.sh
17225         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
17226         (gendocs_options_): New overridable variable.
17227
17228         gnu-web-doc-update: don't ignore configure or build failure
17229         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
17230
17231         announce-gen: backslash-escape '@'s in --help output
17232         * build-aux/announce-gen: Fix syntax errors.
17233
17234         maint.mk, announce-gen: allow project-specific announcement mail headers
17235         * top/maint.mk (translation_project_): Define default.
17236         (announcement_Cc_, announcement_mail_headers_): Likewise.
17237         (announcement): Invoke announce-gen with new --mail-headers option.
17238         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
17239
17240         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
17241         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
17242         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
17243         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
17244         line in the "err2" output file when running "make check" in verbose
17245         mode (i.e., with set -x enabled).
17246
17247 2010-05-03  Bruno Haible  <bruno@clisp.org>
17248
17249         wctob: Fix for weird platforms.
17250         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
17251         argument value.
17252
17253 2010-05-03  Jim Meyering  <meyering@redhat.com>
17254
17255         maint.mk: prohibit unwarranted use of <strings.h>
17256         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
17257         strings.h in a file that does not also use strcasecmp, strncasecmp,
17258         ffs or ffsll.
17259
17260         maint.mk: remove obsolete comments
17261         * top/maint.mk: Remove stale, commented-out rules.
17262
17263 2010-05-02  Bruno Haible  <bruno@clisp.org>
17264
17265         wcwidth: Declare also when it's aliased.
17266         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
17267         macro.
17268
17269 2010-05-02  Bruno Haible  <bruno@clisp.org>
17270
17271         Fix regression from 2010-04-25.
17272         * gnulib-tool (func_modules_transitive_closure): Check the status of
17273         all modules, not only of the tests that are of the form foo-tests where
17274         foo is a module.
17275
17276 2010-05-02  Bruno Haible  <bruno@clisp.org>
17277
17278         wctob: Work around nasty Cygwin 1.7.2 bug.
17279         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
17280         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
17281
17282 2010-05-01  Bruno Haible  <bruno@clisp.org>
17283
17284         fpurge: Sharper test.
17285         * tests/test-fpurge.c (main): Add one more ftell check.
17286         * modules/fpurge-tests (Depends-on): Add ftell.
17287         Suggested by Eric Blake.
17288
17289 2010-05-01  Bruno Haible  <bruno@clisp.org>
17290
17291         ftello: Another test.
17292         * tests/test-ftello3.c: New file.
17293         * modules/ftello-tests (Files): Add it.
17294         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
17295         MOSTLYCLEANFILES.
17296
17297         ftell: Another test.
17298         * tests/test-ftell3.c: New file.
17299         * modules/ftell-tests (Files): Add it.
17300         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
17301         MOSTLYCLEANFILES.
17302
17303 2010-05-01  Bruno Haible  <bruno@clisp.org>
17304
17305         ftell, ftello: Work around Solaris bug.
17306         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
17307         * lib/ftello.c: Include stdio-impl.h.
17308         (ftello): On Solaris, when _IOWRT is set, compute the result without
17309         looking at _IOREAD.
17310         * modules/ftello (Files): Add lib/stdio-impl.h.
17311         * doc/posix-functions/ftell.texi: Mention Solaris bug.
17312         * doc/posix-functions/ftello.texi: Likewise.
17313         Reported by Eric Blake.
17314
17315 2010-05-01  Bruno Haible  <bruno@clisp.org>
17316
17317         freading: Adapt to special meaning of _IOREAD flag on Solaris.
17318         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
17319         the _IOWRT flag is also set.
17320
17321 2010-05-01  Bruno Haible  <bruno@clisp.org>
17322
17323         Fix doc about a HP-UX stdio bug.
17324         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
17325         * doc/posix-functions/ftello.texi: Likewise.
17326
17327 2010-05-01  Bruno Haible  <bruno@clisp.org>
17328
17329         lseek test: Fix failure on Solaris.
17330         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
17331         output.
17332
17333 2010-04-30  Jim Meyering  <meyering@redhat.com>
17334
17335         bootstrap: don't ignore failure to generate po*/Makevars
17336         * build-aux/bootstrap (with_gettext): Don't ignore failure
17337         to create po/Makevars or runtime-po/Makevars.
17338
17339 2010-04-29  Eric Blake  <eblake@redhat.com>
17340
17341         headers: relax license to LGPLv2+
17342         * modules/fcntl-h (License): Relax license.
17343         * modules/getopt-posix (License): Likewise.
17344         * modules/locale (License): Likewise.
17345         * modules/math (License): Likewise.
17346         * modules/pty (License): Likewise.
17347         * modules/sched (License): Likewise.
17348         * modules/search (License): Likewise.
17349         * modules/spawn (License): Likewise.
17350         * modules/stdarg (License): Likewise.
17351         * modules/sysexits (License): Likewise.
17352
17353 2010-04-29  Jim Meyering  <meyering@redhat.com>
17354
17355         inttypes: relax license to LGPLv2+
17356         * modules/inttypes (License): Relax license.
17357
17358 2010-04-29  Simon Josefsson  <simon@josefsson.org>
17359
17360         * top/maint.mk (indent): Run twice to produce idempotent results.
17361
17362 2010-04-28  Bruno Haible  <bruno@clisp.org>
17363
17364         getdate: Generate getdate.c in the source directory.
17365         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
17366         MOSTLYCLEANFILES.
17367         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
17368
17369 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
17370
17371         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
17372         is not declared as a const *; avoid warnings in that case.
17373
17374 2010-04-28  Eric Blake  <eblake@redhat.com>
17375
17376         canonicalize-lgpl: avoid compiler warning
17377         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
17378         declaration' / 'extraneous semicolon' warning with some compilers.
17379         Reported by Andreas Gruenbacher.
17380
17381 2010-04-28  Jim Meyering  <meyering@redhat.com>
17382
17383         init.sh: ensure a more reliable exit status when exiting via trap
17384         * tests/init.sh (setup_): Don't rely on $? in signal handler.
17385         Inspired by patches from Dmitry V. Levin.
17386         Also trap on signal 3 (SIGQUIT).
17387
17388 2010-04-27  Bruno Haible  <bruno@clisp.org>
17389
17390         Update doc about utimes().
17391         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
17392         'utimens' module.
17393         Reported by Andreas Gruenbacher <agruen@suse.de>.
17394
17395 2010-04-27  Eric Blake  <eblake@redhat.com>
17396
17397         full-read, full-write: relax license
17398         * modules/full-read (License): Drop to LGPLv2+.
17399         * modules/full-write (License): Likewise.
17400         * modules/safe-read (License): Likewise.
17401         * modules/safe-write (License): Likewise.
17402
17403         pthread: mention library for linking
17404         * modules/pthread (Link): Mention $(LIB_PTHREAD).
17405
17406 2010-04-27  Jim Meyering  <meyering@redhat.com>
17407
17408         maint.mk: fix a bug introduced in last change
17409         * top/maint.mk (gl_assured_headers_): Now that all names are on
17410         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
17411         is not anchored to end of word, it should be adequate.
17412
17413         maint.mk: avoid side-effect in latest syntax-check
17414         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
17415         to run commands via $(shell...), and hence to incur cost only when
17416         the new rule is actually run.
17417
17418         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
17419         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
17420         and use that to create a regexp used to detect all #if HAVE_..._H uses.
17421         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
17422         (gl_assured_headers_, az_, AZ_): Define.
17423         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
17424
17425 2010-04-26  Jim Meyering  <jim@meyering.net>
17426             Bruno Haible  <bruno@clisp.org>
17427
17428         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
17429         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
17430         Prompted by an exchange with Gilles Espinasse.
17431
17432 2010-04-26  Jim Meyering  <meyering@redhat.com>
17433
17434         git-version-gen: aesthetic tweak
17435         * build-aux/git-version-gen: Use "$nl" rather than a literal,
17436         so that the command remains on a single line.
17437
17438 2010-04-26  Eric Blake  <eblake@redhat.com>
17439
17440         git-version-gen: allow use on EBCDIC hosts
17441         * build-aux/git-version-gen (dirty): Use literal rather than tying
17442         ourselves to ascii.
17443         Reported by Steve Goetze.
17444
17445 2010-04-25  Bruno Haible  <bruno@clisp.org>
17446
17447         netdb: Add support for GNULIB_POSIXCHECK.
17448         * lib/netdb.in.h: Include warn-on-use.h.
17449         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
17450         functions are used when GNULIB_POSIXCHECK is defined and the
17451         getaddrinfo module is not in use.
17452         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
17453         freeaddrinfo, gai_strerror, getnameinfo are declared.
17454         * modules/netdb (Depends-on): Add warn-on-use.
17455         (Makefile.am): Include warn-on-use.h in netdb.h.
17456
17457 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
17458
17459         build: avoid "make check" failure without .git/ directory
17460         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
17461         there is no .git/ directory.
17462
17463 2010-04-25  Bruno Haible  <bruno@clisp.org>
17464
17465         ptsname: Fix misuse of ttyname_r.
17466         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
17467         of errno.
17468
17469 2010-04-25  Bruno Haible  <bruno@clisp.org>
17470
17471         ttyname_r: Make it work on Solaris 10.
17472         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
17473         if the system function has the POSIX declaration. Test whether the
17474         function fails if the buffer is less than 128 bytes large.
17475         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
17476         system's ttyname_r function. Provide a reasonably large buffer.
17477         * modules/ttyname_r (Depends-on): Add extensions.
17478         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
17479
17480 2010-04-25  Bruno Haible  <bruno@clisp.org>
17481
17482         Use the 'extensions' module for some more functions on Solaris.
17483         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
17484         module.
17485         * doc/posix-functions/ctime_r.texi: Likewise.
17486         * doc/posix-functions/getgrgid_r.texi: Likewise.
17487         * doc/posix-functions/getgrnam_r.texi: Likewise.
17488         * doc/posix-functions/getpwnam_r.texi: Likewise.
17489         * doc/posix-functions/getpwuid_r.texi: Likewise.
17490         * doc/posix-functions/readdir_r.texi: Likewise.
17491         * doc/posix-functions/sigwait.texi: Likewise.
17492         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
17493         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
17494
17495 2010-04-25  Bruno Haible  <bruno@clisp.org>
17496
17497         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
17498         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
17499         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
17500         * lib/ttyname_r.c: Include <limits.h>.
17501         (ttyname_r): Define using the system's ttyname_r function, if it exists
17502         and not on Solaris.
17503         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
17504         set.
17505         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
17506         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
17507         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
17508         Reported by Simon Josefsson.
17509
17510 2010-04-25  Bruno Haible  <bruno@clisp.org>
17511
17512         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
17513         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
17514         * doc/posix-functions/ctime_r.texi: Likewise.
17515         * doc/posix-functions/getgrgid_r.texi: Likewise.
17516         * doc/posix-functions/getgrnam_r.texi: Likewise.
17517         * doc/posix-functions/getlogin_r.texi: Likewise.
17518         * doc/posix-functions/getpwnam_r.texi: Likewise.
17519         * doc/posix-functions/getpwuid_r.texi: Likewise.
17520         * doc/posix-functions/readdir_r.texi: Likewise.
17521         * doc/posix-functions/sigwait.texi: Likewise.
17522         * doc/posix-functions/ttyname_r.texi: Likewise.
17523         Reported by Simon Josefsson.
17524
17525 2010-04-25  Bruno Haible  <bruno@clisp.org>
17526
17527         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
17528         * gnulib-tool (func_usage): Document that --with-*-tests options apply
17529         also to --create-testdir.
17530         (func_acceptable): Don't consider the status of *-tests modules here.
17531         (func_modules_transitive_closure): Consider it here, before including a
17532         test module.
17533         (func_import, func_create_testdir): Set inc_all_direct_tests,
17534         inc_all_indirect_tests.
17535         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
17536         --create-testdir and --create-megatestdir.
17537
17538 2010-04-25  Bruno Haible  <bruno@clisp.org>
17539
17540         gnulib-tool: Add --without-*-tests options.
17541         * gnulib-tool (func_usage): Document the --without-*-tests options.
17542         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
17543         excl_unportable_tests): New variables.
17544         Fail if they are specified with --import or --update.
17545         (func_acceptable): Respect the excl_*_tests variables.
17546         (func_import): Set the excl_*_tests variables to empty.
17547
17548 2010-04-25  Simon Josefsson  <simon@josefsson.org>
17549             Bruno Haible  <bruno@clisp.org>
17550
17551         Work around a MacOS X 10.4 bug with openpty.
17552         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
17553         * tests/test-openpty.c (main): Close the master side explicitly.
17554
17555 2010-04-25  Bruno Haible  <bruno@clisp.org>
17556
17557         strnlen: Fix a C++ test error on MacOS X and Solaris.
17558         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
17559         the function is not declared.
17560         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
17561         Simon Josefsson.
17562
17563 2010-04-24  Bruno Haible  <bruno@clisp.org>
17564
17565         Avoid a gcc warning.
17566         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
17567         of correct type for %08lx directive.
17568         Reported by Eric Blake.
17569
17570 2010-04-24  Bruno Haible  <bruno@clisp.org>
17571
17572         vasnprintf: Correct errno value in case of out-of-memory.
17573         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
17574         or sprintf. Use the errno value from SNPRINTF or sprintf.
17575         Reported by Ian Beckwith <ianb@erislabs.net>.
17576
17577 2010-04-24  Bruno Haible  <bruno@clisp.org>
17578
17579         ansi-c++-opt: Find correct compiler when cross-compiling.
17580         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
17581         AC_CHECK_PROGS.
17582         Reported by Simon Josefsson.
17583
17584 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
17585
17586         vc-list-files: Add support for subversion
17587         * build-aux/vc-list-files: Use "svn list" to generate the list of
17588         files controlled by subversion.
17589
17590 2010-04-23  Jim Meyering  <meyering@redhat.com>
17591
17592         vc-list-files tests: convert to use init.sh
17593         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
17594         path_prepend_.
17595         Use Exit, not exit.
17596         Use skip_ rather than open coding it.
17597         Remove trap set-up and compare definitions.
17598         * tests/test-vc-list-files-git.sh: Likewise.
17599         * modules/vc-list-files-tests (Files): Add tests/init.sh.
17600
17601 2010-04-22  Simon Josefsson  <simon@josefsson.org>
17602
17603         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
17604         backup files.
17605
17606 2010-04-21  Simon Josefsson  <simon@josefsson.org>
17607
17608         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
17609
17610 2010-04-20  Eric Blake  <eblake@redhat.com>
17611
17612         tests: be robust to ignored SIGPIPE
17613         * tests/test-select-in.sh: Consume all output.
17614         * tests/test-lseek.sh: Check correct exit status, while avoiding
17615         EPIPE.
17616
17617 2010-04-20  Simon Josefsson  <simon@josefsson.org>
17618             Bruno Haible  <bruno@clisp.org>
17619
17620         visibility: Don't use -fvisibility if it leads to a warning.
17621         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
17622         yes, don't pretend that visibility works if it leads to a warning.
17623         Reported by Mike Gran <spk121@yahoo.com>.
17624
17625 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
17626
17627         * build-aux/bootstrap: Use "git -h" for testing for supported options
17628         instead of "git --help".  The short-form option only shows a summary,
17629         and doesn't layout the full man page.  Grep for the full option name
17630         in the summary, too.
17631
17632 2010-04-19  Bruno Haible  <bruno@clisp.org>
17633
17634         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
17635         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
17636         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
17637         mention of RELOCATABLE_STRIP.
17638         Reported by Sylvain Beucler <beuc@beuc.net>.
17639
17640 2010-04-19  Bruno Haible  <bruno@clisp.org>
17641
17642         * lib/diffseq.h: Fix typo in comment.
17643         Reported by Eric Blake.
17644
17645 2010-04-19  Bruno Haible  <bruno@clisp.org>
17646
17647         ioctl: Move autoconf macro to a .m4 file.
17648         * m4/ioctl.m4: New file, extracted from modules/ioctl.
17649         * modules/ioctl (Files): Add it.
17650         (configure.ac): Simply invoke gl_FUNC_IOCTL.
17651         Reported by Ian Beckwith <ianb@erislabs.net>.
17652
17653 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
17654             Bruno Haible  <bruno@clisp.org>
17655
17656         diffseq: Accommodate use-case with abstract arrays.
17657         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
17658         is not defined.
17659         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
17660         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
17661
17662 2010-04-18  Bruno Haible  <bruno@clisp.org>
17663
17664         * doc/posix-headers/stdbool.texi: More precise wording.
17665
17666 2010-04-17  Jim Meyering  <meyering@redhat.com>
17667
17668         maint.mk: use gnu-style indentation in an embedded perl script
17669         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
17670         Rename variable: s/two/last_two_bytes/
17671
17672 2010-04-16  Eric Blake  <eblake@redhat.com>
17673
17674         test-stdbool: skip test that fails with Solaris CC
17675         * tests/test-stdbool.c (f): Skip test that causes compilation
17676         error under buggy C++ compiler.
17677         * lib/stdbool.in.h: Document the limitation.
17678         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
17679
17680         setenv: allow compilation with C++
17681         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
17682         register keyword.
17683
17684         stdint: allow test to pass with C++
17685         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
17686
17687         getopt: allow compilation with C++
17688         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
17689         struct.
17690         * lib/getopt.c (_getopt_internal_r): Use correct type.
17691         Reported by Dagobert Michelson, via Joel E. Denny.
17692
17693 2010-04-16  Bruno Haible  <bruno@clisp.org>
17694
17695         Override netdb.h always.
17696         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
17697         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
17698         Reported by Ludovic Courtès <ludo@gnu.org>.
17699
17700 2010-04-15  Bruno Haible  <bruno@clisp.org>
17701
17702         openpty: Fix mistake from 2010-03-21.
17703         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
17704         Reported by Simon Josefsson.
17705
17706 2010-04-15  Eric Blake  <eblake@redhat.com>
17707
17708         test-forkpty: fix expected signature
17709         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
17710         Reported by Simon Josefsson.
17711
17712 2010-04-15  Jim Meyering  <meyering@redhat.com>
17713
17714         maint.mk: texinfo_suffix_re_: correct the default regexp
17715         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
17716
17717         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
17718         make it configurable via texinfo_suffix_re_.
17719
17720 2010-04-14  Eric Blake  <eblake@redhat.com>
17721
17722         strtok_r: relax license to LGPLv2+
17723         * modules/strtok_r (License): Relax license.
17724         Reported by Matthias Bolte.
17725
17726 2010-04-14  Simon Josefsson  <simon@josefsson.org>
17727
17728         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
17729         version 1.4.4 by default instead of requiring the libgcrypt
17730         version used during build.  This makes it possible to use the
17731         application with older but still binary compatible libgcrypt
17732         versions.
17733
17734 2010-04-13  Eric Blake  <eblake@redhat.com>
17735
17736         getopt-gnu: match recent glibc fixes and posix ruling
17737         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
17738         '+' handling, when requesting extensions.
17739         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
17740         'W;' handling.
17741         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
17742         * doc/posix-functions/getopt.texi (getopt): Document this.
17743         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
17744         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
17745         Likewise.
17746
17747         getopt: merge bug fixes from glibc
17748         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
17749         diagnostics.  Honor '+:' correctly.  Reject ';'.
17750
17751         getopt-posix: detect MacOS bug
17752         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
17753         optind when missing a required argument.
17754         * doc/posix-functions/getopt.texi (getopt): Document the bug.
17755         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
17756         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
17757         Likewise.
17758
17759         getopt-posix: avoid spurious failure on Solaris
17760         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
17761         an indicator that setting optind=1 is sufficient for reset.
17762
17763         getopt-posix: avoid spurious failure on FreeBSD
17764         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
17765         in POSIX mode, since the m4 test uses it.
17766
17767         gnulib-tool: silence warning on BSD sh
17768         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
17769
17770 2010-04-13  Jim Meyering  <meyering@redhat.com>
17771
17772         doc: users.txt: GNU patch now uses gnulib
17773         * users.txt: Add patch.
17774
17775 2010-04-12  Jim Meyering  <meyering@redhat.com>
17776
17777         maint.mk: generate more concise timing data for syntax-check rules
17778         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
17779         " done" from each line that reports a syntax-check test duration.
17780
17781 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
17782
17783         git-version-gen: use "git update-index..." rather than "git status"
17784         * build-aux/git-version-gen: Use git update-index --refresh, not
17785         "git status".  With some versions of git, "git status" would fail
17786         to update the index and result in an unwarranted "-dirty" suffix.
17787
17788 2010-04-11  Jim Meyering  <meyering@redhat.com>
17789
17790         openat: correct formatting (no semantic change)
17791         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
17792         Suggested by Bruno Haible.
17793
17794 2010-04-11  Bruno Haible  <bruno@clisp.org>
17795
17796         Stricter declaration checking in testdirs.
17797         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
17798         If for_tests is true, augment AM_CPPFLAGS to define
17799         GNULIB_STRICT_CHECKING.
17800         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
17801         GNULIB_STRICT_CHECKING is defined, verify that the function is
17802         declared.
17803
17804 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
17805             Bruno Haible  <bruno@clisp.org>
17806
17807         libunistring: Improve configure output.
17808         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
17809         Don't say "consider installing GNU libunistring" when checking again
17810         with libiconv.
17811
17812 2010-04-11  Bruno Haible  <bruno@clisp.org>
17813
17814         libunistring: Correct value of $LTLIBUNISTRING.
17815         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
17816         correct the value of $LTLIBUNISTRING.
17817
17818 2010-04-11  Bruno Haible  <bruno@clisp.org>
17819
17820         havelib: Add static libraries to LIBS in the right order.
17821         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
17822         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
17823
17824 2010-04-11  Bruno Haible  <bruno@clisp.org>
17825
17826         libunistring: Detect libunistring also when it depends on libiconv.
17827         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
17828         the second AC_LIB_HAVE_LINKFLAGS invocation.
17829
17830 2010-04-11  James Youngman  <jay@gnu.org>
17831
17832         close-stream: declare local scalars to be "const"
17833         * lib/close-stream.c (close_stream): Make boolean variables const
17834         to document the fact that we set but do not change them.
17835
17836 2010-04-11  Bruno Haible  <bruno@clisp.org>
17837
17838         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
17839
17840 2010-04-11  Jim Meyering  <meyering@redhat.com>
17841
17842         maint.mk: don't include dist-check.mk
17843         * top/maint.mk: Remove bogus include directive.
17844
17845         maint.mk: improve empty-line-at-EOF check
17846         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
17847         solution, rather than tail+Perl-based one.  The latter would read
17848         a few kilobytes from the end of each file, and did not handle empty
17849         files properly.
17850
17851         maint.mk: print the elapsed time for each syntax-check rule
17852         * top/maint.mk (sc_m_rules_): Save start time in a file.
17853         (sc_z_rules_): New rules: remove temp file and print elapsed time.
17854         (local-check): Interpose the .z rules
17855
17856 2010-04-11  Jim Meyering  <meyering@redhat.com>
17857
17858         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
17859         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
17860         empty file with one that ends in an empty line.
17861
17862 2010-04-10  Bruno Haible  <bruno@clisp.org>
17863
17864         mkdir: Make it work on mingw64.
17865         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
17866         * lib/mkdir.c: Update comment.
17867         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
17868
17869 2010-04-10  Bruno Haible  <bruno@clisp.org>
17870
17871         Don't override improved macro from newer autoconf.
17872         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
17873         autoconf >= 2.62.
17874         Reported by Joel E. Denny <jdenny@clemson.edu>.
17875
17876 2010-04-10  Jim Meyering  <meyering@redhat.com>
17877
17878         maint.mk: new syntax-check rule: prohibit empty lines at end of file
17879         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
17880
17881         maint.mk: correct a diagnostic
17882         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
17883         in diagnostic; now use $prohibit.
17884
17885 2010-04-10  Bruno Haible  <address@hidden>
17886
17887         fchownat: Fix a C++ test error on Solaris 8.
17888         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
17889         the function does not exist.
17890
17891 2010-04-10  Bruno Haible  <bruno@clisp.org>
17892
17893         vasnprintf: Add more tests.
17894         * tests/test-vasnprintf-posix.c: Include <errno.h>.
17895         (test_function): Test converting an invalid wide string.
17896
17897         vasnprintf: Correct handling of unconvertible wide string arguments.
17898         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
17899         VASNPRINTF.
17900         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
17901         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
17902         smaller than the expected maximum need for the directive. Set errno to
17903         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
17904         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
17905         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
17906         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
17907         * modules/vasnprintf (Files): Add m4/printf.m4.
17908         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
17909
17910 2010-04-10  Bruno Haible  <bruno@clisp.org>
17911
17912         vasnprintf: Fix crash in %ls directive.
17913         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
17914         string is passed as argument to %ls, with no precision and no width.
17915         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
17916
17917 2010-04-10  Bruno Haible  <bruno@clisp.org>
17918
17919         vasnprintf: Fix multiple test failures on mingw.
17920         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
17921         _snprintf, or snwprintf, not _snwprintf.
17922
17923 2010-04-10  Bruno Haible  <bruno@clisp.org>
17924
17925         write: Fix a C++ test error on mingw.
17926         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
17927
17928 2010-04-10  Bruno Haible  <bruno@clisp.org>
17929
17930         vasnprintf test: Reduce code duplication.
17931         * tests/test-vasnprintf.c (test_function): New function, extracted from
17932         test_vasnprintf.
17933         (test_vasnprintf, test_asnprintf): Invoke it.
17934
17935 2010-04-10  Bruno Haible  <bruno@clisp.org>
17936
17937         strnlen: Fix warning in C++ mode on MacOS X.
17938         * lib/string.in.h (strnlen): Use the modern idiom.
17939         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
17940         defining strnlen as a macro already in <config.h>.
17941         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
17942         REPLACE_STRNLEN.
17943         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
17944         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
17945
17946 2010-04-08  James Youngman  <jay@gnu.org>
17947
17948         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
17949         the example.
17950
17951 2010-04-09  Jim Meyering  <meyering@redhat.com>
17952
17953         maint.mk: print better diagnostic when there is no $(_hv_file)
17954         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
17955         announce that when $(_hv_file) (aka help-version) does not exist.
17956
17957         init.sh: run tr in the "C" locale to avoid multibyte interpretation
17958         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
17959         not try to interpret its random input bytes.  Jarno Rajahalme reported
17960         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
17961         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
17962         (mktempd_): Likewise, just in case.
17963
17964         ftruncate: add two years to projected module removal date: 2012
17965         * m4/ftruncate.m4: Adjust comments.
17966
17967         ftruncate: mark module as obsolete; even MinGW provides it, now
17968         * modules/ftruncate (Status): Obsolete.
17969         (Notice): Say that.
17970         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
17971         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
17972
17973 2010-04-08  Bruno Haible  <bruno@clisp.org>
17974
17975         Fix side effects from tests-related modules.
17976         * modules/dprintf-posix (Comment): New section.
17977         * modules/fprintf-posix (Comment): Likewise.
17978         * modules/obstack-printf-posix (Comment): Likewise.
17979         * modules/printf-posix (Comment): Likewise.
17980         * modules/snprintf-posix (Comment): Likewise.
17981         * modules/sprintf-posix (Comment): Likewise.
17982         * modules/vasnprintf-posix (Comment): Likewise.
17983         * modules/vasprintf-posix (Comment): Likewise.
17984         * modules/vdprintf-posix (Comment): Likewise.
17985         * modules/vfprintf-posix (Comment): Likewise.
17986         * modules/vprintf-posix (Comment): Likewise.
17987         * modules/vsnprintf-posix (Comment): Likewise.
17988         * modules/vsprintf-posix (Comment): Likewise.
17989         * modules/xprintf-posix (Comment): Likewise.
17990         * modules/xvasprintf-posix (Comment): Likewise.
17991         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
17992         * modules/floorf-tests (Depends-on): Likewise.
17993         * modules/round-tests (Depends-on): Likewise.
17994         * modules/roundf-tests (Depends-on): Likewise.
17995         * modules/trunc-tests (Depends-on): Likewise.
17996         * modules/truncf-tests (Depends-on): Likewise.
17997         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
17998         'fprintf-posix' module is not present.
17999         * tests/test-floorf2.c (check): Likewise.
18000         * tests/test-trunc2.c (check): Likewise.
18001         * tests/test-truncf2.c (check): Likewise.
18002         * tests/test-round2.c (equal): Likewise.
18003         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
18004
18005 2010-04-07  Karl Berry  <karl@gnu.org>
18006
18007         * config/srclist.txt,
18008         * config/srclistvars.sh,
18009         * config/srclist-update: doc fixes.
18010
18011 2010-04-07  Jim Meyering  <meyering@redhat.com>
18012
18013         maint.mk: add a PATH crosschecking syntax-check rule
18014         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
18015         Useful if you use a test like the one in help-version (coreutils,
18016         diffutils, grep, gzip) that ensures $(VERSION) matches what is
18017         printed by prog --version.
18018
18019 2010-04-06  Bruno Haible  <bruno@clisp.org>
18020
18021         Fix link error on mingw.
18022         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
18023         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
18024
18025 2010-04-06  Bruno Haible  <bruno@clisp.org>
18026
18027         Assume rmdir exists.
18028         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
18029
18030 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
18031
18032         doc: update users.txt
18033         * users.txt: Add gcal.
18034
18035 2010-04-06  Jim Meyering  <meyering@redhat.com>
18036
18037         init.sh: simply unset TMPDIR rather than risking env -i
18038         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
18039         although it probably works fine on all Unix-based systems, some
18040         systems (Cygwin?) cannot tolerate a totally cleared environment.
18041         Suggestion from Eric Blake.
18042
18043 2010-04-06  Jim Meyering  <meyering@redhat.com>
18044
18045         init.sh: portability fix: use env's POSIX-specified -i option not -u
18046         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
18047         than unportable env -u.  Solaris 5.11's env lacks support for -u.
18048
18049 2010-04-05  Bruno Haible  <bruno@clisp.org>
18050
18051         btowc: Work around Cygwin 1.7.2 bug.
18052         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
18053         does not map NUL to 0.
18054         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
18055
18056 2010-04-05  Bruno Haible  <bruno@clisp.org>
18057
18058         Make the multithread modules work on Cygwin 1.7.2.
18059         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
18060         imported symbols can be declared weak, so that it returns "no" on
18061         Cygwin 1.7.2.
18062
18063 2010-04-05  Bruno Haible  <bruno@clisp.org>
18064
18065         Use the module 'strncat'.
18066         * modules/unistr/u8-strncat (Depends-on): Add strncat.
18067
18068         Tests for module 'strncat'.
18069         * modules/strncat-tests: New file.
18070         * tests/test-strncat.c: New file.
18071
18072         New module 'strncat'.
18073         * lib/string.in.h (strncat): New declaration.
18074         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
18075         * m4/strncat.m4: New file, based on m4/memchr.m4.
18076         * modules/strncat: New file.
18077         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
18078         is declared.
18079         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
18080         REPLACE_STRNCAT.
18081         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
18082         REPLACE_STRNCAT.
18083         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
18084         module.
18085         * tests/test-string-c++.cc: Check signature of strncat.
18086
18087 2010-04-05  Jim Meyering  <meyering@redhat.com>
18088
18089         xstrtoumax-tests: convert to use init.sh
18090         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
18091         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
18092         Use Exit, not exit.
18093         Remove uses of $EXEEXT and "./" to run a program in the current dir.
18094
18095         xstrtoimax-tests: convert to use init.sh
18096         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
18097         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
18098         Use Exit, not exit.
18099         Remove uses of $EXEEXT and "./" to run a program in the current dir.
18100
18101 2010-04-05  Bruno Haible  <bruno@clisp.org>
18102
18103         sys_socket: Avoid #define replacements in C++ mode.
18104         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
18105         warning to the function if possible, rather than #defining the symbol
18106         to a dysfunctional alias.
18107
18108 2010-04-05  Bruno Haible  <bruno@clisp.org>
18109
18110         fseeko: Fix C++ test error on mingw.
18111         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
18112         gl_FUNC_FSEEKO.
18113         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
18114         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
18115         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
18116         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
18117
18118 2010-04-05  Bruno Haible  <bruno@clisp.org>
18119
18120         duplocale: Improve test output.
18121         * tests/test-duplocale.c (main): Print reason for skipped test.
18122
18123 2010-04-05  Bruno Haible  <bruno@clisp.org>
18124
18125         Assume rmdir exists.
18126         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
18127         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
18128
18129 2010-04-05  Bruno Haible  <bruno@clisp.org>
18130
18131         Fix link error on Solaris 8 with cc.
18132         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
18133
18134 2010-04-05  Bruno Haible  <bruno@clisp.org>
18135
18136         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
18137         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
18138
18139 2010-04-05  Bruno Haible  <bruno@clisp.org>
18140
18141         vasprintf: Update documentation.
18142         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
18143
18144 2010-04-05  Bruno Haible  <bruno@clisp.org>
18145
18146         ptsname: Improve test.
18147         * tests/test-ptsname.c (main): Also try the various master names of BSD
18148         systems.
18149
18150 2010-04-05  Bruno Haible  <bruno@clisp.org>
18151
18152         memchr: Avoid a possible C++ test error.
18153         * lib/string.in.h (memchr): Provide declaration if function is missing.
18154         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
18155         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
18156         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
18157         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
18158
18159 2010-04-05  Bruno Haible  <bruno@clisp.org>
18160
18161         strtok_r: Improve idiom.
18162         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
18163         AC_LIBOBJ is used.
18164
18165 2010-04-05  Bruno Haible  <bruno@clisp.org>
18166
18167         strdup: Improve idiom.
18168         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
18169         AC_LIBOBJ is used.
18170         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
18171         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
18172         when AC_LIBOBJ is used.
18173
18174 2010-04-05  Bruno Haible  <bruno@clisp.org>
18175
18176         mbsinit, mbrtowc, wcrtomb: Improve idioms.
18177         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
18178         don't set REPLACE_MBSINIT to 1.
18179         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
18180         don't set REPLACE_MBRTOWC to 1.
18181         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
18182         exist, don't set REPLACE_MBSRTOWCS to 1.
18183         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
18184         exist, don't set REPLACE_MBSNRTOWCS to 1.
18185         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
18186         don't set REPLACE_WCRTOMB to 1.
18187         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
18188         exist, don't set REPLACE_WCSRTOMBS to 1.
18189         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
18190         exist, don't set REPLACE_WCSNRTOMBS to 1.
18191
18192 2010-04-05  Bruno Haible  <bruno@clisp.org>
18193
18194         ldexpl: Improve idiom.
18195         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
18196         make sure to set HAVE_DECL_LDEXPL to 0.
18197
18198 2010-04-05  Jim Meyering  <meyering@redhat.com>
18199
18200         xstrtol-tests: convert to use init.sh
18201         * modules/xstrtol-tests (Files): Add tests/init.sh.
18202         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
18203         Use Exit, not exit.
18204         Remove uses of $EXEEXT and "./" to run a program in the current dir.
18205
18206         atexit-tests: convert to use init.sh
18207         * modules/atexit-tests (Files): Add tests/init.sh.
18208         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
18209         Use Exit, not exit.
18210         Remove uses of $EXEEXT and "./" to run a program in the current dir.
18211
18212         init.sh: fix typo
18213         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
18214
18215         init.sh: make it easier for a test script to write to the tty, ...
18216         when using automake's parallel-tests mode.
18217         * tests/init.sh (stderr_fileno_): Define overridable variable.
18218         (warn_): New function, to use it.
18219         (fail_, skip_, framework_failure_): Use warn_.
18220
18221 2010-04-04  Bruno Haible  <bruno@clisp.org>
18222
18223         btowc: Avoid warning.
18224         * lib/btowc.c: Include <stdlib.h>.
18225         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
18226
18227 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
18228             Bruno Haible  <bruno@clisp.org>
18229
18230         wchar: Port to NetBSD 1.5.
18231         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
18232         * lib/wctype.in.h (WEOF): Likewise.
18233
18234 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
18235             Bruno Haible  <bruno@clisp.org>
18236
18237         Port extended stdio to NetBSD 1.5.
18238         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
18239         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
18240         older.
18241
18242 2010-04-04  Bruno Haible  <bruno@clisp.org>
18243
18244         string: Remove unused substitution.
18245         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
18246         HAVE_DECL_STRERROR.
18247         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
18248
18249 2010-04-04  Bruno Haible  <bruno@clisp.org>
18250
18251         strtod: Avoid a possible C++ test error.
18252         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
18253         set REPLACE_STRTOD.
18254
18255 2010-04-04  Bruno Haible  <bruno@clisp.org>
18256
18257         strerror: Update documentation.
18258         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
18259
18260 2010-04-04  Bruno Haible  <bruno@clisp.org>
18261
18262         stdio: Fix some C++ test errors on Solaris 8 with GCC.
18263         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
18264         _GL_CXXALIAS_SYS_CAST.
18265
18266 2010-04-04  Bruno Haible  <bruno@clisp.org>
18267
18268         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
18269         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
18270         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
18271         REPLACE_FREXPL to 1.
18272         * doc/posix-functions/frexpl.texi: Update documentation.
18273
18274 2010-04-04  Bruno Haible  <bruno@clisp.org>
18275
18276         math: Fix some C++ test errors on Solaris 8 and Cygwin.
18277         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
18278
18279 2010-04-04  Bruno Haible  <bruno@clisp.org>
18280
18281         Implement nanosleep for native Windows.
18282         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
18283
18284 2010-04-04  Bruno Haible  <bruno@clisp.org>
18285
18286         math: Fix some C++ test errors on Solaris 8.
18287         * lib/math.in.h (truncf, trunc): Use simpler idiom.
18288
18289 2010-04-04  Bruno Haible  <bruno@clisp.org>
18290
18291         math: Fix some C++ test errors on Cygwin.
18292         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
18293         truncl): Provide declaration if the system does not have it.
18294         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
18295         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
18296         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
18297         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
18298         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
18299         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
18300         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
18301         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
18302         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
18303         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
18304         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
18305         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
18306         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
18307         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
18308         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
18309         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
18310         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
18311         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
18312         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
18313         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
18314         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
18315         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
18316
18317 2010-04-04  Bruno Haible  <bruno@clisp.org>
18318
18319         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
18320         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
18321         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
18322         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
18323         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
18324         * m4/isinf.m4 (gl_ISINF): Likewise.
18325         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
18326
18327 2010-04-04  Bruno Haible  <bruno@clisp.org>
18328
18329         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
18330         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
18331
18332 2010-04-04  Bruno Haible  <bruno@clisp.org>
18333
18334         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
18335         * modules/tmpfile (configure.ac): Update.
18336
18337         tmpfile: Fix C++ test error on mingw.
18338         * lib/stdio.in.h (tmpfile): New declaration.
18339         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
18340         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
18341         * modules/tmpfile (Depends-on): Add stdio.
18342         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
18343         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
18344         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
18345         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
18346         REPLACE_TMPFILE.
18347         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
18348
18349 2010-04-04  Bruno Haible  <bruno@clisp.org>
18350
18351         ioctl: Fix C++ test error on mingw.
18352         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
18353         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
18354         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
18355
18356 2010-04-03  Bruno Haible  <bruno@clisp.org>
18357
18358         wcwidth: Fix C++ test error on mingw.
18359         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
18360         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
18361         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
18362
18363 2010-04-03  Bruno Haible  <bruno@clisp.org>
18364
18365         nanosleep: Fix C++ test error on mingw.
18366         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
18367         * lib/time.in.h (nanosleep): Use modern idiom.
18368         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
18369         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
18370         REPLACE_NANOSLEEP to 1.
18371         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
18372         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
18373
18374 2010-04-03  Bruno Haible  <bruno@clisp.org>
18375
18376         strptime: Fix C++ test error on mingw.
18377         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
18378         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
18379         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
18380         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
18381         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
18382         not REPLACE_STRPTIME.
18383         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
18384         REPLACE_STRPTIME.
18385
18386 2010-04-03  Bruno Haible  <bruno@clisp.org>
18387
18388         timegm: Fix C++ test error on mingw.
18389         * lib/time.in.h (timegm): Use modern idiom.
18390         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
18391         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
18392         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
18393         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
18394
18395 2010-04-03  Bruno Haible  <bruno@clisp.org>
18396
18397         timegm: Assume declaration if function exists.
18398         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
18399         if it exists. Don't clobber ac_cv_func_timegm.
18400
18401 2010-04-03  Bruno Haible  <bruno@clisp.org>
18402
18403         time_r: Fix C++ test error on mingw.
18404         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
18405         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
18406         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
18407         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
18408         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
18409
18410 2010-04-03  Bruno Haible  <bruno@clisp.org>
18411
18412         time_r: Minor updates.
18413         * modules/time_r (Description): Mention the provided functions.
18414         * lib/time_r.c: Don't include <string.h>.
18415         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
18416         * doc/posix-functions/localtime_r.texi: Likewise.
18417
18418 2010-04-03  Bruno Haible  <bruno@clisp.org>
18419
18420         time: Fix regression introduced on 2010-03-08.
18421         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
18422         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
18423
18424 2010-04-03  Jim Meyering  <meyering@redhat.com>
18425
18426         maint.mk: don't silently disable project-specific syntax-check rules
18427         * top/maint.mk (_prohibit_regexp): Define, to help people realize
18428         that they need to convert their project-specific syntax-check rules
18429         to use the new _sc_search_regexp.
18430
18431 2010-04-03  Bruno Haible  <bruno@clisp.org>
18432
18433         fchdir: Fix regression introduced on 2010-03-08.
18434         * lib/unistd.in.h (fchdir): Fix declaration.
18435         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
18436         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
18437         REPLACE_FCHDIR.
18438         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
18439         REPLACE_FCHDIR.
18440
18441 2010-04-03  Bruno Haible  <bruno@clisp.org>
18442
18443         getpagesize: Fix C++ test error on mingw.
18444         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
18445         system does not declare the function.
18446         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
18447         declared.
18448         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
18449         HAVE_DECL_GETPAGESIZE.
18450         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
18451
18452 2010-04-03  Bruno Haible  <bruno@clisp.org>
18453
18454         stdio: Make C++ tests work on mingw.
18455         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
18456         does not declare the function.
18457
18458 2010-04-03  Bruno Haible  <bruno@clisp.org>
18459
18460         ftello: Fix C++ test error on mingw.
18461         * lib/stdio.in.h (ftello): Use modern idiom.
18462         * lib/ftello.c (ftello): Renamed from rpl_ftello.
18463         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
18464         is missing and that it needs to be replaced.
18465         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
18466         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
18467         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
18468
18469 2010-04-03  Bruno Haible  <bruno@clisp.org>
18470
18471         fseeko: Fix C++ test error on mingw.
18472         * lib/stdio.in.h (fseeko): Use modern idiom.
18473         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
18474         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
18475         is missing and that it needs to be replaced.
18476         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
18477         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
18478         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
18479
18480 2010-04-03  Bruno Haible  <bruno@clisp.org>
18481
18482         mkstemp: Fix C++ test error on mingw.
18483         * lib/stdlib.in.h (mkstemp): Use modern idiom.
18484         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
18485         function is missing and that it needs to be replaced.
18486         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
18487         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
18488
18489 2010-04-03  Bruno Haible  <bruno@clisp.org>
18490
18491         stpncpy: Fix C++ test error on mingw.
18492         * lib/string.in.h (stpncpy): Use modern idiom.
18493         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
18494         function is missing and that it needs to be replaced.
18495         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
18496         REPLACE_STPNCPY.
18497         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
18498
18499 2010-04-03  Bruno Haible  <bruno@clisp.org>
18500
18501         sys_stat: Fix C++ test error on mingw.
18502         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
18503         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
18504
18505 2010-04-03  Bruno Haible  <bruno@clisp.org>
18506
18507         pty: Update doc.
18508         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
18509
18510 2010-04-03  Bruno Haible  <bruno@clisp.org>
18511
18512         unistd: Fix C++ test error on mingw.
18513         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
18514
18515 2010-04-03  Bruno Haible  <bruno@clisp.org>
18516
18517         Update doc regarding mingw.
18518         * doc/glibc-functions/openpty.texi: Update regarding mingw.
18519         * doc/glibc-functions/login_tty.texi: Likewise.
18520         * doc/glibc-functions/forkpty.texi: Likewise.
18521
18522 2010-04-03  Bruno Haible  <bruno@clisp.org>
18523
18524         stdlib: Avoid compilation failure of c-strtold on mingw.
18525         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
18526
18527 2010-04-03  Bruno Haible  <bruno@clisp.org>
18528
18529         locale: Make C++ tests work on Cygwin and mingw.
18530         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
18531         cannot provide the function.
18532         Reported by Simon Josefsson.
18533
18534 2010-04-03  Bruno Haible  <bruno@clisp.org>
18535
18536         localename: Port to MacOS X 10.6.
18537         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
18538         memory layout of the locales in MacOS X 10.6 as well.
18539         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
18540
18541 2010-04-02  Bruno Haible  <bruno@clisp.org>
18542
18543         gnulib-tool: Ensure that long-running tests are executed last.
18544         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
18545         running tests after the one for the other tests.
18546
18547 2010-04-02  Bruno Haible  <bruno@clisp.org>
18548
18549         gnulib-tool: Ensure the tests in the main directory are executed first.
18550         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
18551         start with the current directory.
18552
18553 2010-04-02  Bruno Haible  <bruno@clisp.org>
18554
18555         Tests for module 'havelib', moved here from GNU gettext.
18556         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
18557         modifications.
18558         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
18559         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
18560         with modifications.
18561         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
18562         modifications.
18563         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
18564         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
18565         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
18566         with modifications.
18567         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
18568         with modifications.
18569         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
18570         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
18571         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
18572         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
18573         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
18574         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
18575         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
18576         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
18577         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
18578         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
18579         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
18580         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
18581         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
18582         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
18583         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
18584         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
18585         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
18586         with modifications.
18587         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
18588         with modifications.
18589         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
18590         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
18591         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
18592         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
18593         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
18594         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
18595         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
18596         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
18597         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
18598         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
18599         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
18600         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
18601         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
18602         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
18603         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
18604         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
18605         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
18606         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
18607         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
18608         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
18609         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
18610         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
18611         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
18612         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
18613         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
18614         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
18615         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
18616         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
18617         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
18618         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
18619         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
18620         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
18621         * tests/havelib/rpathx/rpathx.c: New file, from
18622         gettext/autoconf-lib-link.
18623         * tests/havelib/rpathx/Makefile.am: New file, from
18624         gettext/autoconf-lib-link.
18625         * tests/havelib/rpathx/configure.ac: New file, from
18626         gettext/autoconf-lib-link with modifications.
18627         * tests/havelib/rpathy/rpathy.c: New file, from
18628         gettext/autoconf-lib-link.
18629         * tests/havelib/rpathy/Makefile.am: New file, from
18630         gettext/autoconf-lib-link.
18631         * tests/havelib/rpathy/configure.ac: New file, from
18632         gettext/autoconf-lib-link with modifications.
18633         * tests/havelib/rpathz/rpathz.c: New file, from
18634         gettext/autoconf-lib-link.
18635         * tests/havelib/rpathz/Makefile.am: New file, from
18636         gettext/autoconf-lib-link.
18637         * tests/havelib/rpathz/configure.ac: New file, from
18638         gettext/autoconf-lib-link with modifications.
18639         * tests/havelib/rpathlx/usex.c: New file, from
18640         gettext/autoconf-lib-link.
18641         * tests/havelib/rpathlx/Makefile.am: New file, from
18642         gettext/autoconf-lib-link.
18643         * tests/havelib/rpathlx/configure.ac: New file, from
18644         gettext/autoconf-lib-link with modifications.
18645         * tests/havelib/rpathly/usey.c: New file, from
18646         gettext/autoconf-lib-link.
18647         * tests/havelib/rpathly/Makefile.am: New file, from
18648         gettext/autoconf-lib-link.
18649         * tests/havelib/rpathly/configure.ac: New file, from
18650         gettext/autoconf-lib-link with modifications.
18651         * tests/havelib/rpathlz/usez.c: New file, from
18652         gettext/autoconf-lib-link.
18653         * tests/havelib/rpathlz/Makefile.am: New file, from
18654         gettext/autoconf-lib-link.
18655         * tests/havelib/rpathlz/configure.ac: New file, from
18656         gettext/autoconf-lib-link with modifications.
18657         * tests/havelib/rpathlyx/usey.c: New file, from
18658         gettext/autoconf-lib-link.
18659         * tests/havelib/rpathlyx/Makefile.am: New file, from
18660         gettext/autoconf-lib-link.
18661         * tests/havelib/rpathlyx/configure.ac: New file, from
18662         gettext/autoconf-lib-link with modifications.
18663         * tests/havelib/rpathlzyx/usez.c: New file, from
18664         gettext/autoconf-lib-link.
18665         * tests/havelib/rpathlzyx/Makefile.am: New file, from
18666         gettext/autoconf-lib-link.
18667         * tests/havelib/rpathlzyx/configure.ac: New file, from
18668         gettext/autoconf-lib-link with modifications.
18669         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
18670         with modifications.
18671
18672 2010-04-02  Bruno Haible  <bruno@clisp.org>
18673
18674         gnulib-tool: Create distributed built sources also for the tests.
18675         * gnulib-tool (func_create_testdir): Also generate distributed built
18676         sources in the tests directory.
18677
18678 2010-04-02  Bruno Haible  <bruno@clisp.org>
18679
18680         gnulib-tool: Obey user's environment variables.
18681         * gnulib-tool (func_create_testdir): When creating built sources,
18682         respect the environment variables for autoconf, automake, etc. given by
18683         the user.
18684
18685 2010-04-02  Bruno Haible  <bruno@clisp.org>
18686
18687         gnulib-tool: Provide the value of --m4-base to modules.
18688         * gnulib-tool (func_import, func_create_testdir): Emit a definition
18689         of gl_m4_base.
18690
18691 2010-04-02  Eric Blake  <eblake@redhat.com>
18692
18693         maint.mk: fix some fallout
18694         * NEWS: Document the incompatible change, and its effect on cfg.mk.
18695         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
18696
18697 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
18698
18699         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
18700         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
18701         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
18702         (sc_cast_of_x_alloc_return_value): Likewise.
18703         (sc_cast_of_alloca_return_value): Likewise.
18704         (sc_space_tab): Likewise.
18705         (sc_prohibit_atoi_atof): Likewise.
18706         (sc_prohibit_magic_number_exit): Likewise.
18707         (sc_error_exit_success): Likewise.
18708         (sc_file_system): Likewise.
18709         (sc_prohibit_have_config_h): Likewise.
18710         (sc_require_config_h): Likewise.
18711         (sc_prohibit_HAVE_MBRTOWC): Likewise.
18712         (sc_obsolete_symbols): Likewise.
18713         (sc_changelog): Likewise.
18714         (sc_program_name): Likewise.
18715         (sc_the_the): Likewise.
18716         (sc_trailing_blank): Likewise.
18717         (sc_two_space_separator_in_usage): Likewise.
18718         (sc_useless_cpp_parens): Likewise.
18719         (sc_GPL_version): Likewise.
18720         (sc_GFDL_version): Likewise.
18721         (sc_texinfo_acronym): Likewise.
18722         (sc_prohibit_cvs_keyword): Likewise.
18723         (sc_prohibit_stat_st_blocks): Likewise.
18724         (sc_prohibit_S_IS_definition): Likewise.
18725         (sc_redundant_const): Likewise.
18726         (sc_makefile_TAB_only_indentation): Likewise.
18727         (sc_m4_quote_check): Likewise.
18728         (sc_makefile_path_separator_check): Likewise.
18729         (sc_copyright_check): Likewise.
18730         (sc_Wundef_boolean): Likewise.
18731         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
18732
18733         maint.mk: match 0 or more whitespace-before-function-call '('
18734         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
18735         that have zero or two-and-more spaces between the function name
18736         and the open parenthesis.
18737         (sc_error_message_warn_fatal): Likewise.
18738         (sc_error_message_uppercase): Likewise.
18739         (sc_error_message_period): Likewise.
18740
18741 2010-03-31  Eric Blake  <eblake@redhat.com>
18742
18743         maint.mk: check for [ as well as test
18744         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
18745         Based on a libvirt report by Matthias Bolte.
18746
18747         gnumakefile: don't squelch _version output
18748         * top/GNUmakefile (_version): Create one-shot dependency rather
18749         than using $(shell) when version must be regenerated.
18750         (_autoreconf): Run verbosely, by default.
18751
18752         sys_time: avoid compiler warnings
18753         * lib/sys_time.in.h (includes): Ensure gcc pragma is
18754         unconditional, fixing regression from 2010-03-29.
18755         Reported by Simon Josefsson.
18756
18757 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
18758
18759         maint.mk: s/_header_without_use/_sc_header_without_use/
18760         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
18761         (sc_prohibit_assert_without_use): Use the new name.
18762         (sc_prohibit_close_stream_without_use): Likewise.
18763         (sc_prohibit_getopt_without_use): Likewise.
18764         (sc_prohibit_quotearg_without_use): Likewise.
18765         (sc_prohibit_quote_without_use): Likewise.
18766         (sc_prohibit_long_options_without_use): Likewise.
18767         (sc_prohibit_inttostr_without_use): Likewise.
18768         (sc_prohibit_ignore_value_without_use): Likewise.
18769         (sc_prohibit_error_without_use): Likewise.
18770         (sc_prohibit_xalloc_without_use): Likewise.
18771         (sc_prohibit_hash_without_use): Likewise.
18772         (sc_prohibit_hash_pjw_without_use): Likewise.
18773         (sc_prohibit_safe_read_without_use): Likewise.
18774         (sc_prohibit_argmatch_without_use): Likewise.
18775         (sc_prohibit_canonicalize_without_use): Likewise.
18776         (sc_prohibit_root_dev_ino_without_use): Likewise.
18777         (sc_prohibit_openat_without_use): Likewise.
18778         (sc_prohibit_c_ctype_without_use): Likewise.
18779         (sc_prohibit_signal_without_use): Likewise.
18780         (sc_prohibit_intprops_without_use): Likewise.
18781
18782 2010-03-30  Eric Blake  <eblake@redhat.com>
18783
18784         maint: improve module indicators
18785         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
18786         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
18787         columns, and avoid extra macro expansion.
18788
18789         fdopendir: work around FreeBSD bug
18790         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
18791         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
18792         * modules/dirent (Makefile.am): Substitute it.
18793         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
18794         declaration.
18795         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
18796         fix.
18797         Reported by Christian Weisgerber <naddy@mips.inka.de>.
18798
18799 2010-03-29  Bruno Haible  <bruno@clisp.org>
18800
18801         Emit #pragma system_header after the inclusion guard, not before.
18802         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
18803         guard that spans the entire file, not before. This enables an
18804         optimization in GCC's preprocessor.
18805         * lib/ctype.in.h: Likewise.
18806         * lib/dirent.in.h: Likewise.
18807         * lib/errno.in.h: Likewise.
18808         * lib/float.in.h: Likewise.
18809         * lib/getopt.in.h: Likewise.
18810         * lib/iconv.in.h: Likewise.
18811         * lib/langinfo.in.h: Likewise.
18812         * lib/locale.in.h: Likewise.
18813         * lib/math.in.h: Likewise.
18814         * lib/netdb.in.h: Likewise.
18815         * lib/netinet_in.in.h: Likewise.
18816         * lib/pty.in.h: Likewise.
18817         * lib/sched.in.h: Likewise.
18818         * lib/se-selinux.in.h: Likewise.
18819         * lib/search.in.h: Likewise.
18820         * lib/spawn.in.h: Likewise.
18821         * lib/stdarg.in.h: Likewise.
18822         * lib/stdint.in.h: Likewise.
18823         * lib/string.in.h: Likewise.
18824         * lib/strings.in.h: Likewise.
18825         * lib/sys_file.in.h: Likewise.
18826         * lib/sys_ioctl.in.h: Likewise.
18827         * lib/sys_time.in.h: Likewise.
18828         * lib/sys_times.in.h: Likewise.
18829         * lib/sys_utsname.in.h: Likewise.
18830         * lib/sys_wait.in.h: Likewise.
18831         * lib/sysexits.in.h: Likewise.
18832         * lib/wctype.in.h: Likewise.
18833
18834 2010-03-28  James Youngman  <jay@gnu.org>
18835
18836         save-cwd: don't leak a file descriptor when the caller execs.
18837         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
18838         saved file descriptor.
18839         * modules/save-cwd (Depends-on): Depend on cloexec.
18840
18841 2010-03-29  Bruno Haible  <bruno@clisp.org>
18842
18843         Remove vestiges of fts-lgpl module.
18844         * lib/fts_.h: Assume GNULIB_FTS is 1.
18845         * lib/fts.c: Likewise.
18846         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
18847
18848 2010-03-28  Bruno Haible  <bruno@clisp.org>
18849
18850         Fix definition of tests witness macro.
18851         * gnulib-tool (func_import): Fix definition of witness macro.
18852
18853 2010-03-28  Bruno Haible  <bruno@clisp.org>
18854
18855         Fix ioctl's protoype on glibc systems.
18856         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
18857         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
18858         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
18859         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
18860         signature. If not, arrange to replace the ioctl function.
18861         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
18862         REPLACE_IOCTL.
18863         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
18864         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
18865         Reported by Ludovic Courtès <ludo@gnu.org>.
18866
18867 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
18868
18869         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
18870         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
18871         made it so grep -r --include=GLOB* ... did not work.
18872
18873 2010-03-26  Jim Meyering  <meyering@redhat.com>
18874             Eric Blake  <eblake@redhat.com>
18875
18876         maint.mk: prohibit use of test's -o and -a operators
18877         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
18878
18879 2010-03-28  Bruno Haible  <bruno@clisp.org>
18880
18881         Remove unused GNULIB_XYZ macro definitions.
18882         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
18883         invocation.
18884
18885 2010-03-28  Bruno Haible  <bruno@clisp.org>
18886
18887         Mark privileged tests modules.
18888         * modules/idpriv-drop-tests (Status): New section.
18889         * modules/idpriv-droptemp-tests (Status): New section.
18890
18891 2010-03-28  Bruno Haible  <bruno@clisp.org>
18892
18893         Split C++ tests into separate tests modules.
18894         * modules/dirent-c++-tests: New file, extracted from
18895         modules/dirent-tests.
18896         * modules/dirent-tests: Depend on it.
18897         * modules/fcntl-h-c++-tests: New file, extracted from
18898         modules/fcntl-h-tests.
18899         * modules/fcntl-h-tests: Depend on it.
18900         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
18901         * modules/glob-tests: Depend on it.
18902         * modules/iconv-h-c++-tests: New file, extracted from
18903         modules/iconv-h-tests.
18904         * modules/iconv-h-tests: Depend on it.
18905         * modules/langinfo-c++-tests: New file, extracted from
18906         modules/langinfo-tests.
18907         * modules/langinfo-tests: Depend on it.
18908         * modules/locale-c++-tests: New file, extracted from
18909         modules/locale-tests.
18910         * modules/locale-tests: Depend on it.
18911         * modules/math-c++-tests: New file, extracted from modules/math-tests.
18912         * modules/math-tests: Depend on it.
18913         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
18914         * modules/pty-tests: Depend on it.
18915         * modules/search-c++-tests: New file, extracted from
18916         modules/search-tests.
18917         * modules/search-tests: Depend on it.
18918         * modules/signal-c++-tests: New file, extracted from
18919         modules/signal-tests.
18920         * modules/signal-tests: Depend on it.
18921         * modules/spawn-c++-tests: New file, extracted from
18922         modules/spawn-tests.
18923         * modules/spawn-tests: Depend on it.
18924         * modules/stdio-c++-tests: New file, extracted from
18925         modules/stdio-tests.
18926         * modules/stdio-tests: Depend on it.
18927         * modules/stdlib-c++-tests: New file, extracted from
18928         modules/stdlib-tests.
18929         * modules/stdlib-tests: Depend on it.
18930         * modules/string-c++-tests: New file, extracted from
18931         modules/string-tests.
18932         * modules/string-tests: Depend on it.
18933         * modules/sys_ioctl-c++-tests: New file, extracted from
18934         modules/sys_ioctl-tests.
18935         * modules/sys_ioctl-tests: Depend on it.
18936         * modules/sys_select-c++-tests: New file, extracted from
18937         modules/sys_select-tests.
18938         * modules/sys_select-tests: Depend on it.
18939         * modules/sys_socket-c++-tests: New file, extracted from
18940         modules/sys_socket-tests.
18941         * modules/sys_socket-tests: Depend on it.
18942         * modules/sys_stat-c++-tests: New file, extracted from
18943         modules/sys_stat-tests.
18944         * modules/sys_stat-tests: Depend on it.
18945         * modules/sys_time-c++-tests: New file, extracted from
18946         modules/sys_time-tests.
18947         * modules/sys_time-tests: Depend on it.
18948         * modules/time-c++-tests: New file, extracted from modules/time-tests.
18949         * modules/time-tests: Depend on it.
18950         * modules/unistd-c++-tests: New file, extracted from
18951         modules/unistd-tests.
18952         * modules/unistd-tests: Depend on it.
18953         * modules/wchar-c++-tests: New file, extracted from
18954         modules/wchar-tests.
18955         * modules/wchar-tests: Depend on it.
18956         * modules/wctype-c++-tests: New file, extracted from
18957         modules/wctype-tests.
18958         * modules/wctype-tests: Depend on it.
18959         Reported by Simon Josefsson.
18960
18961 2010-03-28  Bruno Haible  <bruno@clisp.org>
18962
18963         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
18964         * gnulib-tool (func_exists_module): New function, extracted from
18965         func_verify_module.
18966         (func_verify_module): Use it.
18967         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
18968         'foo' only if 'foo' exists.
18969         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
18970         module.
18971
18972 2010-03-28  Bruno Haible  <bruno@clisp.org>
18973
18974         gnulib-tool: Add support for special categories of tests.
18975         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
18976         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
18977         (func_usage): Document them.
18978         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
18979         inc_unportable_tests, inc_all_tests): New variables.
18980         (func_acceptable): Consider these variables.
18981         (func_modules_transitive_closure): Make it work when the 'Status' field
18982         consists of multiple words.
18983         (func_import): Store and restore the values of inc_cxx_tests,
18984         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
18985         inc_all_tests in gnulib-comp.m4.
18986         (func_create_testdir): Set inc_all_tests to true.
18987         * doc/gnulib.texi (Extra tests modules): New section.
18988         Suggested by Jim Meyering.
18989
18990 2010-03-28  Bruno Haible  <bruno@clisp.org>
18991
18992         ansi-c++-opt: Allow turning off the C++ build by default.
18993         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
18994         gl_CXX_CHOICE_DEFAULT_NO is defined.
18995         Requested by Eric Blake.
18996
18997 2010-03-28  Bruno Haible  <bruno@clisp.org>
18998
18999         unistd: Avoid #define replacements in C++ mode.
19000         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
19001         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
19002         setsockopt, shutdown, select): In C++, attach a warning to the function
19003         if possible, rather than #defining the symbol to a dysfunctional alias.
19004         Reported by John W. Eaton <jwe@gnu.org>.
19005
19006 2010-03-28  Bruno Haible  <bruno@clisp.org>
19007
19008         Fix link errors on mingw.
19009         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
19010         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
19011         $(LIBSOCKET).
19012         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
19013         $(LIBSOCKET).
19014
19015 2010-03-28  Bruno Haible  <bruno@clisp.org>
19016             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19017
19018         lib-ignore: Determine different options for different compilers.
19019         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
19020         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
19021         Add comments.
19022         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
19023         * NEWS: Mention the change.
19024
19025 2010-03-27  Bruno Haible  <bruno@clisp.org>
19026
19027         Remove unused GNULIB_XYZ macro definitions.
19028         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
19029         * modules/fseek (configure.ac): Likewise.
19030         * modules/ioctl (configure.ac): Likewise.
19031         * modules/open (configure.ac): Likewise.
19032         * modules/stdlib-safer (configure.ac): Likewise.
19033
19034 2010-03-27  Bruno Haible  <bruno@clisp.org>
19035
19036         Add a remark about certain modules.
19037         * modules/malloc (Comment): New section.
19038         * modules/realloc (Comment): Likewise.
19039         * modules/sigpipe (Comment): Likewise.
19040
19041 2010-03-27  Bruno Haible  <bruno@clisp.org>
19042
19043         Resolve conflict between the two kinds of module indicators.
19044         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
19045         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
19046         * modules/canonicalize (configure.ac): Invoke
19047         gl_MODULE_INDICATOR_FOR_TESTS.
19048         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
19049         GNULIB_XYZ.
19050         * tests/test-dirent-c++.cc: Likewise.
19051         * tests/test-dirent-safer.c: Likewise.
19052         * tests/test-dup2.c: Likewise.
19053         * tests/test-fchdir.c: Likewise.
19054         * tests/test-fcntl-h-c++.cc: Likewise.
19055         * tests/test-getopt.c: Likewise.
19056         * tests/test-getopt.h: Likewise.
19057         * tests/test-langinfo-c++.cc: Likewise.
19058         * tests/test-locale-c++.cc: Likewise.
19059         * tests/test-math-c++.cc: Likewise.
19060         * tests/test-pty-c++.cc: Likewise.
19061         * tests/test-search-c++.cc: Likewise.
19062         * tests/test-signal-c++.cc: Likewise.
19063         * tests/test-spawn-c++.cc: Likewise.
19064         * tests/test-stdio-c++.cc: Likewise.
19065         * tests/test-stdlib-c++.cc: Likewise.
19066         * tests/test-string-c++.cc: Likewise.
19067         * tests/test-sys_ioctl-c++.cc: Likewise.
19068         * tests/test-sys_select-c++.cc: Likewise.
19069         * tests/test-sys_socket-c++.cc: Likewise.
19070         * tests/test-sys_stat-c++.cc: Likewise.
19071         * tests/test-sys_time-c++.cc: Likewise.
19072         * tests/test-time-c++.cc: Likewise.
19073         * tests/test-unistd-c++.cc: Likewise.
19074         * tests/test-wchar-c++.cc: Likewise.
19075         * tests/uninorm/test-u8-nfc.c: Likewise.
19076         * tests/uninorm/test-u8-nfd.c: Likewise.
19077         * tests/uninorm/test-u8-nfkc.c: Likewise.
19078         * tests/uninorm/test-u8-nfkd.c: Likewise.
19079         * tests/uninorm/test-u16-nfc.c: Likewise.
19080         * tests/uninorm/test-u16-nfd.c: Likewise.
19081         * tests/uninorm/test-u16-nfkc.c: Likewise.
19082         * tests/uninorm/test-u16-nfkd.c: Likewise.
19083         * tests/uninorm/test-u32-nfc.c: Likewise.
19084         * tests/uninorm/test-u32-nfc-big.c: Likewise.
19085         * tests/uninorm/test-u32-nfd.c: Likewise.
19086         * tests/uninorm/test-u32-nfd-big.c: Likewise.
19087         * tests/uninorm/test-u32-nfkc.c: Likewise.
19088         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
19089         * tests/uninorm/test-u32-nfkd.c: Likewise.
19090         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
19091         * tests/uninorm/test-u32-normalize-big.c: Likewise.
19092
19093 2010-03-27  Bruno Haible  <bruno@clisp.org>
19094
19095         Distinguish two kinds of module indicators.
19096         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
19097         gl_MODULE_INDICATOR.
19098         (gl_MODULE_INDICATOR): New macro.
19099         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
19100         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
19101         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
19102         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
19103         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
19104         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
19105         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
19106         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
19107         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
19108         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
19109         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
19110         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
19111         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
19112         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
19113         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
19114         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
19115         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
19116         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
19117         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
19118         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
19119         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
19120         * modules/cloexec (configure.ac): Likewise.
19121         * modules/getopt-gnu (configure.ac): Likewise.
19122         * modules/uninorm/u8-normalize (configure.ac): Likewise.
19123         * modules/uninorm/u16-normalize (configure.ac): Likewise.
19124         * modules/uninorm/u32-normalize (configure.ac): Likewise.
19125         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
19126
19127 2010-03-27  Bruno Haible  <bruno@clisp.org>
19128
19129         New module description field 'Comment'.
19130         * gnulib-tool: New option --extract-comment.
19131         (func_usage): Document it.
19132         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
19133         (func_get_comment): New function.
19134         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
19135
19136 2010-03-27  Bruno Haible  <bruno@clisp.org>
19137
19138         Addendum to 2010-02-07 commit.
19139         * gnulib-tool (func_usage): Document --extract-applicability option.
19140
19141 2010-03-27  Bruno Haible  <bruno@clisp.org>
19142
19143         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
19144         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
19145         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
19146         rather than link errors.
19147
19148 2010-03-27  Bruno Haible  <bruno@clisp.org>
19149
19150         Avoid side effects from tests-related modules on the compilation of lib.
19151         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
19152         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
19153         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
19154         parameter. Emit into AM_CPPFLAGS a definition of the designated C
19155         macro.
19156         (func_import): Define a witness macro. Assign it a value that depends
19157         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
19158         tests-related modules.
19159         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
19160         Reported by Jim Meyering.
19161
19162 2010-03-27  Bruno Haible  <bruno@clisp.org>
19163
19164         Factorize common .m4 code.
19165         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
19166         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
19167         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
19168         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
19169         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
19170         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
19171         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
19172         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
19173         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
19174         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
19175         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
19176         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
19177         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
19178         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
19179         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
19180         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
19181         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
19182         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
19183         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
19184         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
19185         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
19186         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
19187         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
19188         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
19189         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
19190         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
19191         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
19192         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
19193         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
19194         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
19195         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
19196         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
19197
19198 2010-03-27  Bruno Haible  <bruno@clisp.org>
19199
19200         Fix a compilation error on Cygwin with g++ >= 4.3.
19201         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
19202         if it is undefined or if we alias it to chmod.
19203         (lstat): Don't warn about the use of this function if it is undefined
19204         or if we alias it to stat.
19205         Reported by Simon Josefsson.
19206
19207 2010-03-27  Bruno Haible  <bruno@clisp.org>
19208
19209         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
19210         * modules/getlogin (configure.ac): Update.
19211
19212         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
19213         * modules/getlogin_r (configure.ac): Update.
19214
19215         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
19216         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
19217         * modules/inet_ntop (configure.ac): Update.
19218
19219         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
19220         * modules/inet_pton (configure.ac): Update.
19221
19222         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
19223         * modules/mbslen (configure.ac): Update.
19224
19225         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
19226         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
19227         * modules/forkpty (configure.ac): Update.
19228         * modules/openpty (configure.ac): Update.
19229
19230 2010-03-26  Simon Josefsson  <simon@josefsson.org>
19231
19232         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
19233         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
19234
19235 2010-03-25  Eric Blake  <eblake@redhat.com>
19236
19237         maint: use pragma consistently across replacement headers
19238         * lib/ctype.in.h (system_header): Hoist for consistent placement.
19239         * lib/dirent.in.h (system_header): Likewise.
19240         * lib/errno.in.h (system_header): Likewise.
19241         * lib/float.in.h (system_header): Likewise.
19242         * lib/getopt.in.h (system_header): Likewise.
19243         * lib/iconv.in.h (system_header): Likewise.
19244         * lib/inttypes.in.h (system_header): Likewise.
19245         * lib/langinfo.in.h (system_header): Likewise.
19246         * lib/locale.in.h (system_header): Likewise.
19247         * lib/math.in.h (system_header): Likewise.
19248         * lib/netdb.in.h (system_header): Likewise.
19249         * lib/netinet_in.in.h (system_header): Likewise.
19250         * lib/pty.in.h (system_header): Likewise.
19251         * lib/sched.in.h (system_header): Likewise.
19252         * lib/se-selinux.in.h (system_header): Likewise.
19253         * lib/search.in.h (system_header): Likewise.
19254         * lib/spawn.in.h (system_header): Likewise.
19255         * lib/stdarg.in.h (system_header): Likewise.
19256         * lib/stdint.in.h (system_header): Likewise.
19257         * lib/string.in.h (system_header): Likewise.
19258         * lib/strings.in.h (system_header): Likewise.
19259         * lib/sys_file.in.h (system_header): Likewise.
19260         * lib/sys_ioctl.in.h (system_header): Likewise.
19261         * lib/sys_socket.in.h (system_header): Likewise.
19262         * lib/sys_times.in.h (system_header): Likewise.
19263         * lib/sys_utsname.in.h (system_header): Likewise.
19264         * lib/sys_wait.in.h (system_header): Likewise.
19265         * lib/sysexits.in.h (system_header): Likewise.
19266         * lib/unistd.in.h (system_header): Likewise.
19267         * lib/wctype.in.h (system_header): Likewise.
19268
19269         arpa/inet: fix mingw compilation warning
19270         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
19271         Reported by Matthew Bolte.
19272
19273 2010-03-25  Bruno Haible  <bruno@clisp.org>
19274
19275         Avoid collision between gnulib wrapper and libintl wrapper.
19276         * lib/printf.c (printf): Don't define if a printf wrapper is already
19277         defined in intl/printf.c.
19278         Reported by Michel Boaventura <michel@michelboaventura.com>.
19279
19280 2010-03-25  Bruno Haible  <bruno@clisp.org>
19281
19282         Use ANSI C.
19283         * lib/readutmp.h (getutent): Provide ANSI C prototype.
19284
19285 2010-03-25  Bruno Haible  <bruno@clisp.org>
19286
19287         Minor formatting changes.
19288         * lib/acosl.c: Insert space before function argument list.
19289         * lib/argz.c: Likewise.
19290         * lib/asinl.c: Likewise.
19291         * lib/expl.c: Likewise.
19292         * lib/gen-uni-tables.c: Likewise.
19293         * lib/gettext.h: Likewise.
19294         * lib/glthread/lock.h: Likewise.
19295         * lib/tanl.c: Likewise.
19296         * lib/uniname/uniname.c: Likewise.
19297         * tests/test-idpriv-drop.c: Likewise.
19298         * tests/test-idpriv-droptemp.c: Likewise.
19299         * tests/test-lock.c: Likewise.
19300         * tests/test-tls.c: Likewise.
19301         * lib/argp-help.c: Insert space before function-like macro argument
19302         list.
19303         * lib/memcmp.c: Likewise.
19304         * tests/test-base64.c: Likewise.
19305         * lib/localename.c: Insert space before sizeof's argument list.
19306         * lib/safe-alloc.h: Likewise.
19307         * lib/file-set.h: Insert space before macro argument list.
19308         * tests/test-argp.c: Likewise.
19309         * lib/argp-namefrob.h: Insert space before function parameter list.
19310         * lib/getaddrinfo.c: Likewise.
19311         * lib/netdb.in.h: Likewise.
19312         * lib/parse-duration.h: Likewise.
19313         * lib/parse-duration.c: Likewise.
19314         * lib/poll.c: Likewise.
19315         * lib/select.c: Likewise.
19316         * lib/trim.h: Likewise.
19317         * tests/test-usleep.c: Likewise.
19318         * lib/ldexpl.c: Insert space before function parameter list and before
19319         function argument list.
19320         * lib/logl.c: Likewise.
19321         * lib/sqrtl.c: Likewise.
19322         * lib/trim.c: Likewise.
19323         * lib/cosl.c: Use GNU style indentation. Insert space before function
19324         argument list.
19325         * lib/sinl.c: Likewise.
19326         * lib/tsearch.c: Insert space after 'for'.
19327         Reported by Jim Meyering.
19328
19329 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
19330
19331         * maint.mk (sc_Wundef_boolean): Check for the presence of the
19332         config header before grepping, as it's not present before
19333         autoreconf/configure are run.  Reported by Simon Josefsson.
19334
19335 2010-03-23  Bruno Haible  <bruno@clisp.org>
19336
19337         pt_chown: Make it work with automake < 1.11.
19338         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
19339         Reported by Simon Josefsson.
19340
19341 2010-03-23  Bruno Haible  <bruno@clisp.org>
19342
19343         pt_chown: Don't depend on GPLed modules.
19344         * lib/pt_chown.c: Don't include idpriv.h.
19345         (main): Don't drop privileges.
19346         * modules/pt_chown (Depends-on): Remove idpriv-drop.
19347         Reported by Simon Josefsson.
19348
19349 2010-03-24  Simon Josefsson  <simon@josefsson.org>
19350
19351         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
19352         suggestions from karl@freefriends.org (Karl Berry).
19353
19354 2010-03-22  Eric Blake  <eblake@redhat.com>
19355
19356         gethostname: further tweaks
19357         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
19358         are overriding gethostname.
19359         Suggested by Bruno Haible.
19360
19361 2010-03-21  Bruno Haible  <bruno@clisp.org>
19362
19363         Fix comments.
19364         * lib/forkpty.c (rpl_forkpty): Fix comment.
19365         * lib/openpty.c (rpl_openpty): Likewise.
19366         Reported by Eric Blake.
19367
19368 2010-03-22  Eric Blake  <eblake@redhat.com>
19369
19370         gethostname: fix build on mingw
19371         * lib/unistd.in.h (includes): Work around fact that mingw
19372         <winsock2.h> re-includes <unistd.h>, by avoiding any
19373         redeclarations if we are being included by <winsock2.h>.
19374         Reported by Matthias Bolte.
19375
19376 2010-03-21  Bruno Haible  <bruno@clisp.org>
19377
19378         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
19379         * lib/forkpty.c (forkpty): New replacement function, from glibc with
19380         modifications.
19381         * lib/pty.in.h (forkpty): Update declaration. Add comments.
19382         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
19383         provide the replacement.
19384         * modules/forkpty (Depends-on): Add openpty, login_tty.
19385         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
19386         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
19387         * doc/glibc-functions/forkpty.texi: More supported platforms.
19388         * config/srclist.txt: Add forkpty.c (commented).
19389
19390 2010-03-21  Bruno Haible  <bruno@clisp.org>
19391
19392         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
19393         (Makefile.am): Verify that PTY_LIB is defined.
19394
19395         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
19396
19397 2010-03-21  Bruno Haible  <bruno@clisp.org>
19398
19399         Tests for module 'login_tty'.
19400         * modules/login_tty-tests: New file.
19401         * tests/test-login_tty.c: New file.
19402
19403         New module 'login_tty'.
19404         * lib/login_tty.c: New file.
19405         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
19406         * modules/login_tty: New file.
19407         * doc/glibc-functions/login_tty.texi: Mention the new module.
19408
19409 2010-03-21  Bruno Haible  <bruno@clisp.org>
19410
19411         login_tty: Documentation.
19412         * doc/glibc-functions/login_tty.texi: New file.
19413         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
19414
19415 2010-03-21  Bruno Haible  <bruno@clisp.org>
19416
19417         pty: Consistent macro naming.
19418         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
19419         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
19420         * modules/pty (configure.ac): Update.
19421
19422 2010-03-21  Bruno Haible  <bruno@clisp.org>
19423
19424         Tests for openpty: Make stricter.
19425         * tests/test-openpty.c (main): Add test of canonical processing and
19426         erase.
19427         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
19428
19429         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
19430         * lib/openpty.c (openpty): New replacement function.
19431         * lib/pty.in.h: Include <termios.h>.
19432         (openpty): Update declaration. Add comments.
19433         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
19434         is not declared, arrange to provide the replacement. Check for _getpty
19435         and posix_openpt.
19436         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
19437         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
19438         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
19439         * modules/pty-tests (test_pty_c___LDADD): New variable.
19440         * doc/glibc-functions/openpty.texi: More supported platforms.
19441
19442 2010-03-21  Bruno Haible  <bruno@clisp.org>
19443
19444         setenv: Tweaks.
19445         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
19446         the test program.
19447         * doc/posix-functions/setenv.texi: Update platforms list.
19448
19449 2010-03-21  Bruno Haible  <bruno@clisp.org>
19450
19451         New module 'unlockpt'.
19452         * lib/unlockpt.c: New file, from glibc with modifications.
19453         * m4/unlockpt.m4: New file.
19454         * modules/unlockpt: New file.
19455         * lib/stdlib.in.h (unlockpt): New declaration.
19456         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
19457         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
19458         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
19459         HAVE_UNLOCKPT.
19460         * doc/posix-functions/unlockpt.texi: Mention the new module.
19461         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
19462         * config/srclist.txt: Add unlockpt.c (commented).
19463
19464 2010-03-21  Jim Meyering  <meyering@redhat.com>
19465
19466         maint.mk: prohibit inclusion of "intprops.h" without use
19467         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
19468
19469 2010-03-21  Bruno Haible  <bruno@clisp.org>
19470
19471         New module 'grantpt'.
19472         * lib/grantpt.c: New file, from glibc with modifications.
19473         * m4/grantpt.m4: New file.
19474         * modules/grantpt: New file.
19475         * lib/stdlib.in.h (grantpt): New declaration.
19476         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
19477         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
19478         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
19479         HAVE_GRANTPT.
19480         * doc/posix-functions/grantpt.texi: Mention the new module.
19481         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
19482         * config/srclist.txt: Add grantpt.c (commented).
19483
19484 2010-03-21  Bruno Haible  <bruno@clisp.org>
19485
19486         New module 'pt_chown'.
19487         * lib/pt_chown.c: New file, from glibc with modifications.
19488         * lib/pty-private.h: New file, from glibc with modifications.
19489         * modules/pt_chown: New file.
19490         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
19491
19492 2010-03-21  Bruno Haible  <bruno@clisp.org>
19493
19494         Tests for module 'ptsname'.
19495         * modules/ptsname-tests: New file.
19496         * tests/test-ptsname.c: New file.
19497
19498         New module 'ptsname'.
19499         * lib/ptsname.c: New file, from glibc with modifications.
19500         * m4/ptsname.m4: New file.
19501         * modules/ptsname: New file.
19502         * lib/stdlib.in.h (ptsname): New declaration.
19503         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
19504         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
19505         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
19506         HAVE_PTSNAME.
19507         * doc/posix-functions/ptsname.texi: Mention the new module.
19508         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
19509         * config/srclist.txt: Add ptsname.c (commented).
19510
19511 2010-03-21  Bruno Haible  <bruno@clisp.org>
19512
19513         Tests for module 'ttyname_r'.
19514         * modules/ttyname_r-tests: New file.
19515         * tests/test-ttyname_r.c: New file.
19516
19517         New module 'ttyname_r'.
19518         * lib/ttyname_r.c: New file.
19519         * m4/ttyname_r.m4: New file.
19520         * modules/ttyname_r: New file.
19521         * lib/unistd.in.h (ttyname_r): New declaration.
19522         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
19523         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
19524         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
19525         HAVE_TTYNAME_R.
19526         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
19527         * doc/posix-functions/ttyname_r.texi: Mention the new module.
19528
19529 2010-03-20  Bruno Haible  <bruno@clisp.org>
19530
19531         signal: Undefine macro definitions in C++ mode.
19532         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
19533         sigfillset): Undefine macro definitions from the system header in C++
19534         mode.
19535         Reported by John W. Eaton <jwe@gnu.org>.
19536
19537 2010-03-20  Bruno Haible  <bruno@clisp.org>
19538
19539         Ensure no #include statements inside extern "C" { ... }.
19540         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
19541         contain #include statements.
19542         * lib/time.in.h: Likewise.
19543
19544 2010-03-20  Bruno Haible  <bruno@clisp.org>
19545
19546         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
19547         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
19548         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
19549         Reported by John W. Eaton <jwe@gnu.org>.
19550
19551 2010-03-20  Bruno Haible  <bruno@clisp.org>
19552
19553         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
19554         Reported by Jim Meyering.
19555
19556 2010-03-20  Bruno Haible  <bruno@clisp.org>
19557
19558         pipe: Set errno upon failure.
19559         * lib/pipe.h: Specify that when -1 is returned, errno is set.
19560         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
19561         errno value in error message.
19562
19563 2010-03-20  Bruno Haible  <bruno@clisp.org>
19564             Jim Meyering  <meyering@redhat.com>
19565
19566         lchown: Avoid "unused variable" warning.
19567         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
19568
19569 2010-03-20  Bruno Haible  <bruno@clisp.org>
19570
19571         Work around unlink() bug on MacOS X 10.5.6.
19572         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
19573         attempting to unlink a parent directory.
19574         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
19575         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
19576         activate for the replacement function.
19577         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
19578
19579 2010-03-20  Bruno Haible  <bruno@clisp.org>
19580
19581         Fix link errors on Solaris 8.
19582         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
19583         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
19584
19585 2010-03-19  Jim Meyering  <meyering@redhat.com>
19586
19587         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
19588         The _LIBC implementation of build_range_exp correctly honors the
19589         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
19590         However, the non-_LIBC implementation would ignore that syntax-bit
19591         flag and return REG_ERANGE unconditionally.
19592         This change makes it honor that flag.
19593         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
19594         Make two pointer parameters "const".
19595         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
19596         (parse_bracket_exp): Update caller.
19597
19598         regex.m4: correct the reversed range endpoint ([b-a]) test
19599         * m4/regex.m4: When requiring that [b-a] evoke failure,
19600         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
19601         test pass once again for x86-based systems.
19602
19603 2010-03-19  Bruno Haible  <bruno@clisp.org>
19604
19605         scandir: Fix link error on Solaris 8.
19606         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
19607         macros.
19608
19609 2010-03-19  Bruno Haible  <bruno@clisp.org>
19610
19611         getusershell: Fix documentation.
19612         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
19613         module.
19614         * doc/glibc-functions/setusershell.texi: Likewise.
19615
19616         getusershell: Provide declaration, missing on Solaris 9.
19617         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
19618         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
19619         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
19620         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
19621         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
19622         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
19623         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
19624         HAVE_GETUSERSHELL.
19625         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
19626
19627 2010-03-19  Bruno Haible  <bruno@clisp.org>
19628
19629         wctype: Provide iswblank function.
19630         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
19631         exists and is fine.
19632         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
19633         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
19634         * tests/test-wctype.c (main): Re-enable the iswblank tests.
19635         * doc/posix-functions/iswblank.texi: Update.
19636
19637 2010-03-19  Bruno Haible  <bruno@clisp.org>
19638
19639         Tests of module 'pty' in C++ mode.
19640         * modules/pty-tests: New file.
19641         * tests/test-pty-c++.cc: New file.
19642         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
19643
19644 2010-03-19  Eric Blake  <eblake@redhat.com>
19645
19646         logb: fix documentation
19647         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
19648         1.5 declaration bug.
19649
19650         forkpty, openpty: prefer glibc's const-safe prototype
19651         * lib/forkpty.c (rpl_forkpty): New file.
19652         * lib/openpty.c (rpl_openpty): Likewise.
19653         * modules/forkpty (Files): Distribute it.
19654         * modules/openpty (Files): Likewise.
19655         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
19656         check...
19657         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
19658         replacement for for non-const BSD signature.
19659         * modules/pty (Makefile.am): Substitute witnesses.
19660         * lib/pty.in.h (forkpty, openpty): Declare replacements.
19661         * tests/test-forkpty.c: Update signature check.
19662         * tests/test-openpty.c: Likewise.
19663         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
19664         * doc/glibc-functions/openpty.texi (openpty): Likewise.
19665
19666         forkpty, openpty: split functions into new modules
19667         * modules/pty (Makefile.am): Substitute new witnesses.
19668         (Libraries): Move library detection...
19669         * modules/forkpty: ...into new module.
19670         * modules/openpty: Another new module.
19671         * modules/pty-tests: Rename and split...
19672         * modules/forkpty-tests: ...to this...
19673         * modules/openpty-tests: ...and this.
19674         * tests/test-pty.c: Rename and split...
19675         * tests/test-forkpty.c: ...to this...
19676         * tests/test-openpty.c: ...and this.
19677         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
19678         (gl_PTY): Split library searching...
19679         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
19680         (gl_FORKPTY, gl_OPENPTY): New macros.
19681         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
19682         * NEWS: Mention the split.
19683         * MODULES.html.sh (Misc): Document the modules.
19684         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
19685         * doc/glibc-functions/openpty.texi (openpty): Likewise.
19686
19687         pty: improve replacement header
19688         * lib/pty.in.h: New file.
19689         * modules/pty (Files): Ship it.
19690         (Makefile.am): Always build replacement.
19691         * m4/pty.m4: Rename...
19692         * m4/pty_h.m4: ...to this.
19693         (gl_PTY): Modernize setting of witness macros; update check of
19694         forkpty to take proper advantage of cache.
19695         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
19696
19697         getopt: avoid compiler warning
19698         * lib/getopt.c (attribute_hidden): Remove unused macro.
19699
19700 2010-03-18  Bruno Haible  <bruno@clisp.org>
19701
19702         Fix link errors on Solaris 8.
19703         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
19704         * modules/search-tests (test_search_c___LDADD): Likewise.
19705         * modules/signal-tests (test_signal_c___LDADD): Likewise.
19706         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
19707         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
19708         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
19709         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
19710         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
19711         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
19712
19713 2010-03-18  Bruno Haible  <bruno@clisp.org>
19714
19715         Fix bug introduced on 2010-03-14.
19716         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
19717         (gl_SPAWN_H): Require it.
19718         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
19719         Reported by Simon Josefsson.
19720
19721 2010-03-18  Bruno Haible  <bruno@clisp.org>
19722
19723         Fix typo introduced on 2009-12-31.
19724         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
19725         posix_spawn_file_actions_adddup2.
19726
19727 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
19728         and Eric Blake  <eblake@redhat.com>
19729
19730         test-vc-list-files-git: make more robust
19731         * tests/test-vc-list-files-git.sh: Unset problematic environment
19732         variables.  Chain commands together.
19733
19734 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
19735
19736         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
19737         `AC_CHECK_DECL' invocation.
19738
19739 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
19740
19741         * lib/inttostr.c (inttostr): Make sure the invocation of verify
19742         appears before executable statements. Suggested by Petr Sumbera
19743         <Petr.Sumbera@Sun.COM>.
19744
19745 2010-03-14  Bruno Haible  <bruno@clisp.org>
19746
19747         * tests/test-flock.c (test_exclusive): Comment out a test that causes
19748         portability problems. Instead use a simpler test.
19749         (main): Check that invalid arguments are rejected only on Linux.
19750
19751 2010-03-14  Bruno Haible  <bruno@clisp.org>
19752
19753         Fix bug introduced on 2009-12-31.
19754         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
19755         gl_PREREQ_SYS_H_WINSOCK2 always.
19756         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
19757         SYS_SOCKET_H variable.
19758         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
19759         Update comments.
19760         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
19761         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
19762         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
19763         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
19764         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
19765
19766 2010-03-14  Bruno Haible  <bruno@clisp.org>
19767
19768         Fix values returned by sinl, cosl.
19769         * lib/trigl.h: Add specification comments.
19770         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
19771         that combines the values from the precomputed table with the values of
19772         the Chebyshev polynomials.
19773
19774 2010-03-14  Bruno Haible  <bruno@clisp.org>
19775
19776         Fix compilation error when modules 'posix_spawn[p]' are not used.
19777         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
19778         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
19779
19780 2010-03-14  Bruno Haible  <bruno@clisp.org>
19781
19782         Fix compilation error on mingw when module 'time_r' is not used.
19783         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
19784         is 1.
19785         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
19786         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
19787         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
19788         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
19789
19790 2010-03-14  Bruno Haible  <bruno@clisp.org>
19791
19792         Fix compilation error with Sun C.
19793         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
19794         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
19795         instead of GCC specific ULONG_LONG_MAX.
19796         * lib/xstrtoll.c: Likewise.
19797         * lib/xstrtoull.c: Likewise.
19798
19799 2010-03-13  Bruno Haible  <bruno@clisp.org>
19800
19801         Allow the user to disable C++ code and tests.
19802         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
19803         (gl_PROG_ANSI_CXX): Require it.
19804
19805 2010-03-13  Bruno Haible  <bruno@clisp.org>
19806
19807         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
19808         cases.
19809
19810 2010-03-13  Bruno Haible  <bruno@clisp.org>
19811
19812         Test that gnulib does not break the standard C++ headers.
19813         * tests/test-locale-c++2.cc: New file.
19814         * modules/locale-tests (Files): Add it.
19815         (Makefile.am): Compile it for test-locale-c++.
19816         * tests/test-math-c++2.cc: New file.
19817         * modules/math-tests (Files): Add it.
19818         (Makefile.am): Compile it for test-math-c++.
19819         * tests/test-signal-c++2.cc: New file.
19820         * modules/signal-tests (Files): Add it.
19821         (Makefile.am): Compile it for test-signal-c++.
19822         * tests/test-stdio-c++2.cc: New file.
19823         * modules/stdio-tests (Files): Add it.
19824         (Makefile.am): Compile it for test-stdio-c++.
19825         * tests/test-stdlib-c++2.cc: New file.
19826         * modules/stdlib-tests (Files): Add it.
19827         (Makefile.am): Compile it for test-stdlib-c++.
19828         * tests/test-string-c++2.cc: New file.
19829         * modules/string-tests (Files): Add it.
19830         (Makefile.am): Compile it for test-string-c++.
19831         * tests/test-time-c++2.cc: New file.
19832         * modules/time-tests (Files): Add it.
19833         (Makefile.am): Compile it for test-time-c++.
19834         Reported by John W. Eaton <jwe@gnu.org>.
19835
19836 2010-03-13  Bruno Haible  <bruno@clisp.org>
19837
19838         * gnulib-tool (func_usage): Clarify which options are available for
19839         --create-testdir and --create-megatestdir.
19840
19841 2010-03-13  Bruno Haible  <bruno@clisp.org>
19842
19843         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
19844         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
19845         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
19846         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
19847         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
19848         when appropriate.
19849         Reported by Jim Meyering.
19850
19851 2010-03-12  Simon Josefsson  <simon@josefsson.org>
19852
19853         * gnulib-tool (func_import): Explain origin of code.
19854
19855 2010-03-12  Bruno Haible  <bruno@clisp.org>
19856
19857         Fix problem with automake's definition of CXXLINK.
19858         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
19859         Reported by Simon Josefsson and Ludovic Courtès.
19860
19861 2010-03-12  Bruno Haible  <bruno@clisp.org>
19862
19863         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
19864         stable releases.
19865
19866 2010-03-11  Bruno Haible  <bruno@clisp.org>
19867
19868         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
19869         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
19870         whether the system provides one variant or multiple variants of the
19871         function.
19872         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
19873         C++ compilers.
19874         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
19875         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
19876         Reported by Jim Meyering.
19877
19878 2010-03-09  Simon Josefsson  <simon@josefsson.org>
19879
19880         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
19881
19882 2010-03-08  Bruno Haible  <bruno@clisp.org>
19883
19884         gnulib-tool: Add support for --libtool in --create-testdir.
19885         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
19886         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
19887
19888 2010-03-08  Eric Blake  <eblake@redhat.com>
19889
19890         gnulib-tool.texi: mention possibility of git submodule
19891         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
19892         submodules.
19893         * doc/.gitignore: Ignore another generated file.
19894
19895 2010-03-08  Karl Berry  <karl@gnu.org>
19896
19897         * doc/gnulib-tool.texi (VCS Issues): Mention third option
19898         of committing gnulib files while skipping others.
19899
19900 2010-03-07  Bruno Haible  <bruno@clisp.org>
19901
19902         Tests of module 'wctype' in C++ mode.
19903         * tests/test-wctype-c++.cc: New file.
19904         * modules/wctype-tests (Files): Add it and tests/signature.h.
19905         (Depends-on): Add ansi-c++-opt.
19906         (Makefile.am): Arrange to compile and run test-wctype-c++.
19907
19908         Tests of module 'wchar' in C++ mode.
19909         * tests/test-wchar-c++.cc: New file.
19910         * modules/wchar-tests (Files): Add it and tests/signature.h.
19911         (Depends-on): Add ansi-c++-opt.
19912         (Makefile.am): Arrange to compile and run test-wchar-c++.
19913         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
19914         gl_MODULE_INDICATOR.
19915
19916         Tests of module 'unistd' in C++ mode.
19917         * tests/test-unistd-c++.cc: New file.
19918         * modules/unistd-tests (Files): Add it and tests/signature.h.
19919         (Depends-on): Add ansi-c++-opt.
19920         (Makefile.am): Arrange to compile and run test-unistd-c++.
19921         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
19922         gl_MODULE_INDICATOR.
19923
19924         Tests of module 'time' in C++ mode.
19925         * tests/test-time-c++.cc: New file.
19926         * modules/time-tests (Files): Add it and tests/signature.h.
19927         (Depends-on): Add ansi-c++-opt.
19928         (Makefile.am): Arrange to compile and run test-time-c++.
19929         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
19930
19931         Tests of module 'sys_time' in C++ mode.
19932         * tests/test-sys_time-c++.cc: New file.
19933         * modules/sys_time-tests (Files): Add it and tests/signature.h.
19934         (Depends-on): Add ansi-c++-opt.
19935         (Makefile.am): Arrange to compile and run test-sys_time-c++.
19936         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
19937         gl_MODULE_INDICATOR.
19938
19939         Tests of module 'sys_stat' in C++ mode.
19940         * tests/test-sys_stat-c++.cc: New file.
19941         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
19942         (Depends-on): Add ansi-c++-opt.
19943         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
19944         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
19945         gl_MODULE_INDICATOR.
19946
19947         Tests of module 'sys_socket' in C++ mode.
19948         * tests/test-sys_socket-c++.cc: New file.
19949         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
19950         (Depends-on): Add ansi-c++-opt.
19951         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
19952         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
19953         gl_MODULE_INDICATOR.
19954
19955         Tests of module 'sys_select' in C++ mode.
19956         * tests/test-sys_select-c++.cc: New file.
19957         * modules/sys_select-tests (Files): Add it and tests/signature.h.
19958         (Depends-on): Add ansi-c++-opt.
19959         (Makefile.am): Arrange to compile and run test-sys_select-c++.
19960         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
19961         gl_MODULE_INDICATOR.
19962
19963         Tests of module 'sys_ioctl' in C++ mode.
19964         * tests/test-sys_ioctl-c++.cc: New file.
19965         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
19966         (Depends-on): Add ansi-c++-opt.
19967         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
19968         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
19969         gl_MODULE_INDICATOR.
19970
19971         Tests of module 'string' in C++ mode.
19972         * tests/test-string-c++.cc: New file.
19973         * modules/string-tests (Files): Add it and tests/signature.h.
19974         (Depends-on): Add ansi-c++-opt.
19975         (Makefile.am): Arrange to compile and run test-string-c++.
19976         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
19977         gl_MODULE_INDICATOR.
19978
19979         Tests of module 'stdlib' in C++ mode.
19980         * tests/test-stdlib-c++.cc: New file.
19981         * modules/stdlib-tests (Files): Add it and tests/signature.h.
19982         (Depends-on): Add ansi-c++-opt.
19983         (Makefile.am): Arrange to compile and run test-stdlib-c++.
19984         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
19985         gl_MODULE_INDICATOR.
19986
19987         Tests of module 'stdio' in C++ mode.
19988         * tests/test-stdio-c++.cc: New file.
19989         * modules/stdio-tests (Files): Add it and tests/signature.h.
19990         (Depends-on): Add ansi-c++-opt.
19991         (Makefile.am): Arrange to compile and run test-stdio-c++.
19992         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
19993         gl_MODULE_INDICATOR.
19994
19995         Tests of module 'spawn' in C++ mode.
19996         * tests/test-spawn-c++.cc: New file.
19997         * modules/spawn-tests (Files): Add it and tests/signature.h.
19998         (Depends-on): Add ansi-c++-opt.
19999         (Makefile.am): Arrange to compile and run test-spawn-c++.
20000         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
20001         gl_MODULE_INDICATOR.
20002
20003         Tests of module 'signal' in C++ mode.
20004         * tests/test-signal-c++.cc: New file.
20005         * modules/signal-tests (Files): Add it and tests/signature.h.
20006         (Depends-on): Add ansi-c++-opt.
20007         (Makefile.am): Arrange to compile and run test-signal-c++.
20008         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
20009         gl_MODULE_INDICATOR.
20010
20011         Tests of module 'search' in C++ mode.
20012         * tests/test-search-c++.cc: New file.
20013         * modules/search-tests (Files): Add it and tests/signature.h.
20014         (Depends-on): Add ansi-c++-opt.
20015         (Makefile.am): Arrange to compile and run test-search-c++.
20016         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
20017         gl_MODULE_INDICATOR.
20018
20019         Tests of module 'math' in C++ mode.
20020         * tests/test-math-c++.cc: New file.
20021         * modules/math-tests (Files): Add it and tests/signature.h.
20022         (Depends-on): Add ansi-c++-opt.
20023         (Makefile.am): Arrange to compile and run test-math-c++.
20024         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
20025
20026         Tests of module 'locale' in C++ mode.
20027         * tests/test-locale-c++.cc: New file.
20028         * modules/locale-tests (Files): Add it and tests/signature.h.
20029         (Depends-on): Add ansi-c++-opt.
20030         (Makefile.am): Arrange to compile and run test-locale-c++.
20031         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
20032         gl_MODULE_INDICATOR.
20033
20034         Tests of module 'langinfo' in C++ mode.
20035         * tests/test-langinfo-c++.cc: New file.
20036         * modules/langinfo-tests (Files): Add it and tests/signature.h.
20037         (Depends-on): Add ansi-c++-opt.
20038         (Makefile.am): Arrange to compile and run test-langinfo-c++.
20039         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
20040         gl_MODULE_INDICATOR.
20041
20042         Tests of module 'iconv-h' in C++ mode.
20043         * tests/test-iconv-h-c++.cc: New file.
20044         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
20045         (Depends-on): Add ansi-c++-opt.
20046         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
20047
20048         Tests of module 'glob' in C++ mode.
20049         * tests/test-glob-c++.cc: New file.
20050         * modules/glob-tests (Files): Add it.
20051         (Depends-on): Add ansi-c++-opt.
20052         (Makefile.am): Arrange to compile and run test-glob-c++.
20053
20054         Tests of module 'fcntl-h' in C++ mode.
20055         * tests/test-fcntl-h-c++.cc: New file.
20056         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
20057         (Depends-on): Add ansi-c++-opt.
20058         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
20059         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
20060         gl_MODULE_INDICATOR.
20061
20062         Tests of module 'dirent' in C++ mode.
20063         * tests/test-dirent-c++.cc: New file.
20064         * modules/dirent-tests (Files): Add it and tests/signature.h.
20065         (Depends-on): Add ansi-c++-opt.
20066         (Makefile.am): Arrange to compile and run test-dirent-c++.
20067         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
20068         gl_MODULE_INDICATOR.
20069
20070         New module 'ansi-c++-opt'.
20071         * modules/ansi-c++-opt: New file.
20072         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
20073
20074         Document C++ namespace mode.
20075         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
20076
20077         wctype: Avoid #define replacements in C++ mode.
20078         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
20079         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
20080         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
20081         In C++, define a namespaced alias symbol.
20082         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
20083         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
20084         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
20085         rule.
20086
20087         wchar: Avoid #define replacements in C++ mode.
20088         * lib/wchar.in.h: Include c++defs.h.
20089         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
20090         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
20091         symbol.
20092         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
20093         * modules/wchar (Depends-on): Add c++defs.
20094         (Makefile.am): Update wchar.h rule.
20095
20096         unistd: Avoid #define replacements in C++ mode.
20097         * lib/unistd.in.h: Include c++defs.h.
20098         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
20099         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
20100         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
20101         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
20102         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
20103         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
20104         symbol.
20105         (environ): Update.
20106         * modules/unistd (Depends-on): Add c++defs.
20107         (Makefile.am): Update unistd.h rule.
20108
20109         time: Avoid #define replacements in C++ mode.
20110         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
20111         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
20112         define a namespaced alias symbol.
20113         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
20114         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
20115         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
20116         * modules/time (Depends-on): Add c++defs, warn-on-use.
20117         (Makefile.am): Update time.h rule.
20118         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
20119         * modules/nanosleep (configure.ac): Likewise.
20120         * modules/strptime (configure.ac): Likewise.
20121         * modules/timegm (configure.ac): Likewise.
20122
20123         sys_time: Avoid #define replacements in C++ mode.
20124         * lib/sys_time.in.h: Include c++defs.h.
20125         (gettimeofday): In C++, define a namespaced alias symbol.
20126         * modules/sys_time (Depends-on): Add c++defs.
20127         (Makefile.am): Update sys/time.h rule.
20128
20129         sys_stat: Avoid #define replacements in C++ mode.
20130         * lib/sys_stat.in.h: Include c++defs.h.
20131         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
20132         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
20133         namespaced alias symbol.
20134         In C++, define a namespaced alias symbol.
20135         * modules/sys_stat (Depends-on): Add c++defs.
20136         (Makefile.am): Update sys/stat.h rule.
20137
20138         sys_socket: Avoid #define replacements in C++ mode.
20139         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
20140         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
20141         definitions also when the system has a <sys/socket.h>.
20142         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
20143         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
20144         In C++, define a namespaced alias symbol.
20145         * modules/sys_socket (Depends-on): Add c++defs.
20146         (Makefile.am): Update sys/socket.h rule.
20147
20148         sys_select: Avoid #define replacements in C++ mode.
20149         * lib/sys_select.in.h: Include c++defs.h. Enable the function
20150         definitions also when the system has a <sys/select.h>.
20151         (select): In C++, define a namespaced alias symbol.
20152         * modules/sys_select (Depends-on): Add c++defs.
20153         (Makefile.am): Update sys/select.h rule.
20154
20155         sys_ioctl: Avoid #define replacements in C++ mode.
20156         * lib/sys_ioctl.in.h: Include c++defs.h.
20157         (ioctl): In C++, define a namespaced alias symbol.
20158         * modules/sys_ioctl (Depends-on): Add c++defs.
20159         (Makefile.am): Update sys/ioctl.h rule.
20160
20161         string: Avoid #define replacements in C++ mode.
20162         * lib/string.in.h: Include c++defs.h.
20163         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
20164         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
20165         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
20166         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
20167         strsignal, strverscmp): In C++, define a namespaced alias symbol.
20168         * modules/string (Depends-on): Add c++defs.
20169         (Makefile.am): Update string.h rule.
20170
20171         stdlib: Avoid #define replacements in C++ mode.
20172         * lib/stdlib.in.h: Include c++defs.h.
20173         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
20174         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
20175         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
20176         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
20177         symbol.
20178         * modules/stdlib (Depends-on): Add c++defs.
20179         (Makefile.am): Update stdlib.h rule.
20180
20181         stdio: Avoid #define replacements in C++ mode.
20182         * lib/stdio.in.h: Include c++defs.h.
20183         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
20184         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
20185         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
20186         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
20187         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
20188         namespaced alias symbol.
20189         * modules/stdio (Depends-on): Add c++defs.
20190         (Makefile.am): Update stdio.h rule.
20191
20192         spawn: Avoid #define replacements in C++ mode.
20193         * lib/spawn.in.h: Include c++defs.h.
20194         (posix_spawn, posix_spawnp, posix_spawnattr_init,
20195         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
20196         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
20197         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
20198         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
20199         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
20200         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
20201         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
20202         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
20203         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
20204         In C++, define a namespaced alias symbol.
20205         * modules/spawn (Depends-on): Add c++defs.
20206         (Makefile.am): Update spawn.h rule.
20207
20208         signal: Avoid #define replacements in C++ mode.
20209         * lib/signal.in.h: Include c++defs.h.
20210         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
20211         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
20212         namespaced alias symbol.
20213         * modules/signal (Depends-on): Add c++defs.
20214         (Makefile.am): Update signal.h rule.
20215
20216         search: Avoid #define replacements in C++ mode.
20217         * lib/search.in.h: Include c++defs.h.
20218         (_gl_search_compar_fn, _gl_search_action_fn): New types.
20219         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
20220         symbol.
20221         * modules/search (Depends-on): Add c++defs.
20222         (Makefile.am): Update search.h rule.
20223
20224         math: Avoid #define replacements in C++ mode.
20225         * lib/math.in.h: Include c++defs.h.
20226         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
20227         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
20228         trunc, truncl): In C++, define a namespaced alias symbol.
20229         * modules/math (Depends-on): Add c++defs.
20230         (Makefile.am): Update math.h rule.
20231
20232         locale: Avoid #define replacements in C++ mode.
20233         * lib/locale.in.h: Include c++defs.h.
20234         (duplocale): In C++, define a namespaced alias symbol.
20235         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
20236         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
20237         * modules/locale (Depends-on): Add c++defs.
20238         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
20239
20240         langinfo: Avoid #define replacements in C++ mode.
20241         * lib/langinfo.in.h: Include c++defs.h.
20242         (nl_langinfo): In C++, define a namespaced alias symbol.
20243         * modules/langinfo (Depends-on): Add c++defs.
20244         (Makefile.am): Update langinfo.h rule.
20245
20246         iconv-h: Avoid #define replacements in C++ mode.
20247         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
20248         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
20249         symbol.
20250         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
20251         whenever iconv is present.
20252         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
20253         (Makefile.am): Update iconv.h rule.
20254
20255         glob: Avoid #define replacements in C++ mode.
20256         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
20257         (_gl_glob_errfunc_fn): New type.
20258         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
20259         symbol.
20260         * modules/glob (Depends-on): Add c++defs, warn-on-use.
20261         (Makefile.am): Update glob.h rule.
20262
20263         fcntl-h: Avoid #define replacements in C++ mode.
20264         * lib/fcntl.in.h: Include c++defs.h.
20265         (fcntl, open, openat): In C++, define a namespaced alias symbol.
20266         * modules/fcntl-h (Depends-on): Add c++defs.
20267         (Makefile.am): Update fcntl.h rule.
20268
20269         dirent: Avoid #define replacements in C++ mode.
20270         * lib/dirent.in.h: Include c++defs.h.
20271         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
20272         namespaced alias symbol.
20273         (dirfd): Update declaration.
20274         * modules/dirent (Depends-on): Add c++defs.
20275         (Makefile.am): Update dirent.h rule.
20276
20277         ctype: Make it usable in C++ code.
20278         * lib/ctype.in.h: Include c++defs.h.
20279         (isblank): Declare as extern "C".
20280         * modules/ctype (Depends-on): Add c++defs.
20281         (Makefile.am): Update ctype.h rule.
20282
20283         New module 'c++defs'.
20284         * modules/c++defs: New file.
20285         * build-aux/c++defs.h: New file.
20286         Reported by John W. Eaton <jwe@gnu.org>.
20287
20288 2010-03-07  Bruno Haible  <bruno@clisp.org>
20289
20290         logb: Provide missing declaration for Cygwin.
20291         * lib/math.in.h (logb): New declaration.
20292         * m4/logb.m4: New file.
20293         * modules/logb (Files): Add m4/logb.m4.
20294         (Depends-on): Add math.
20295         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
20296         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
20297         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
20298         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
20299         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
20300
20301 2010-03-07  Bruno Haible  <bruno@clisp.org>
20302
20303         Fix test-cond link error.
20304         * tests/test-cond.c: Include <stdio.h>.
20305
20306 2010-03-07  Bruno Haible  <bruno@clisp.org>
20307
20308         Fix test-dirent-safer link error.
20309         * modules/dirent-safer-tests (Makefile.am): Define
20310         test_dirent_safer_LDADD.
20311
20312 2010-03-07  Bruno Haible  <bruno@clisp.org>
20313
20314         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
20315         among default module list.
20316
20317 2010-03-07  Bruno Haible  <bruno@clisp.org>
20318
20319         Fix link error on platforms with GNU libiconv.
20320         * modules/unistr/u8-strcoll-tests (Makefile): Define
20321         test_u8_strcoll_LDADD.
20322         * modules/unistr/u16-strcoll-tests (Makefile): Define
20323         test_u16_strcoll_LDADD.
20324         * modules/unistr/u32-strcoll-tests (Makefile): Define
20325         test_u32_strcoll_LDADD.
20326
20327 2010-03-07  Bruno Haible  <bruno@clisp.org>
20328
20329         Use POSIX declarations for socket functions.
20330         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
20331         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
20332         rpl_sendto): Change declaration to match POSIX.
20333         * lib/connect.c (rpl_connect): Likewise.
20334         * lib/accept.c (rpl_accept): Likewise.
20335         * lib/bind.c (rpl_bind): Likewise.
20336         * lib/getpeername.c (rpl_getpeername): Likewise.
20337         * lib/getsockname.c (rpl_getsockname): Likewise.
20338         * lib/recv.c (rpl_recv): Likewise.
20339         * lib/send.c (rpl_send): Likewise.
20340         * lib/recvfrom.c (rpl_recvfrom): Likewise.
20341         * lib/sendto.c (rpl_sendto): Likewise.
20342
20343 2010-03-06  Bruno Haible  <bruno@clisp.org>
20344
20345         Clarify access, euidaccess, faccessat.
20346         * doc/posix-functions/faccessat.texi: Mention security problem under
20347         "Other problems", not "Portability problems".
20348         * doc/posix-functions/access.texi: Likewise. Mention a related security
20349         problem.
20350         * doc/glibc-functions/euidaccess.texi: Mention security problems.
20351         * lib/euidaccess.c: Add comments about platforms.
20352         * lib/unistd.in.h (access, euidaccess): Add warnings.
20353
20354 2010-03-07  Bruno Haible  <bruno@clisp.org>
20355
20356         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
20357         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
20358         (POSIX_SPAWN_SETSCHEDULER): Likewise.
20359         (POSIX_SPAWN_USEVFORK): Define in a way that works when
20360         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
20361         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
20362         declare when POSIX_SPAWN_SETSCHEDULER is zero.
20363         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
20364         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
20365         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
20366         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
20367         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
20368         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
20369         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
20370         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
20371         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
20372         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
20373         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
20374         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
20375         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
20376         Likewise.
20377         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
20378         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
20379         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
20380         Likewise.
20381         * tests/test-spawn.c (main): Make it work when
20382         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
20383
20384 2010-03-07  Bruno Haible  <bruno@clisp.org>
20385
20386         Fix incorrect Makefile.am generation in German locale.
20387         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
20388         Execute sed command with character range in C locale.
20389
20390 2010-03-06  Bruno Haible  <bruno@clisp.org>
20391
20392         Tests for module 'iconv-h'.
20393         * modules/iconv-h-tests: New file.
20394         * tests/test-iconv-h.c: New file.
20395
20396         New module 'iconv-h'.
20397         * modules/iconv-h: New file.
20398         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
20399         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
20400         (configure.ac): Remove gl_ICONV_H.
20401         (Makefile.am): Remove rule for iconv.h.
20402
20403 2010-03-06  Bruno Haible  <bruno@clisp.org>
20404
20405         More consistent naming of *.m4 files.
20406         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
20407         * modules/wctype (Files): Update.
20408
20409         More consistent naming of *.m4 files.
20410         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
20411         * modules/wchar (Files): Update.
20412
20413 2010-03-06  Jim Meyering  <meyering@redhat.com>
20414
20415         euidaccess: relax license to LGPLv2+
20416         * modules/euidaccess (License): Relax to LGPLv2+.
20417
20418 2010-03-06  Bruno Haible  <bruno@clisp.org>
20419
20420         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
20421         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
20422         (Makefile.am): Augment lib_SOURCES instead.
20423
20424 2010-03-04  Jim Meyering  <meyering@redhat.com>
20425
20426         utime: remove obsolete module
20427         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
20428         unnecessary for years, and has been marked as obsolete for 10 months.
20429         * modules/utime: Remove file.
20430         * lib/utime.c: Remove file.
20431         * m4/utime.m4: Remove file.
20432         * m4/utimes-null.m4: Remove file.
20433         * doc/posix-functions/utime.texi (utime): Remove reference to
20434         the module.  Move the sole "fixed by gnulib" item into the
20435         "problems not fixed by Gnulib" list.
20436         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
20437
20438 2010-03-05  Simon Josefsson  <simon@josefsson.org>
20439
20440         * modules/exit (License): Relax license to LGPLv2+.
20441         (Status): Mark as obsolete.
20442         * NEWS: Mention deprecated 'exit' module.
20443         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
20444         of now obsolete 'exit'.
20445
20446 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20447
20448         fts-lgpl: remove unused module
20449         * modules/fts-lgpl: Remove.
20450         * MODULES.html.sh (func_all_modules): Adjust.
20451         * check-module (find_included_lib_files): Adjust.
20452         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
20453
20454 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
20455
20456         copy-acl: enhance Solaris ACL error handling
20457         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
20458         * lib/set-mode-acl.c (qset_acl): Likewise.
20459
20460 2010-03-02  Bruno Haible  <bruno@clisp.org>
20461
20462         spawn: Don't override the system defined values on FreeBSD 8.
20463         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
20464         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
20465         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
20466         if HAVE_POSIX_SPAWN is 1.
20467         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
20468
20469 2010-03-01  Bruno Haible  <bruno@clisp.org>
20470
20471         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
20472         regarding Automake.
20473
20474 2010-02-25  Bruno Haible  <bruno@clisp.org>
20475
20476         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
20477         * gnulib-tool: Define 'echo' as a function only before the ksh alias
20478         setting, not afterwards.
20479         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
20480
20481 2010-02-24  Eric Blake  <eblake@redhat.com>
20482
20483         bootstrap, git-version-gen: use timestamp
20484         * build-aux/git-version-gen (scriptversion): Force UTC.
20485         * build-aux/bootstrap (scriptversion): New variable.
20486
20487         bootstrap: allow older git
20488         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
20489         older than 1.6.4.  Requested by the libvirt project.
20490
20491 2010-02-23  Eric Blake  <eblake@redhat.com>
20492
20493         warn-on-use: work with old autoconf
20494         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
20495         AS_VAR semantics of autoconf 2.60.
20496         Reported by Bruno Haible.
20497
20498         bootstrap: improve some comments
20499         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
20500         clarification comments.
20501
20502         gettimeofday: provide correct function
20503         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
20504         when replacement is declared, otherwise provide gettimeofday.
20505         Reported by Michael Goffioul.
20506
20507 2010-02-23  Jim Meyering  <meyering@redhat.com>
20508
20509         lib-ignore: relax license to "unlimited", not LGPLv2+
20510         * modules/lib-ignore (License): Relax to "unlimited".
20511
20512 2010-02-23  Jim Meyering  <meyering@redhat.com>
20513
20514         lib-ignore: relax license to LGPLv2+
20515         * modules/lib-ignore (License): Relax to LGPLv2+.
20516
20517 2010-02-22  Eric Blake  <eblake@redhat.com>
20518
20519         lseek: avoid bash 3.2 broken pipe bug
20520         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
20521         warning from bash 3.2.
20522         Reported by Ben Pfaff, with analysis from Bruno Haible.
20523
20524         bootstrap: support non-FSF copyright holder
20525         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
20526         bootstrap.conf override of COPYRIGHT_HOLDER.
20527         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
20528
20529         bootstrap: interoperate with gettext 0.14.1
20530         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
20531
20532         bootstrap: allow for alternate submodule location
20533         * build-aux/bootstrap (gnulib_path): New variable; use instead of
20534         hardcoding submodule location.
20535         (gnulib_mk): Allow direct use of Makefile.am.
20536
20537         bootstrap: use GNULIB_SRCDIR to reduce disk usage
20538         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
20539         rather than reconfiguring where the submodule points.
20540
20541         gettimeofday: restore support for platforms that lack function
20542         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
20543         replacement if function is missing.
20544         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
20545         * modules/sys_time (Makefile.am): Substitute it.
20546         * lib/sys_time.in.h (gettimeofday): Check it.
20547         Reported by Michael Goffioul.
20548
20549 2010-02-21  Bruno Haible  <bruno@clisp.org>
20550
20551         * lib/stdio.in.h (obstack_printf): Fix typo.
20552
20553 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
20554
20555         vc-list-files: use bzr ls's -R option
20556         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
20557         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
20558
20559 2010-02-21  Jim Meyering  <meyering@redhat.com>
20560
20561         init.sh: fix EXEEXT shims to work also for names like test-prog
20562         * tests/init.sh: Re-exec a better shell, when needed.
20563         If the current shell lacks support for posix $(...), an init.sh-using
20564         test will now try to find a shell that supports that.  If EXEEXT is
20565         nonempty, we also require support for hyphen-in-alias-name and shell
20566         substitutions like ${var#glob}.  Failure to find such a shell results
20567         in a skipped test.
20568
20569 2010-02-21  Bruno Haible  <bruno@clisp.org>
20570
20571         Really work around around "broken pipe" error message from bash 3.2.
20572         * gnulib-tool (func_reset_sigpipe): Remove function.
20573         (echo): In bash 3.2, define to a function that uses printf.
20574         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
20575
20576 2010-02-20  Bruno Haible  <bruno@clisp.org>
20577
20578         Restore support for automake 1.9.6 with autoconf 2.61.
20579         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
20580         Reported by James Youngman <jay@gnu.org>.
20581
20582 2010-02-20  Bruno Haible  <bruno@clisp.org>
20583
20584         Improve *printf warning condition.
20585         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
20586         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
20587         and the function is overridden due to SIGPIPE emulation.
20588
20589 2010-02-20  Bruno Haible  <bruno@clisp.org>
20590
20591         * lib/stdio.in.h: Tweak comments.
20592
20593 2010-02-19  Bruno Haible  <bruno@clisp.org>
20594
20595         Make it easier to find modules. New gnulib-tool option '--find'.
20596         * gnulib-tool: New option --find.
20597         (func_usage): Document it.
20598         (func_sanitize_modulelist): New function, extracted from
20599         func_all_modules.
20600         (func_all_modules): Invoke it.
20601         * doc/gnulib-tool.texi (Which modules?): New node.
20602
20603 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
20604
20605         * lib/sys_select.in.h: Provide select replacement even if
20606         sys/select.h exists on a system, for Interix.
20607
20608 2010-02-18  Jim Meyering  <meyering@redhat.com>
20609
20610         init.sh: don't use $(...) just yet
20611         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
20612         to accommodate e.g., Solaris' /bin/sh.
20613
20614 2010-02-17  Bruno Haible  <bruno@clisp.org>
20615
20616         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
20617         Reported by Ludovic Courtès <ludo@gnu.org>.
20618
20619 2010-02-16  Simon Josefsson  <simon@josefsson.org>
20620
20621         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
20622         linking with -lintl.
20623
20624 2010-02-17  Simon Josefsson  <simon@josefsson.org>
20625
20626         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
20627         if not provided by the system's netdb.h.  Reported by
20628         ludo@gnu.org (Ludovic Courtès).
20629
20630 2010-02-15  Jim Meyering  <meyering@redhat.com>
20631
20632         init.sh: improve portability and efficiency
20633         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
20634         "dummy" in a for loop.
20635         Use '!', not '^' to select the complement of a character set used
20636         in a "case" statement.
20637         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
20638         Suggestions from Eric Blake.
20639
20640         init.sh: automatically accommodate programs with the .exe suffix
20641         Automatically arrange for an invocation of "prog" to execute the
20642         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
20643         may use the simpler "prog", yet still work when built on a system
20644         that requires specifying the added suffix.
20645         Do this by constructing a function named "prog" that invokes
20646         "prog.exe" for each .exe file in selected directories.
20647         * tests/init.sh (find_exe_basenames_): New function.
20648         (create_exe_shim_functions_): New function.
20649         (path_prepend_): Use it.
20650
20651         maint.mk: mark syntax-check sc_*.m rules as .PHONY
20652         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
20653         "make -t syntax-check" doesn't create a ton of sc_*.m files.
20654
20655 2010-02-14  Jim Meyering  <meyering@redhat.com>
20656
20657         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
20658         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
20659         (sc_prohibit_hash_pjw_without_use): New rule.
20660
20661         maint.mk: allow the default upload destination dir to be overridden
20662         * top/maint.mk (upload_dest_dir_): Define with a default that
20663         preserves the status quo.
20664         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
20665         Reported by Peter Simons.
20666
20667         maint.mk: prohibit inclusion of "hash.h" without_use
20668         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
20669
20670 2010-02-10  Jim Meyering  <meyering@redhat.com>
20671
20672         maint.mk: prohibit inclusion of "ignore-value.h" without_use
20673         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
20674
20675 2010-02-09  Eric Blake  <ebb9@byu.net>
20676         and Bruno Haible  <bruno@clisp.org>
20677
20678         obstack-printf-posix: ensure declaration
20679         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
20680         extracted from gl_FUNC_OBSTACK_PRINTF.
20681         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
20682         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
20683         Likewise.
20684         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
20685         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
20686         0.
20687
20688 2010-02-08  Bruno Haible  <bruno@clisp.org>
20689
20690         gnulib-tool: Fix typo in 2010-02-07 commit.
20691         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
20692         Reported by Eric Blake.
20693
20694 2010-02-07  Bruno Haible  <bruno@clisp.org>
20695
20696         gnulib-tool: Fix up caching patches.
20697         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
20698         option --no-cache. Use associative arrays when supported by the shell.
20699         (sed_comments): New variable.
20700         (modcache): Renamed from do_cache.
20701         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
20702         abbreviate unnecessarily.
20703         (have_associative): New variable.
20704         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
20705         way also for ksh and zsh.
20706         (func_init_sed_convert_to_cache_statements): New function, extracted
20707         from func_cache_lookup_module. Add support for associative arrays.
20708         Don't set the c_MODULE_cached variable here. Ignore all lines before
20709         the first field header. Remove only the final newline, not all trailing
20710         newlines. Support empty fields correctly. Limit the use of 'eval' to
20711         assignments.
20712         (func_get_description, func_get_status, func_get_notice,
20713         func_get_applicability, func_get_filelist, func_get_dependencies,
20714         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
20715         func_get_automake_snippet, func_get_include_directive,
20716         func_get_link_directive, func_get_license, func_get_maintainer):
20717         Update documentation. List the unoptimized code first. Add support for
20718         associative arrays. Limit the use of 'eval' to assignments.
20719         (func_get_applicability): Undo stylistic pessimisations.
20720         (func_get_automake_snippet, func_get_include_directive): Reduce code
20721         duplication.
20722         (func_modules_transitive_closure, func_modules_add_dummy,
20723         func_modules_notice, func_modules_to_filelist, func_add_file,
20724         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
20725         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
20726         func_create_testdir, func_create_megatestdir): Update documentation.
20727
20728 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20729
20730         * gnulib-tool (func_cache_lookup_module): Store the module name
20731         belonging to the cache variable; error out if two different
20732         module names map to the same cache variable name.
20733
20734 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20735
20736         gnulib-tool: Make caching optional.
20737         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
20738         Update matching short versions of --no-changelog.
20739         (func_usage): Update.
20740         (sed_extract_cache_prog): Renamed from ...
20741         (sed_extract_prog): ... this; revert to old extraction script.
20742         (func_get_description, func_get_status)
20743         (func_get_notice, func_get_applicability, func_get_filelist)
20744         (func_get_dependencies, func_get_autoconf_early_snippet)
20745         (func_get_autoconf_snippet, func_get_automake_snippet)
20746         (func_get_include_directive, func_get_link_directive)
20747         (func_get_license, func_get_maintainer): If $do_cache is false,
20748         use old, non-caching extraction scripts.
20749         Suggestion by Bruno Haible.
20750
20751 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20752
20753         gnulib-tool: cache module metainformation.
20754         * gnulib-tool (sed_extract_prog): Match newline before each
20755         header, and rewrite header to a shell variable suffix.
20756         (func_cache_var, func_cache_lookup_module): New functions,
20757         to turn a module name into a cache variable prefix, and to
20758         look up and cache module metainformation.
20759         (func_get_description, func_get_status)
20760         (func_get_notice, func_get_applicability, func_get_filelist)
20761         (func_get_dependencies, func_get_autoconf_early_snippet)
20762         (func_get_autoconf_snippet, func_get_automake_snippet)
20763         (func_get_include_directive, func_get_link_directive)
20764         (func_get_license, func_get_maintainer): Use
20765         func_cache_lookup_module.
20766
20767 2010-02-07  Bruno Haible  <bruno@clisp.org>
20768
20769         fnctl: Fix missing dependency.
20770         * modules/fcntl (Depends-on): Add getdtablesize.
20771         Reported by John W. Eaton <jwe@gnu.org>.
20772
20773 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
20774
20775         Argp: fix recognition of short alias options.
20776
20777         * lib/argp-parse.c (convert_options): Fix improper use of
20778         `|' between character values.
20779         * tests/test-argp.c (group1_option): New alias option
20780         --read (-r).
20781         (group1_parser): Special handling for 'r'.
20782         (test15): New test case.
20783         (test_fun): Add test15.
20784         * tests/test-argp-2.sh: Update expected --help and --usage
20785         outputs.
20786
20787 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
20788
20789         * tests/test-argp.c: Fix indentation.
20790
20791 2010-02-04  Eric Blake  <ebb9@byu.net>
20792
20793         gettimeofday: expose type of second argument
20794         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
20795         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
20796         * tests/test-gettimeofday.c: Use it to silence warning.
20797         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
20798         the issue.
20799
20800 2010-02-03  Jim Meyering  <meyering@redhat.com>
20801
20802         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
20803         * lib/regcomp.c (TYPE_SIGNED): Define.
20804         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
20805
20806         regcomp.c: avoid a new -Wshadow warning
20807         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
20808
20809 2010-02-01  Jim Meyering  <meyering@redhat.com>
20810
20811         removing useless parentheses in cpp #define directives
20812         For motivation, see commit c0221df4, "define STREQ(a,b)
20813         consistently, removing useless parentheses"
20814         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
20815         * lib/mountlist.c (MNT_IGNORE): Likewise.
20816         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
20817
20818 2010-02-01  Eric Blake  <ebb9@byu.net>
20819
20820         sys_time: use link-warning
20821         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
20822         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
20823         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
20824         * modules/sys_time (Depends-on): Add warn-on-use.
20825         (Makefile.am): Always build replacement.
20826         (configure.ac): Update substitutions.
20827         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
20828         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
20829         bother with SYS_TIME_H.
20830         * modules/gettimeofday (configure.ac): Declare indicator.
20831         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
20832         in use.
20833
20834         closein-tests: silence compiler warning
20835         * tests/test-closein.c (main): Ignore fread result.
20836         * modules/closein-tests (Depends-on): Add ignore-value.
20837
20838         tests: silence warning about system return
20839         * tests/test-areadlink-with-size.c (main): Ignore system result.
20840         * tests/test-areadlink.c (main): Likewise.
20841         * tests/test-areadlinkat-with-size.c (main): Likewise.
20842         * tests/test-areadlinkat.c (main): Likewise.
20843         * tests/test-canonicalize-lgpl.c (main): Likewise.
20844         * tests/test-canonicalize.c (main): Likewise.
20845         * tests/test-chown.c (main): Likewise.
20846         * tests/test-fchownat.c (main): Likewise.
20847         * tests/test-fdutimensat.c (main): Likewise.
20848         * tests/test-fstatat.c (main): Likewise.
20849         * tests/test-futimens.c (main): Likewise.
20850         * tests/test-lchown.c (main): Likewise.
20851         * tests/test-link.c (main): Likewise.
20852         * tests/test-linkat.c (main): Likewise.
20853         * tests/test-lstat.c (main): Likewise.
20854         * tests/test-mkdir.c (main): Likewise.
20855         * tests/test-mkdirat.c (main): Likewise.
20856         * tests/test-mkfifo.c (main): Likewise.
20857         * tests/test-mkfifoat.c (main): Likewise.
20858         * tests/test-mknod.c (main): Likewise.
20859         * tests/test-readlink.c (main): Likewise.
20860         * tests/test-remove.c (main): Likewise.
20861         * tests/test-rename.c (main): Likewise.
20862         * tests/test-renameat.c (main): Likewise.
20863         * tests/test-rmdir.c (main): Likewise.
20864         * tests/test-symlink.c (main): Likewise.
20865         * tests/test-symlinkat.c (main): Likewise.
20866         * tests/test-unlink.c (main): Likewise.
20867         * tests/test-unlinkat.c (main): Likewise.
20868         * tests/test-utimens.c (main): Likewise.
20869         * tests/test-utimensat.c (main): Likewise.
20870         * modules/areadlink-tests (Depends-on): Add ignore-value.
20871         * modules/areadlink-with-size-tests (Depends-on): Likewise.
20872         * modules/areadlinkat-tests (Depends-on): Likewise.
20873         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
20874         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
20875         * modules/canonicalize-tests (Depends-on): Likewise.
20876         * modules/chown-tests (Depends-on): Likewise.
20877         * modules/fdutimensat-tests (Depends-on): Likewise.
20878         * modules/futimens-tests (Depends-on): Likewise.
20879         * modules/lchown-tests (Depends-on): Likewise.
20880         * modules/link-tests (Depends-on): Likewise.
20881         * modules/linkat-tests (Depends-on): Likewise.
20882         * modules/lstat-tests (Depends-on): Likewise.
20883         * modules/mkdir-tests (Depends-on): Likewise.
20884         * modules/mkfifo-tests (Depends-on): Likewise.
20885         * modules/mkfifoat-tests (Depends-on): Likewise.
20886         * modules/mknod-tests (Depends-on): Likewise.
20887         * modules/openat-tests (Depends-on): Likewise.
20888         * modules/readlink-tests (Depends-on): Likewise.
20889         * modules/remove-tests (Depends-on): Likewise.
20890         * modules/rename-tests (Depends-on): Likewise.
20891         * modules/renameat-tests (Depends-on): Likewise.
20892         * modules/rmdir-tests (Depends-on): Likewise.
20893         * modules/symlink-tests (Depends-on): Likewise.
20894         * modules/symlinkat-tests (Depends-on): Likewise.
20895         * modules/unlink-tests (Depends-on): Likewise.
20896         * modules/utimens-tests (Depends-on): Likewise.
20897         * modules/utimensat-tests (Depends-on): Likewise.
20898
20899 2010-01-31  Bruno Haible  <bruno@clisp.org>
20900
20901         Perform the same test for many <math.h> functions.
20902         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
20903         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
20904         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
20905         of gl_MATHFUNC.
20906         * modules/acos (configure.ac): Likewise.
20907         * modules/asin (configure.ac): Likewise.
20908         * modules/atan (configure.ac): Likewise.
20909         * modules/atan2 (configure.ac): Likewise.
20910         * modules/cbrt (configure.ac): Likewise.
20911         * modules/copysign (configure.ac): Likewise.
20912         * modules/cos (configure.ac): Likewise.
20913         * modules/cosh (configure.ac): Likewise.
20914         * modules/erf (configure.ac): Likewise.
20915         * modules/erfc (configure.ac): Likewise.
20916         * modules/exp (configure.ac): Likewise.
20917         * modules/fmod (configure.ac): Likewise.
20918         * modules/hypot (configure.ac): Likewise.
20919         * modules/j0 (configure.ac): Likewise.
20920         * modules/j1 (configure.ac): Likewise.
20921         * modules/jn (configure.ac): Likewise.
20922         * modules/lgamma (configure.ac): Likewise.
20923         * modules/log (configure.ac): Likewise.
20924         * modules/log10 (configure.ac): Likewise.
20925         * modules/log1p (configure.ac): Likewise.
20926         * modules/pow (configure.ac): Likewise.
20927         * modules/remainder (configure.ac): Likewise.
20928         * modules/sin (configure.ac): Likewise.
20929         * modules/sinh (configure.ac): Likewise.
20930         * modules/tan (configure.ac): Likewise.
20931         * modules/tanh (configure.ac): Likewise.
20932         * modules/y0 (configure.ac): Likewise.
20933         * modules/y1 (configure.ac): Likewise.
20934         * modules/yn (configure.ac): Likewise.
20935         Suggested by Paolo Bonzini.
20936
20937 2010-01-31  Bruno Haible  <bruno@clisp.org>
20938
20939         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
20940
20941 2010-01-31  Bruno Haible  <bruno@clisp.org>
20942
20943         Work around getdelim() bug on FreeBSD 8.0.
20944         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
20945         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
20946         not work.
20947         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
20948         is 1.
20949         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
20950         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
20951         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
20952         a non-zero size.
20953         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
20954
20955 2010-01-31  Bruno Haible  <bruno@clisp.org>
20956
20957         Work around getline() bug on FreeBSD 8.0.
20958         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
20959         and a non-zero size.
20960         * tests/test-getline.c (main): Likewise.
20961         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
20962         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
20963
20964 2010-01-28  Eric Blake  <ebb9@byu.net>
20965
20966         regex: fix build failure
20967         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
20968         platforms.
20969
20970 2010-01-28  Jim Meyering  <meyering@redhat.com>
20971
20972         regex: do not ignore memory allocation failure
20973         * lib/regex_internal.c (create_cd_newstate): Detect
20974         re_node_set_init_copy failure.   Extracted from glibc commit
20975         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
20976
20977         regex: sync more white-space changes from libc
20978         * lib/regex_internal.c: White-space only changes.
20979         * lib/regexec.c: Likewise.
20980
20981         regex: add many uses of __attribute_warn_unused_result__
20982         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
20983         * lib/regexec.c: Likewise.
20984         Extracted from a messy glibc commit.
20985
20986         regcomp.c: spelling and merge-artifact from glibc
20987         * lib/regcomp.c: Merge remainder of glibc's
20988         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
20989
20990         regcomp.c: sync white-space changes from glibc
20991         * lib/regcomp.c: Merge to accommodate white space
20992         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
20993
20994         regcomp.c: do not ignore internal return values
20995         * lib/regcomp.c: Do not ignore internal return values.
20996         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
20997         but without its white-space changes and spelling fixes.
20998
20999         regex_internal.h: define __attribute_warn_unused_result__
21000         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
21001
21002         maint: add a syntax-check rule to check for vulnerable Makefile.in
21003         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
21004
21005 2010-01-27  Jim Meyering  <meyering@redhat.com>
21006
21007         ncftpput-ftp: clean up spaces
21008         * build-aux/ncftpput-ftp: Make Copyright line consistent.
21009         Remove trailing blanks.
21010
21011 2010-01-27  Simon Josefsson  <simon@josefsson.org>
21012
21013         * build-aux/git-version-gen: Fix copyright statement.
21014         * build-aux/gnupload: Likewise.
21015         * tests/test-arcfour.c: Likewise.
21016         * tests/test-arctwo.c: Likewise.
21017         * tests/test-count-one-bits.c: Likewise.
21018         * tests/test-crc.c: Likewise.
21019         * tests/test-des.c: Likewise.
21020         * tests/test-gc-arcfour.c: Likewise.
21021         * tests/test-gc-arctwo.c: Likewise.
21022         * tests/test-gc-des.c: Likewise.
21023         * tests/test-gc-hmac-md5.c: Likewise.
21024         * tests/test-gc-hmac-sha1.c: Likewise.
21025         * tests/test-gc-md2.c: Likewise.
21026         * tests/test-gc-md4.c: Likewise.
21027         * tests/test-gc-md5.c: Likewise.
21028         * tests/test-gc-pbkdf2-sha1.c: Likewise.
21029         * tests/test-gc-rijndael.c: Likewise.
21030         * tests/test-gc-sha1.c: Likewise.
21031         * tests/test-gc.c: Likewise.
21032         * tests/test-gethostname.c: Likewise.
21033         * tests/test-gettimeofday.c: Likewise.
21034         * tests/test-hash.c: Likewise.
21035         * tests/test-hmac-md5.c: Likewise.
21036         * tests/test-hmac-sha1.c: Likewise.
21037         * tests/test-md2.c: Likewise.
21038         * tests/test-md4.c: Likewise.
21039         * tests/test-md5.c: Likewise.
21040         * tests/test-memchr.c: Likewise.
21041         * tests/test-memchr2.c: Likewise.
21042         * tests/test-memcmp.c: Likewise.
21043         * tests/test-memmem.c: Likewise.
21044         * tests/test-memrchr.c: Likewise.
21045         * tests/test-rawmemchr.c: Likewise.
21046         * tests/test-read-file.c: Likewise.
21047         * tests/test-rijndael.c: Likewise.
21048         * tests/test-sockets.c: Likewise.
21049         * tests/test-strchrnul.c: Likewise.
21050         * tests/test-strstr.c: Likewise.
21051         * tests/test-strtod.c: Likewise.
21052         * build-aux/ncftpput-ftp: Likewise.
21053
21054 2010-01-26  Eric Blake  <ebb9@byu.net>
21055
21056         ignore-value: update recommended header name
21057         * modules/ignore-value (Include): Only use <> for headers that
21058         exist in glibc.
21059
21060 2010-01-26  Jim Meyering  <meyering@redhat.com>
21061
21062         test-userspec.c: avoid compiler warnings
21063         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
21064         and "initialization discards qualifiers..." warnings.
21065         Put the first "uid" in its own scope, and make char* members "const".
21066
21067 2010-01-25  Bruno Haible  <bruno@clisp.org>
21068
21069         gnulib-tool: Make warning diagnostics consistent.
21070         * gnulib-tool (func_warning): New function.
21071         Use it everywhere where gnulib-tool produces output to stderr and it is
21072         not a fatal error.
21073
21074 2010-01-25  Bruno Haible  <bruno@clisp.org>
21075
21076         Fix test dependencies.
21077         * modules/xstrtol-tests (Depends-on): Add inttypes.
21078         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
21079
21080 2010-01-25 Pádraig Brady <P@draigBrady.com>
21081
21082         syntax-check: detect incorrect boolean macro values in config.h
21083         * modules/maintainer-makefile (configure.ac): Parameterize the location
21084         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
21085         The logic is from Eric Blake and the location indicated by Jim Meyering.
21086         Note the more natural CONFIG_HEADER name is prohibited by automake
21087         for backwards compatibility reasons.
21088         * top/maint.mk (sc_Wundef_boolean): New rule.
21089
21090 2010-01-25  Jim Meyering  <meyering@redhat.com>
21091
21092         bootstrap: detect MacOS 10.6's shasum, too
21093         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
21094         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
21095
21096 2010-01-23  Jim Meyering  <meyering@redhat.com>
21097
21098         xstrtoll: new module
21099         * modules/xstrtoll: New file.
21100         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
21101         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
21102         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
21103         ./configure fails if you use this module and lack "long long".
21104         * modules/xstrtoll-tests: New module.
21105         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
21106         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
21107         new init.sh-based test framework.
21108
21109 2010-01-24  Bruno Haible  <bruno@clisp.org>
21110
21111         Tests for module 'yn'.
21112         * modules/yn-tests: New file.
21113         * tests/test-yn.c: New file.
21114
21115         Tests for module 'y1'.
21116         * modules/y1-tests: New file.
21117         * tests/test-y1.c: New file.
21118
21119         Tests for module 'y0'.
21120         * modules/y0-tests: New file.
21121         * tests/test-y0.c: New file.
21122
21123         Tests for module 'tanh'.
21124         * modules/tanh-tests: New file.
21125         * tests/test-tanh.c: New file.
21126
21127         Tests for module 'tan'.
21128         * modules/tan-tests: New file.
21129         * tests/test-tan.c: New file.
21130
21131         Tests for module 'sqrt'.
21132         * modules/sqrt-tests: New file.
21133         * tests/test-sqrt.c: New file.
21134
21135         Tests for module 'sinh'.
21136         * modules/sinh-tests: New file.
21137         * tests/test-sinh.c: New file.
21138
21139         Tests for module 'sin'.
21140         * modules/sin-tests: New file.
21141         * tests/test-sin.c: New file.
21142
21143         Tests for module 'rint'.
21144         * modules/rint-tests: New file.
21145         * tests/test-rint.c: New file.
21146
21147         Tests for module 'remainder'.
21148         * modules/remainder-tests: New file.
21149         * tests/test-remainder.c: New file.
21150
21151         Tests for module 'pow'.
21152         * modules/pow-tests: New file.
21153         * tests/test-pow.c: New file.
21154
21155         Tests for module 'nextafter'.
21156         * modules/nextafter-tests: New file.
21157         * tests/test-nextafter.c: New file.
21158
21159         Tests for module 'modf'.
21160         * modules/modf-tests: New file.
21161         * tests/test-modf.c: New file.
21162
21163         Tests for module 'logb'.
21164         * modules/logb-tests: New file.
21165         * tests/test-logb.c: New file.
21166
21167         Tests for module 'log1p'.
21168         * modules/log1p-tests: New file.
21169         * tests/test-log1p.c: New file.
21170
21171         Tests for module 'log10'.
21172         * modules/log10-tests: New file.
21173         * tests/test-log10.c: New file.
21174
21175         Tests for module 'log'.
21176         * modules/log-tests: New file.
21177         * tests/test-log.c: New file.
21178
21179         Tests for module 'lgamma'.
21180         * modules/lgamma-tests: New file.
21181         * tests/test-lgamma.c: New file.
21182
21183         Tests for module 'ldexp'.
21184         * modules/ldexp-tests: New file.
21185         * tests/test-ldexp.c: New file.
21186
21187         Tests for module 'jn'.
21188         * modules/jn-tests: New file.
21189         * tests/test-jn.c: New file.
21190
21191         Tests for module 'j1'.
21192         * modules/j1-tests: New file.
21193         * tests/test-j1.c: New file.
21194
21195         Tests for module 'j0'.
21196         * modules/j0-tests: New file.
21197         * tests/test-j0.c: New file.
21198
21199         Tests for module 'hypot'.
21200         * modules/hypot-tests: New file.
21201         * tests/test-hypot.c: New file.
21202
21203         Tests for module 'fmod'.
21204         * modules/fmod-tests: New file.
21205         * tests/test-fmod.c: New file.
21206
21207         Tests for module 'fabs'.
21208         * modules/fabs-tests: New file.
21209         * tests/test-fabs.c: New file.
21210
21211         Tests for module 'exp'.
21212         * modules/exp-tests: New file.
21213         * tests/test-exp.c: New file.
21214
21215         Tests for module 'erfc'.
21216         * modules/erfc-tests: New file.
21217         * tests/test-erfc.c: New file.
21218
21219         Tests for module 'erf'.
21220         * modules/erf-tests: New file.
21221         * tests/test-erf.c: New file.
21222
21223         Tests for module 'cosh'.
21224         * modules/cosh-tests: New file.
21225         * tests/test-cosh.c: New file.
21226
21227         Tests for module 'cos'.
21228         * modules/cos-tests: New file.
21229         * tests/test-cos.c: New file.
21230
21231         Tests for module 'copysign'.
21232         * modules/copysign-tests: New file.
21233         * tests/test-copysign.c: New file.
21234
21235         Tests for module 'cbrt'.
21236         * modules/cbrt-tests: New file.
21237         * tests/test-cbrt.c: New file.
21238
21239         Tests for module 'atan2'.
21240         * modules/atan2-tests: New file.
21241         * tests/test-atan2.c: New file.
21242
21243         Tests for module 'atan'.
21244         * modules/atan-tests: New file.
21245         * tests/test-atan.c: New file.
21246
21247         Tests for module 'asin'.
21248         * modules/asin-tests: New file.
21249         * tests/test-asin.c: New file.
21250
21251         Tests for module 'acos'.
21252         * modules/acos-tests: New file.
21253         * tests/test-acos.c: New file.
21254
21255 2010-01-24  Bruno Haible  <bruno@clisp.org>
21256
21257         Fix tests for common <math.h> functions.
21258         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
21259         code snippet that references the function pointer, rather than merely
21260         calling the function. Substitute the FUNC_LIBM variable.
21261         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
21262         * modules/acos (configure.ac): Likewise.
21263         * modules/asin (configure.ac): Likewise.
21264         * modules/atan (configure.ac): Likewise.
21265         * modules/atan2 (configure.ac): Likewise.
21266         * modules/cbrt (configure.ac): Likewise.
21267         * modules/copysign (configure.ac): Likewise.
21268         * modules/cos (configure.ac): Likewise.
21269         * modules/cosh (configure.ac): Likewise.
21270         * modules/erf (configure.ac): Likewise.
21271         * modules/erfc (configure.ac): Likewise.
21272         * modules/exp (configure.ac): Likewise.
21273         * modules/fabs (configure.ac): Likewise.
21274         * modules/fmod (configure.ac): Likewise.
21275         * modules/hypot (configure.ac): Likewise.
21276         * modules/j0 (configure.ac): Likewise.
21277         * modules/j1 (configure.ac): Likewise.
21278         * modules/jn (configure.ac): Likewise.
21279         * modules/ldexp (configure.ac): Likewise.
21280         * modules/lgamma (configure.ac): Likewise.
21281         * modules/log (configure.ac): Likewise.
21282         * modules/log10 (configure.ac): Likewise.
21283         * modules/log1p (configure.ac): Likewise.
21284         * modules/logb (configure.ac): Likewise.
21285         * modules/modf (configure.ac): Likewise.
21286         * modules/nextafter (configure.ac): Likewise.
21287         * modules/pow (configure.ac): Likewise.
21288         * modules/remainder (configure.ac): Likewise.
21289         * modules/rint (configure.ac): Likewise.
21290         * modules/sin (configure.ac): Likewise.
21291         * modules/sinh (configure.ac): Likewise.
21292         * modules/tan (configure.ac): Likewise.
21293         * modules/tanh (configure.ac): Likewise.
21294         * modules/y0 (configure.ac): Likewise.
21295         * modules/y1 (configure.ac): Likewise.
21296         * modules/yn (configure.ac): Likewise.
21297
21298 2010-01-24  Bruno Haible  <bruno@clisp.org>
21299
21300         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
21301         * tests/test-acosl.c (x): New variable.
21302         (main): Store argument in x and fetch it from x.
21303         * tests/test-asinl.c (x): New variable.
21304         (main): Store argument in x and fetch it from x.
21305         * tests/test-atanl.c (x): New variable.
21306         (main): Store argument in x and fetch it from x.
21307         * tests/test-cosl.c (x): New variable.
21308         (main): Store argument in x and fetch it from x.
21309         * tests/test-expl.c (x): New variable.
21310         (main): Store argument in x and fetch it from x.
21311         * tests/test-logl.c (x): New variable.
21312         (main): Store argument in x and fetch it from x.
21313         * tests/test-sinl.c (x): New variable.
21314         (main): Store argument in x and fetch it from x.
21315         * tests/test-sqrtl.c (x): New variable.
21316         (main): Store argument in x and fetch it from x.
21317         * tests/test-tanl.c (x): New variable.
21318         (main): Store argument in x and fetch it from x.
21319
21320 2010-01-24  Bruno Haible  <bruno@clisp.org>
21321
21322         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
21323         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
21324         assignments to the initial TESTS_ENVIRONMENT.
21325         * doc/gnulib.texi (Unit test modules): Document it.
21326         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
21327         TESTS_ENVIRONMENT.
21328         * modules/btowc-tests (Makefile.am): Likewise.
21329         * modules/c-stack-tests (Makefile.am): Likewise.
21330         * modules/c-strcase-tests (Makefile.am): Likewise.
21331         * modules/copy-file-tests (Makefile.am): Likewise.
21332         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
21333         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
21334         * modules/mbrtowc-tests (Makefile.am): Likewise.
21335         * modules/mbscasecmp-tests (Makefile.am): Likewise.
21336         * modules/mbscasestr-tests (Makefile.am): Likewise.
21337         * modules/mbschr-tests (Makefile.am): Likewise.
21338         * modules/mbscspn-tests (Makefile.am): Likewise.
21339         * modules/mbsinit-tests (Makefile.am): Likewise.
21340         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
21341         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
21342         * modules/mbspbrk-tests (Makefile.am): Likewise.
21343         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
21344         * modules/mbsrchr-tests (Makefile.am): Likewise.
21345         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
21346         * modules/mbsspn-tests (Makefile.am): Likewise.
21347         * modules/mbsstr-tests (Makefile.am): Likewise.
21348         * modules/nl_langinfo-tests (Makefile.am): Likewise.
21349         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
21350         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
21351         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
21352         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
21353         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
21354         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
21355         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
21356         * modules/wcrtomb-tests (Makefile.am): Likewise.
21357         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
21358         * modules/wcsrtombs-tests (Makefile.am): Likewise.
21359         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
21360         assignments from TESTS_ENVIRONMENT.
21361         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
21362         augmentation.
21363         * modules/argp-version-etc-tests (Makefile.am): Likewise.
21364         * modules/atexit-tests (Makefile.am): Likewise.
21365         * modules/binary-io-tests (Makefile.am): Likewise.
21366         * modules/closein-tests (Makefile.am): Likewise.
21367         * modules/dprintf-posix-tests (Makefile.am): Likewise.
21368         * modules/exclude-tests (Makefile.am): Likewise.
21369         * modules/fflush-tests (Makefile.am): Likewise.
21370         * modules/fpending-tests (Makefile.am): Likewise.
21371         * modules/fprintf-posix-tests (Makefile.am): Likewise.
21372         * modules/freadahead-tests (Makefile.am): Likewise.
21373         * modules/freadptr-tests (Makefile.am): Likewise.
21374         * modules/freadseek-tests (Makefile.am): Likewise.
21375         * modules/fseek-tests (Makefile.am): Likewise.
21376         * modules/fseeko-tests (Makefile.am): Likewise.
21377         * modules/ftell-tests (Makefile.am): Likewise.
21378         * modules/ftello-tests (Makefile.am): Likewise.
21379         * modules/idpriv-drop-tests (Makefile.am): Likewise.
21380         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
21381         * modules/lseek-tests (Makefile.am): Likewise.
21382         * modules/parse-duration-tests (Makefile.am): Likewise.
21383         * modules/perror-tests (Makefile.am): Likewise.
21384         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
21385         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
21386         * modules/pipe-tests (Makefile.am): Likewise.
21387         * modules/pread-tests (Makefile.am): Likewise.
21388         * modules/printf-posix-tests (Makefile.am): Likewise.
21389         * modules/select-tests (Makefile.am): Likewise.
21390         * modules/sigpipe-tests (Makefile.am): Likewise.
21391         * modules/tsearch-tests (Makefile.am): Likewise.
21392         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
21393         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
21394         * modules/uniname/uniname-tests (Makefile.am): Likewise.
21395         * modules/uniwidth/width-tests (Makefile.am): Likewise.
21396         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
21397         * modules/version-etc-tests (Makefile.am): Likewise.
21398         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
21399         * modules/vprintf-posix-tests (Makefile.am): Likewise.
21400         * modules/xalloc-die-tests (Makefile.am): Likewise.
21401         * modules/xprintf-posix-tests (Makefile.am): Likewise.
21402         * modules/xstrtoimax-tests (Makefile.am): Likewise.
21403         * modules/xstrtol-tests (Makefile.am): Likewise.
21404         * modules/xstrtoumax-tests (Makefile.am): Likewise.
21405         * modules/yesno-tests (Makefile.am): Likewise.
21406         Suggested by Jim Meyering.
21407
21408 2010-01-24  Bruno Haible  <bruno@clisp.org>
21409
21410         More documentation.
21411         * doc/gnulib.texi (Writing modules): New chapter.
21412         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
21413         the new chapter.
21414
21415 2010-01-24  Jim Meyering  <meyering@redhat.com>
21416
21417         maint.mk: do not prepend "./" after filtering
21418         * top/maint.mk (_prepend_srcdir_prefix): New variable
21419         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
21420         "./" when $(srcdir) is ".".
21421
21422         define STREQ(a,b) consistently, removing useless parentheses
21423         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
21424         since the only risk is that "a" or "b" contains an unparenthesized
21425         comma, but if either did that, STREQ would have 3 or more arguments.
21426         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
21427         * lib/fts.c (STREQ): Remove unnecessary parentheses.
21428         * lib/hash-triple.c (STREQ): Likewise.
21429         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
21430         * lib/getugroups.c (STREQ): Likewise.
21431
21432 2010-01-23  Jim Meyering  <meyering@redhat.com>
21433
21434         maint.mk: fix syntax-check in a non-srcdir build directory
21435         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
21436         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
21437
21438 2010-01-22  Jim Meyering  <meyering@redhat.com>
21439
21440         userspec: add unit tests
21441         * tests/test-userspec.c: New file.
21442         * modules/userspec-tests: Likewise.
21443
21444 2010-01-21  Jim Meyering  <meyering@redhat.com>
21445
21446         maint.mk: handle source file names containing "." robustly
21447         * top/maint.mk (_dot_escaped_srcdir): Define.
21448         (VC_LIST): Use it in LHS of sed substitution.
21449
21450 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
21451
21452         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
21453         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
21454         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
21455         from a non-srcdir build.
21456
21457 2010-01-20  Eric Blake  <ebb9@byu.net>
21458
21459         warn-on-use: use instead of link-warning
21460         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
21461         * modules/unistd (Depends-on, Makefile.am): Likewise.
21462         * modules/arpa_inet (Depends-on): Replace link-warning with
21463         warn-on-use.
21464         (Makefile.am): Update rules accordingly.
21465         * modules/ctype (Depends-on, Makefile.am): Likewise.
21466         * modules/dirent (Depends-on, Makefile.am): Likewise.
21467         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
21468         * modules/inttypes (Depends-on, Makefile.am): Likewise.
21469         * modules/langinfo (Depends-on, Makefile.am): Likewise.
21470         * modules/locale (Depends-on, Makefile.am): Likewise.
21471         * modules/math (Depends-on, Makefile.am): Likewise.
21472         * modules/search (Depends-on, Makefile.am): Likewise.
21473         * modules/signal (Depends-on, Makefile.am): Likewise.
21474         * modules/spawn (Depends-on, Makefile.am): Likewise.
21475         * modules/stdlib (Depends-on, Makefile.am): Likewise.
21476         * modules/string (Depends-on, Makefile.am): Likewise.
21477         * modules/strings (Depends-on, Makefile.am): Likewise.
21478         * modules/sys_file (Depends-on, Makefile.am): Likewise.
21479         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
21480         * modules/sys_select (Depends-on, Makefile.am): Likewise.
21481         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
21482         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
21483         * modules/sys_times (Depends-on, Makefile.am): Likewise.
21484         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
21485         * modules/wchar (Depends-on, Makefile.am): Likewise.
21486         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
21487         should be poisoned.
21488         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
21489         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
21490         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
21491         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
21492         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
21493         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
21494         * m4/math_h.m4 (gl_MATH_H): Likewise.
21495         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
21496         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
21497         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
21498         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
21499         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
21500         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
21501         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
21502         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
21503         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
21504         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
21505         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
21506         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
21507         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
21508         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
21509         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
21510         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
21511         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
21512         GL_LINK_WARNING.
21513         * lib/ctype.in.h: Likewise.
21514         * lib/dirent.in.h: Likewise.
21515         * lib/fcntl.in.h: Likewise.
21516         * lib/inttypes.in.h: Likewise.
21517         * lib/langinfo.in.h: Likewise.
21518         * lib/locale.in.h: Likewise.
21519         * lib/math.in.h: Likewise.
21520         * lib/search.in.h: Likewise.
21521         * lib/signal.in.h: Likewise.
21522         * lib/spawn.in.h: Likewise.
21523         * lib/stdio.in.h: Likewise.
21524         * lib/stdlib.in.h: Likewise.
21525         * lib/string.in.h: Likewise.
21526         * lib/strings.in.h: Likewise.
21527         * lib/sys_file.in.h: Likewise.
21528         * lib/sys_ioctl.in.h: Likewise.
21529         * lib/sys_select.in.h: Likewise.
21530         * lib/sys_socket.in.h: Likewise.
21531         * lib/sys_stat.in.h: Likewise.
21532         * lib/sys_times.in.h: Likewise.
21533         * lib/sys_utsname.in.h: Likewise.
21534         * lib/unistd.in.h: Likewise.
21535         * lib/wchar.in.h: Likewise.
21536
21537 2010-01-20  Bruno Haible  <bruno@clisp.org>
21538
21539         Avoid duplicate -lm.
21540         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
21541         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
21542         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
21543         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
21544         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
21545         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
21546         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
21547         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
21548         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
21549         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
21550         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
21551         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
21552         Reported by Paolo Bonzini.
21553
21554 2010-01-19  Bruno Haible  <bruno@clisp.org>
21555
21556         langinfo, nl_langinfo: Relicense under LGPLv2+.
21557         * modules/langinfo (License): Change to LGPLv2+.
21558         * modules/nl_langinfo (License): Likewise.
21559         Patch by David Lutterkort <lutter@redhat.com>.
21560
21561 2010-01-19  Bruno Haible  <bruno@clisp.org>
21562
21563         Avoid compilation error with cc on OSF/1 5.1.
21564         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
21565         statement, not before.
21566         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
21567
21568 2010-01-18  Bruno Haible  <bruno@clisp.org>
21569
21570         Avoid a link error due to the __printf__ symbol.
21571         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
21572         and 2.6.x.
21573         (__format__, __printf__): Remove definitions.
21574         * lib/argp-fmtstream.h: Likewise.
21575         * lib/argp.h: Likewise.
21576         * lib/error.h: Likewise.
21577         * lib/vasnprintf.h: Likewise.
21578         * lib/xprintf.h: Likewise.
21579         * lib/xvasprintf.h: Likewise.
21580         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
21581
21582 2010-01-18  Bruno Haible  <bruno@clisp.org>
21583
21584         Tests for module 'tanl'.
21585         * modules/tanl-tests: New file.
21586         * tests/test-tanl.c: New file.
21587
21588         Tests for module 'sqrtl'.
21589         * modules/sqrtl-tests: New file.
21590         * tests/test-sqrtl.c: New file.
21591
21592         Tests for module 'sinl'.
21593         * modules/sinl-tests: New file.
21594         * tests/test-sinl.c: New file.
21595
21596         Tests for module 'logl'.
21597         * modules/logl-tests: New file.
21598         * tests/test-logl.c: New file.
21599
21600         Tests for module 'expl'.
21601         * modules/expl-tests: New file.
21602         * tests/test-expl.c: New file.
21603
21604         Tests for module 'cosl'.
21605         * modules/cosl-tests: New file.
21606         * tests/test-cosl.c: New file.
21607
21608         Tests for module 'atanl'.
21609         * modules/atanl-tests: New file.
21610         * tests/test-atanl.c: New file.
21611
21612         Tests for module 'asinl'.
21613         * modules/asinl-tests: New file.
21614         * tests/test-asinl.c: New file.
21615
21616         Tests for module 'acosl'.
21617         * modules/acosl-tests: New file.
21618         * tests/test-acosl.c: New file.
21619
21620         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
21621         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
21622         tanl): Use the standard gnulib idiom.
21623         * lib/cosl.c: Don't include trigl.c and sincosl.c.
21624         * lib/sinl.c: Likewise.
21625         * lib/tanl.c: Don't include trigl.c.
21626         (kernel_tanl): Make static.
21627         * lib/sincosl.c: Include trigl.h first.
21628         * lib/trigl.c: Likewise.
21629         * m4/acosl.m4: New file.
21630         * m4/asinl.m4: New file.
21631         * m4/atanl.m4: New file.
21632         * m4/cosl.m4: New file.
21633         * m4/expl.m4: New file.
21634         * m4/logl.m4: New file.
21635         * m4/sinl.m4: New file.
21636         * m4/sqrtl.m4: New file.
21637         * m4/tanl.m4: New file.
21638         * m4/mathl.m4: Remove file.
21639         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
21640         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
21641         Don't initialize GNULIB_MATHL.
21642         * modules/acosl: New file.
21643         * modules/asinl: New file.
21644         * modules/atanl: New file.
21645         * modules/cosl: New file.
21646         * modules/expl: New file.
21647         * modules/logl: New file.
21648         * modules/sinl: New file.
21649         * modules/sqrtl: New file.
21650         * modules/tanl: New file.
21651         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
21652         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
21653         substitute GNULIB_MATHL.
21654         * modules/mathl: Rewritten.
21655         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
21656         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
21657         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
21658         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
21659         * doc/posix-functions/expl.texi: Mention the 'expl' module.
21660         * doc/posix-functions/logl.texi: Mention the 'logl' module.
21661         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
21662         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
21663         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
21664
21665 2010-01-18  Bruno Haible  <bruno@clisp.org>
21666
21667         sqrt: Make gl_FUNC_SQRT requirable.
21668         * m4/sqrt.m4: New file.
21669         * modules/sqrt (Files): Add it.
21670         (configure.ac): Invoke gl_FUNC_SQRT.
21671
21672 2010-01-18  Bruno Haible  <bruno@clisp.org>
21673
21674         New modules for common <math.h> functions.
21675         * m4/mathfunc.m4: New file.
21676         * modules/acos: New file.
21677         * modules/asin: New file.
21678         * modules/atan: New file.
21679         * modules/atan2: New file.
21680         * modules/cbrt: New file.
21681         * modules/copysign: New file.
21682         * modules/cos: New file.
21683         * modules/cosh: New file.
21684         * modules/erf: New file.
21685         * modules/erfc: New file.
21686         * modules/exp: New file.
21687         * modules/fabs: New file.
21688         * modules/fmod: New file.
21689         * modules/hypot: New file.
21690         * modules/j0: New file.
21691         * modules/j1: New file.
21692         * modules/jn: New file.
21693         * modules/ldexp: New file.
21694         * modules/lgamma: New file.
21695         * modules/log: New file.
21696         * modules/log10: New file.
21697         * modules/log1p: New file.
21698         * modules/logb: New file.
21699         * modules/modf: New file.
21700         * modules/nextafter: New file.
21701         * modules/pow: New file.
21702         * modules/remainder: New file.
21703         * modules/rint: New file.
21704         * modules/sin: New file.
21705         * modules/sinh: New file.
21706         * modules/sqrt: New file.
21707         * modules/tan: New file.
21708         * modules/tanh: New file.
21709         * modules/y0: New file.
21710         * modules/y1: New file.
21711         * modules/yn: New file.
21712         * doc/posix-functions/acos.texi: Mention the 'acos' module.
21713         * doc/posix-functions/asin.texi: Mention the 'asin' module.
21714         * doc/posix-functions/atan.texi: Mention the 'atan' module.
21715         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
21716         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
21717         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
21718         * doc/posix-functions/cos.texi: Mention the 'cos' module.
21719         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
21720         * doc/posix-functions/erf.texi: Mention the 'erf' module.
21721         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
21722         * doc/posix-functions/exp.texi: Mention the 'exp' module.
21723         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
21724         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
21725         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
21726         * doc/posix-functions/j0.texi: Mention the 'j0' module.
21727         * doc/posix-functions/j1.texi: Mention the 'j1' module.
21728         * doc/posix-functions/jn.texi: Mention the 'jn' module.
21729         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
21730         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
21731         * doc/posix-functions/log.texi: Mention the 'log' module.
21732         * doc/posix-functions/log10.texi: Mention the 'log10' module.
21733         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
21734         * doc/posix-functions/logb.texi: Mention the 'logb' module.
21735         * doc/posix-functions/modf.texi: Mention the 'modf' module.
21736         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
21737         * doc/posix-functions/pow.texi: Mention the 'pow' module.
21738         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
21739         * doc/posix-functions/rint.texi: Mention the 'rint' module.
21740         * doc/posix-functions/sin.texi: Mention the 'sin' module.
21741         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
21742         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
21743         * doc/posix-functions/tan.texi: Mention the 'tan' module.
21744         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
21745         * doc/posix-functions/y0.texi: Mention the 'y0' module.
21746         * doc/posix-functions/y1.texi: Mention the 'y1' module.
21747         * doc/posix-functions/yn.texi: Mention the 'yn' module.
21748
21749 2010-01-18  Jim Meyering  <meyering@redhat.com>
21750
21751         ignore-value: relax license to LGPLv2+
21752         * modules/ignore-value (License): Relax to LGPLv2+.
21753
21754         getdate: don't leak when TZ contains two or more '"'s
21755         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
21756         double quote in TZ after the first one.
21757
21758         readtokens: do not leak internal token_lengths buffer
21759         * lib/readtokens.c (readtokens): Free the local, lengths,
21760         when the supplied "token_lengths" parameter is NULL.
21761
21762 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21763
21764         Fix a couple of missing LIBTHREAD link failures on AIX.
21765         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
21766         $(LIBTHREAD).
21767         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
21768
21769         Link test-poll against INET_PTON_LIB.
21770         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
21771         for inet_pton on Solaris 10.
21772
21773 2010-01-17  Bruno Haible  <bruno@clisp.org>
21774
21775         unistdio/*-sprintf: Fix typo in module description.
21776         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
21777         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
21778         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
21779         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
21780         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
21781         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
21782         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
21783         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
21784
21785 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21786
21787         gnulib-tool: fix filelist for AIX, HP-UX ksh.
21788         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
21789         variables in shell case patterns, for AIX and HP-UX ksh.
21790
21791         Split large sed scripts, for HP-UX sed.
21792         * modules/stdio: Split sed scripts around 50 sed commands,
21793         to avoid HP-UX limit of 99 commands, in the near future.
21794         * modules/string: Likewise.
21795         * modules/unistd: Likewise.
21796
21797         gnulib-tool: avoid writing in the current directory.
21798         * gnulib-tool (func_emit_lib_Makefile_am)
21799         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
21800         not in the current directory, so concurrent gnulib-tool
21801         instances do not interfere.
21802
21803 2010-01-16  Jim Meyering  <meyering@redhat.com>
21804
21805         doc: update users.txt
21806         * users.txt: Add grep.
21807         (diffutils, gzip): Update URLs.
21808
21809 2010-01-12  Bruno Haible  <bruno@clisp.org>
21810
21811         posix_spawn: Avoid test failure on Cygwin.
21812         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
21813         characters.
21814         Reported by Simon Josefsson.
21815
21816 2010-01-12  Bruno Haible  <bruno@clisp.org>
21817
21818         * tests/test-cond.c (main): When skipping the test, show the reason.
21819
21820 2010-01-12  Simon Josefsson  <simon@josefsson.org>
21821
21822         * lib/striconv.c (str_cd_iconv): Avoid if before free.
21823
21824 2010-01-12  Simon Josefsson  <simon@josefsson.org>
21825
21826         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
21827         VC_LIST_ALWAYS_EXCLUDE_REGEX.
21828
21829 2010-01-12  Eric Blake  <ebb9@byu.net>
21830
21831         build: guarantee AS_VAR_IF
21832         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
21833         (gl_AS_VAR_IF): Move...
21834         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
21835         Reported by Simon Josefsson.
21836
21837 2010-01-12  Simon Josefsson  <simon@josefsson.org>
21838
21839         * lib/stdio.in.h: Fix typo.
21840
21841 2010-01-12  Simon Josefsson  <simon@josefsson.org>
21842
21843         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
21844         libgpg-error.
21845
21846 2010-01-12  Simon Josefsson  <simon@josefsson.org>
21847
21848         * tests/test-xalloc-die.sh: Use $EXEEXT.
21849
21850 2010-01-12  Simon Josefsson  <simon@josefsson.org>
21851             Bruno Haible  <bruno@clisp.org>
21852
21853         getlogin, getlogin_r: Avoid test failure.
21854         * tests/test-getlogin.c: Include <stdio.h>.
21855         (main): Skip the test when the function fails because stdin is not a
21856         tty.
21857         * tests/test-getlogin_r.c: Include <stdio.h>.
21858         (main): Skip the test when the function fails because stdin is not a
21859         tty.
21860
21861 2010-01-11  Eric Blake  <ebb9@byu.net>
21862
21863         tests: avoid more large file warnings
21864         * tests/test-fflush.c: Avoid warning about ftell use.
21865         * tests/test-fseek.c: Avoid warning about fseek use.
21866
21867 2010-01-10  Bruno Haible  <bruno@clisp.org>
21868
21869         nproc: Work better on Linux when /proc and /sys are not mounted.
21870         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
21871         as lower bound when, on glibc/Linux systems,
21872         sysconf (_SC_NPROCESSORS_CONF) returns 1.
21873         Suggested by Pádraig Brady <P@draigbrady.com>.
21874         Reported by Dmitry V. Levin <ldv@altlinux.org>.
21875
21876         nproc: Refactor.
21877         * lib/nproc.c (num_processors_via_affinity_mask): New function,
21878         extracted from num_processors.
21879         (num_processors): Call it.
21880
21881 2010-01-11  Jim Meyering  <meyering@redhat.com>
21882
21883         utimecmp: avoid new warning from upcoming gcc-4.5.0
21884         * lib/utimecmp.c (BILLION): Define using #define rather than an
21885         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
21886
21887 2010-01-11  Eric Blake  <ebb9@byu.net>
21888
21889         math: add portability warnings for classification macros
21890         * modules/math (Depends-on): Add warn-on-use.
21891         (Makefile.am): Provide new substitutions.
21892         * m4/math_h.m4 (gl_MATH_H): Require inline.
21893         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
21894         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
21895         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
21896         implement warnings.
21897
21898         unistd: warn on use of environ without module
21899         * modules/unistd (Depends-on): Add warn-on-use.
21900         (Makefile.am): Provide new substitutions.
21901         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
21902         * lib/unistd.in.h (environ): Wrap with a warning helper function.
21903
21904         stdio: warn on suspicious uses
21905         * modules/stdio (Depends-on): Add warn-on-use.
21906         (Makefile.am): Provide new substitutions.
21907         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
21908         fseeko.
21909         * lib/stdio.in.h (gets): Always warn on use.
21910         (fseek, ftell): Adjust when warnings are issued, and honor
21911         _GL_NO_LARGE_FILES as a way to silence the warning.
21912         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
21913         any warning about large file offsets.
21914         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
21915         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
21916         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
21917         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
21918         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
21919         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
21920         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
21921         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
21922
21923         warn-on-use: new module
21924         * modules/warn-on-use: New file.
21925         * build-aux/warn-on-use.h: Likewise.
21926         * m4/warn-on-use.m4: Likewise.
21927         * MODULES.html.sh (Support for building): Mention it.
21928
21929 2010-01-10  Bruno Haible  <bruno@clisp.org>
21930
21931         Tests for module 'unistr/u32-strdup'.
21932         * modules/unistr/u32-strdup-tests: New file.
21933         * tests/unistr/test-u32-strdup.c: New file.
21934
21935         Tests for module 'unistr/u16-strdup'.
21936         * modules/unistr/u16-strdup-tests: New file.
21937         * tests/unistr/test-u16-strdup.c: New file.
21938
21939         Tests for module 'unistr/u8-strdup'.
21940         * modules/unistr/u8-strdup-tests: New file.
21941         * tests/unistr/test-u8-strdup.c: New file.
21942         * tests/unistr/test-strdup.h: New file.
21943
21944         Tests for module 'unistr/u32-strncmp'.
21945         * modules/unistr/u32-strncmp-tests: New file.
21946         * tests/unistr/test-u32-strncmp.c: New file.
21947
21948         Tests for module 'unistr/u16-strncmp'.
21949         * modules/unistr/u16-strncmp-tests: New file.
21950         * tests/unistr/test-u16-strncmp.c: New file.
21951
21952         Tests for module 'unistr/u8-strncmp'.
21953         * modules/unistr/u8-strncmp-tests: New file.
21954         * tests/unistr/test-u8-strncmp.c: New file.
21955         * tests/unistr/test-strncmp.h: New file.
21956
21957         Tests for module 'unistr/u32-strcoll'.
21958         * modules/unistr/u32-strcoll-tests: New file.
21959         * tests/unistr/test-u32-strcoll.c: New file.
21960
21961         Tests for module 'unistr/u16-strcoll'.
21962         * modules/unistr/u16-strcoll-tests: New file.
21963         * tests/unistr/test-u16-strcoll.c: New file.
21964
21965         Tests for module 'unistr/u8-strcoll'.
21966         * modules/unistr/u8-strcoll-tests: New file.
21967         * tests/unistr/test-u8-strcoll.c: New file.
21968
21969         Tests for module 'unistr/u32-strcmp'.
21970         * modules/unistr/u32-strcmp-tests: New file.
21971         * tests/unistr/test-u32-strcmp.c: New file.
21972         * tests/unistr/test-u32-strcmp.h: New file.
21973
21974         Tests for module 'unistr/u16-strcmp'.
21975         * modules/unistr/u16-strcmp-tests: New file.
21976         * tests/unistr/test-u16-strcmp.c: New file.
21977         * tests/unistr/test-u16-strcmp.h: New file.
21978
21979         Tests for module 'unistr/u8-strcmp'.
21980         * modules/unistr/u8-strcmp-tests: New file.
21981         * tests/unistr/test-u8-strcmp.c: New file.
21982         * tests/unistr/test-u8-strcmp.h: New file.
21983         * tests/unistr/test-strcmp.h: New file.
21984
21985         Tests for module 'unistr/u32-strncat'.
21986         * modules/unistr/u32-strncat-tests: New file.
21987         * tests/unistr/test-u32-strncat.c: New file.
21988
21989         Tests for module 'unistr/u16-strncat'.
21990         * modules/unistr/u16-strncat-tests: New file.
21991         * tests/unistr/test-u16-strncat.c: New file.
21992
21993         Tests for module 'unistr/u8-strncat'.
21994         * modules/unistr/u8-strncat-tests: New file.
21995         * tests/unistr/test-u8-strncat.c: New file.
21996         * tests/unistr/test-strncat.h: New file.
21997
21998         Tests for module 'unistr/u32-strcat'.
21999         * modules/unistr/u32-strcat-tests: New file.
22000         * tests/unistr/test-u32-strcat.c: New file.
22001
22002         Tests for module 'unistr/u16-strcat'.
22003         * modules/unistr/u16-strcat-tests: New file.
22004         * tests/unistr/test-u16-strcat.c: New file.
22005
22006         Tests for module 'unistr/u8-strcat'.
22007         * modules/unistr/u8-strcat-tests: New file.
22008         * tests/unistr/test-u8-strcat.c: New file.
22009         * tests/unistr/test-strcat.h: New file.
22010
22011         Tests for module 'unistr/u32-stpncpy'.
22012         * modules/unistr/u32-stpncpy-tests: New file.
22013         * tests/unistr/test-u32-stpncpy.c: New file.
22014
22015         Tests for module 'unistr/u16-stpncpy'.
22016         * modules/unistr/u16-stpncpy-tests: New file.
22017         * tests/unistr/test-u16-stpncpy.c: New file.
22018
22019         Tests for module 'unistr/u8-stpncpy'.
22020         * modules/unistr/u8-stpncpy-tests: New file.
22021         * tests/unistr/test-u8-stpncpy.c: New file.
22022         * tests/unistr/test-stpncpy.h: New file.
22023
22024         Tests for module 'unistr/u32-strncpy'.
22025         * modules/unistr/u32-strncpy-tests: New file.
22026         * tests/unistr/test-u32-strncpy.c: New file.
22027
22028         Tests for module 'unistr/u16-strncpy'.
22029         * modules/unistr/u16-strncpy-tests: New file.
22030         * tests/unistr/test-u16-strncpy.c: New file.
22031
22032         Tests for module 'unistr/u8-strncpy'.
22033         * modules/unistr/u8-strncpy-tests: New file.
22034         * tests/unistr/test-u8-strncpy.c: New file.
22035         * tests/unistr/test-strncpy.h: New file.
22036
22037         Tests for module 'unistr/u32-stpcpy'.
22038         * modules/unistr/u32-stpcpy-tests: New file.
22039         * tests/unistr/test-u32-stpcpy.c: New file.
22040
22041         Tests for module 'unistr/u16-stpcpy'.
22042         * modules/unistr/u16-stpcpy-tests: New file.
22043         * tests/unistr/test-u16-stpcpy.c: New file.
22044
22045         Tests for module 'unistr/u8-stpcpy'.
22046         * modules/unistr/u8-stpcpy-tests: New file.
22047         * tests/unistr/test-u8-stpcpy.c: New file.
22048         * tests/unistr/test-stpcpy.h: New file.
22049
22050         Tests for module 'unistr/u32-strcpy'.
22051         * modules/unistr/u32-strcpy-tests: New file.
22052         * tests/unistr/test-u32-strcpy.c: New file.
22053
22054         Tests for module 'unistr/u16-strcpy'.
22055         * modules/unistr/u16-strcpy-tests: New file.
22056         * tests/unistr/test-u16-strcpy.c: New file.
22057
22058         Tests for module 'unistr/u8-strcpy'.
22059         * modules/unistr/u8-strcpy-tests: New file.
22060         * tests/unistr/test-u8-strcpy.c: New file.
22061         * tests/unistr/test-strcpy.h: New file.
22062
22063         Tests for module 'unistr/u32-strnlen'.
22064         * modules/unistr/u32-strnlen-tests: New file.
22065         * tests/unistr/test-u32-strnlen.c: New file.
22066
22067         Tests for module 'unistr/u16-strnlen'.
22068         * modules/unistr/u16-strnlen-tests: New file.
22069         * tests/unistr/test-u16-strnlen.c: New file.
22070
22071         Tests for module 'unistr/u8-strnlen'.
22072         * modules/unistr/u8-strnlen-tests: New file.
22073         * tests/unistr/test-u8-strnlen.c: New file.
22074         * tests/unistr/test-strnlen.h: New file.
22075
22076         Tests for module 'unistr/u32-strlen'.
22077         * modules/unistr/u32-strlen-tests: New file.
22078         * tests/unistr/test-u32-strlen.c: New file.
22079
22080         Tests for module 'unistr/u16-strlen'.
22081         * modules/unistr/u16-strlen-tests: New file.
22082         * tests/unistr/test-u16-strlen.c: New file.
22083
22084         Tests for module 'unistr/u8-strlen'.
22085         * modules/unistr/u8-strlen-tests: New file.
22086         * tests/unistr/test-u8-strlen.c: New file.
22087
22088         Tests for module 'unistr/u32-prev'.
22089         * modules/unistr/u32-prev-tests: New file.
22090         * tests/unistr/test-u32-prev.c: New file.
22091
22092         Tests for module 'unistr/u16-prev'.
22093         * modules/unistr/u16-prev-tests: New file.
22094         * tests/unistr/test-u16-prev.c: New file.
22095
22096         Tests for module 'unistr/u8-prev'.
22097         * modules/unistr/u8-prev-tests: New file.
22098         * tests/unistr/test-u8-prev.c: New file.
22099
22100         Tests for module 'unistr/u32-next'.
22101         * modules/unistr/u32-next-tests: New file.
22102         * tests/unistr/test-u32-next.c: New file.
22103
22104         Tests for module 'unistr/u16-next'.
22105         * modules/unistr/u16-next-tests: New file.
22106         * tests/unistr/test-u16-next.c: New file.
22107
22108         Tests for module 'unistr/u8-next'.
22109         * modules/unistr/u8-next-tests: New file.
22110         * tests/unistr/test-u8-next.c: New file.
22111
22112         Tests for module 'unistr/u32-strmbtouc'.
22113         * modules/unistr/u32-strmbtouc-tests: New file.
22114         * tests/unistr/test-u32-strmbtouc.c: New file.
22115
22116         Tests for module 'unistr/u16-strmbtouc'.
22117         * modules/unistr/u16-strmbtouc-tests: New file.
22118         * tests/unistr/test-u16-strmbtouc.c: New file.
22119
22120         Tests for module 'unistr/u8-strmbtouc'.
22121         * modules/unistr/u8-strmbtouc-tests: New file.
22122         * tests/unistr/test-u8-strmbtouc.c: New file.
22123
22124         Tests for module 'unistr/u32-strmblen'.
22125         * modules/unistr/u32-strmblen-tests: New file.
22126         * tests/unistr/test-u32-strmblen.c: New file.
22127
22128         Tests for module 'unistr/u16-strmblen'.
22129         * modules/unistr/u16-strmblen-tests: New file.
22130         * tests/unistr/test-u16-strmblen.c: New file.
22131
22132         Tests for module 'unistr/u8-strmblen'.
22133         * modules/unistr/u8-strmblen-tests: New file.
22134         * tests/unistr/test-u8-strmblen.c: New file.
22135
22136         Tests for module 'unistr/u32-cpy-alloc'.
22137         * modules/unistr/u32-cpy-alloc-tests: New file.
22138         * tests/unistr/test-u32-cpy-alloc.c: New file.
22139
22140         Tests for module 'unistr/u16-cpy-alloc'.
22141         * modules/unistr/u16-cpy-alloc-tests: New file.
22142         * tests/unistr/test-u16-cpy-alloc.c: New file.
22143
22144         Tests for module 'unistr/u8-cpy-alloc'.
22145         * modules/unistr/u8-cpy-alloc-tests: New file.
22146         * tests/unistr/test-u8-cpy-alloc.c: New file.
22147         * tests/unistr/test-cpy-alloc.h: New file.
22148
22149         Tests for module 'unistr/u32-mbsnlen'.
22150         * modules/unistr/u32-mbsnlen-tests: New file.
22151         * tests/unistr/test-u32-mbsnlen.c: New file.
22152
22153         Tests for module 'unistr/u16-mbsnlen'.
22154         * modules/unistr/u16-mbsnlen-tests: New file.
22155         * tests/unistr/test-u16-mbsnlen.c: New file.
22156
22157         Tests for module 'unistr/u8-mbsnlen'.
22158         * modules/unistr/u8-mbsnlen-tests: New file.
22159         * tests/unistr/test-u8-mbsnlen.c: New file.
22160
22161         Tests for module 'unistr/u32-chr'.
22162         * modules/unistr/u32-chr-tests: New file.
22163         * tests/unistr/test-u32-chr.c: New file.
22164
22165         Tests for module 'unistr/u16-chr'.
22166         * modules/unistr/u16-chr-tests: New file.
22167         * tests/unistr/test-u16-chr.c: New file.
22168
22169         Tests for module 'unistr/u8-chr'.
22170         * modules/unistr/u8-chr-tests: New file.
22171         * tests/unistr/test-u8-chr.c: New file.
22172         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
22173
22174         Tests for module 'unistr/u32-cmp2'.
22175         * modules/unistr/u32-cmp2-tests: New file.
22176         * tests/unistr/test-u32-cmp2.c: New file.
22177
22178         Tests for module 'unistr/u16-cmp2'.
22179         * modules/unistr/u16-cmp2-tests: New file.
22180         * tests/unistr/test-u16-cmp2.c: New file.
22181
22182         Tests for module 'unistr/u8-cmp2'.
22183         * modules/unistr/u8-cmp2-tests: New file.
22184         * tests/unistr/test-u8-cmp2.c: New file.
22185         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
22186
22187         Tests for module 'unistr/u32-cmp'.
22188         * modules/unistr/u32-cmp-tests: New file.
22189         * tests/unistr/test-u32-cmp.c: New file.
22190
22191         Tests for module 'unistr/u16-cmp'.
22192         * modules/unistr/u16-cmp-tests: New file.
22193         * tests/unistr/test-u16-cmp.c: New file.
22194
22195         Tests for module 'unistr/u8-cmp'.
22196         * modules/unistr/u8-cmp-tests: New file.
22197         * tests/unistr/test-u8-cmp.c: New file.
22198         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
22199
22200         Tests for module 'unistr/u32-set'.
22201         * modules/unistr/u32-set-tests: New file.
22202         * tests/unistr/test-u32-set.c: New file.
22203
22204         Tests for module 'unistr/u16-set'.
22205         * modules/unistr/u16-set-tests: New file.
22206         * tests/unistr/test-u16-set.c: New file.
22207
22208         Tests for module 'unistr/u8-set'.
22209         * modules/unistr/u8-set-tests: New file.
22210         * tests/unistr/test-u8-set.c: New file.
22211         * tests/unistr/test-set.h: New file.
22212
22213         Tests for module 'unistr/u32-move'.
22214         * modules/unistr/u32-move-tests: New file.
22215         * tests/unistr/test-u32-move.c: New file.
22216
22217         Tests for module 'unistr/u16-move'.
22218         * modules/unistr/u16-move-tests: New file.
22219         * tests/unistr/test-u16-move.c: New file.
22220
22221         Tests for module 'unistr/u8-move'.
22222         * modules/unistr/u8-move-tests: New file.
22223         * tests/unistr/test-u8-move.c: New file.
22224         * tests/unistr/test-move.h: New file.
22225
22226         Tests for module 'unistr/u32-cpy'.
22227         * modules/unistr/u32-cpy-tests: New file.
22228         * tests/unistr/test-u32-cpy.c: New file.
22229
22230         Tests for module 'unistr/u16-cpy'.
22231         * modules/unistr/u16-cpy-tests: New file.
22232         * tests/unistr/test-u16-cpy.c: New file.
22233
22234         Tests for module 'unistr/u8-cpy'.
22235         * modules/unistr/u8-cpy-tests: New file.
22236         * tests/unistr/test-u8-cpy.c: New file.
22237         * tests/unistr/test-cpy.h: New file.
22238
22239 2010-01-09  Bruno Haible  <bruno@clisp.org>
22240
22241         Tests for module 'unistr/u32-uctomb'.
22242         * modules/unistr/u32-uctomb-tests: New file.
22243         * tests/unistr/test-u32-uctomb.c: New file.
22244
22245         Tests for module 'unistr/u16-uctomb'.
22246         * modules/unistr/u16-uctomb-tests: New file.
22247         * tests/unistr/test-u16-uctomb.c: New file.
22248
22249         Tests for module 'unistr/u8-uctomb'.
22250         * modules/unistr/u8-uctomb-tests: New file.
22251         * tests/unistr/test-u8-uctomb.c: New file.
22252
22253         Tests for module 'unistr/u32-mbtoucr'.
22254         * modules/unistr/u32-mbtoucr-tests: New file.
22255         * tests/unistr/test-u32-mbtoucr.c: New file.
22256
22257         Tests for module 'unistr/u16-mbtoucr'.
22258         * modules/unistr/u16-mbtoucr-tests: New file.
22259         * tests/unistr/test-u16-mbtoucr.c: New file.
22260
22261         Tests for module 'unistr/u8-mbtoucr'.
22262         * modules/unistr/u8-mbtoucr-tests: New file.
22263         * tests/unistr/test-u8-mbtoucr.c: New file.
22264
22265         Tests for module 'unistr/u32-mbtouc'.
22266         * modules/unistr/u32-mbtouc-tests: New file.
22267         * tests/unistr/test-u32-mbtouc.c: New file.
22268
22269         Tests for module 'unistr/u16-mbtouc'.
22270         * modules/unistr/u16-mbtouc-tests: New file.
22271         * tests/unistr/test-u16-mbtouc.c: New file.
22272
22273         Tests for module 'unistr/u8-mbtouc'.
22274         * modules/unistr/u8-mbtouc-tests: New file.
22275         * tests/unistr/test-u8-mbtouc.c: New file.
22276
22277         Tests for module 'unistr/u32-mbtouc-unsafe'.
22278         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
22279         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
22280         * tests/unistr/test-u32-mbtouc.h: New file.
22281
22282         Tests for module 'unistr/u16-mbtouc-unsafe'.
22283         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
22284         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
22285         * tests/unistr/test-u16-mbtouc.h: New file.
22286
22287         Tests for module 'unistr/u8-mbtouc-unsafe'.
22288         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
22289         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
22290         * tests/unistr/test-u8-mbtouc.h: New file.
22291
22292         Tests for module 'unistr/u32-mblen'.
22293         * modules/unistr/u32-mblen-tests: New file.
22294         * tests/unistr/test-u32-mblen.c: New file.
22295
22296         Tests for module 'unistr/u16-mblen'.
22297         * modules/unistr/u16-mblen-tests: New file.
22298         * tests/unistr/test-u16-mblen.c: New file.
22299
22300         Tests for module 'unistr/u8-mblen'.
22301         * modules/unistr/u8-mblen-tests: New file.
22302         * tests/unistr/test-u8-mblen.c: New file.
22303
22304         Tests for module 'unistr/u32-to-u16'.
22305         * modules/unistr/u32-to-u16-tests: New file.
22306         * tests/unistr/test-u32-to-u16.c: New file.
22307
22308         Tests for module 'unistr/u32-to-u8'.
22309         * modules/unistr/u32-to-u8-tests: New file.
22310         * tests/unistr/test-u32-to-u8.c: New file.
22311
22312         Tests for module 'unistr/u16-to-u32'.
22313         * modules/unistr/u16-to-u32-tests: New file.
22314         * tests/unistr/test-u16-to-u32.c: New file.
22315
22316         Tests for module 'unistr/u16-to-u8'.
22317         * modules/unistr/u16-to-u8-tests: New file.
22318         * tests/unistr/test-u16-to-u8.c: New file.
22319
22320         Tests for module 'unistr/u8-to-u32'.
22321         * modules/unistr/u8-to-u32-tests: New file.
22322         * tests/unistr/test-u8-to-u32.c: New file.
22323
22324         Tests for module 'unistr/u8-to-u16'.
22325         * modules/unistr/u8-to-u16-tests: New file.
22326         * tests/unistr/test-u8-to-u16.c: New file.
22327
22328         Tests for module 'unistr/u32-check'.
22329         * modules/unistr/u32-check-tests: New file.
22330         * tests/unistr/test-u32-check.c: New file.
22331
22332         Tests for module 'unistr/u16-check'.
22333         * modules/unistr/u16-check-tests: New file.
22334         * tests/unistr/test-u16-check.c: New file.
22335
22336         Tests for module 'unistr/u8-check'.
22337         * modules/unistr/u8-check-tests: New file.
22338         * tests/unistr/test-u8-check.c: New file.
22339
22340         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
22341         (category_equals): New function.
22342         (main): Add more tests.
22343         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
22344
22345         * tests/unictype/test-bidi_byname.c (main): Add more tests.
22346
22347 2010-01-10  Bruno Haible  <bruno@clisp.org>
22348
22349         unistr/u*-strcoll: Try harder to distinguish different strings.
22350         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
22351         compare s1 and s2 to see if they are different.
22352
22353 2010-01-10  Bruno Haible  <bruno@clisp.org>
22354
22355         unistr/u*-stpncpy: Fix the return value.
22356         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
22357         description of the return value consistent with stpncpy in glibc.
22358         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
22359         written non-NUL unit.
22360
22361 2010-01-10  Bruno Haible  <bruno@clisp.org>
22362
22363         unistr/u*-next: Add missing dependencies.
22364         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
22365         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
22366         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
22367
22368 2010-01-10  Bruno Haible  <bruno@clisp.org>
22369
22370         unistr/u8-mbsnlen: Fix return value for incomplete character.
22371         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
22372         u8_mblen.
22373         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
22374         Remove unistr/u8-mblen.
22375         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
22376         u16_mblen.
22377         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
22378         Remove unistr/u16-mblen.
22379
22380 2010-01-10  Bruno Haible  <bruno@clisp.org>
22381
22382         wchar: Fix compilation error when <wchar.h> is used from coreutils.
22383         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
22384         Reported by Brian Gough <bjg@gnu.org> and
22385         Chris Clayton <chris2553@googlemail.com> via
22386         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
22387
22388 2010-01-09  Bruno Haible  <bruno@clisp.org>
22389
22390         unistr/u16-to-u32: Reject invalid input.
22391         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
22392         u16_mbtouc.
22393         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
22394         Remove unistr/u16-mbtouc.
22395
22396         unistr/u16-to-u8: Reject invalid input.
22397         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
22398         u16_mbtouc.
22399         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
22400         Remove unistr/u16-mbtouc.
22401
22402         unistr/u8-to-u32: Reject invalid input.
22403         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
22404         u8_mbtouc.
22405         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
22406         Remove unistr/u8-mbtouc.
22407
22408         unistr/u8-to-u16: Reject invalid input.
22409         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
22410         u8_mbtouc.
22411         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
22412         Remove unistr/u8-mbtouc.
22413
22414 2010-01-09  Bruno Haible  <bruno@clisp.org>
22415
22416         Tests for module 'getlogin'.
22417         * modules/getlogin-tests: New file.
22418         * tests/test-getlogin.c: New file.
22419
22420         New module 'getlogin'.
22421         * lib/unistd.in.h (getlogin): New declaration.
22422         * lib/getlogin.c: New file.
22423         * m4/getlogin.m4: New file.
22424         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
22425         HAVE_GETLOGIN.
22426         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
22427         HAVE_GETLOGIN.
22428         * modules/getlogin: New file.
22429         * doc/posix-functions/getlogin.texi: Mention the new module.
22430         Reported by John W. Eaton <jwe@gnu.org>.
22431
22432 2010-01-09  Bruno Haible  <bruno@clisp.org>
22433
22434         getlogin_r: Support for native Windows.
22435         * lib/getlogin_r.c: Include <windows.h>
22436         (getlogin_r): Implement for native Windows.
22437         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
22438         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
22439         via John W. Eaton <jwe@gnu.org>.
22440
22441 2010-01-09  Bruno Haible  <bruno@clisp.org>
22442
22443         getlogin_r: Small fixes.
22444         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
22445         succeeds.
22446         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
22447         before testing whether getlogin_r is declared. No need to set
22448         HAVE_DECL_GETLOGIN_R to 1.
22449         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
22450
22451 2010-01-09  Bruno Haible  <bruno@clisp.org>
22452
22453         * lib/unistd.in.h (getlogin_r): Add comment.
22454
22455 2010-01-09  Bruno Haible  <bruno@clisp.org>
22456
22457         Tests for module 'getlogin_r'.
22458         * modules/getlogin_r-tests: New file.
22459         * tests/test-getlogin_r.c: New file.
22460
22461 2010-01-09  Jim Meyering  <meyering@redhat.com>
22462
22463         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
22464         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
22465         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
22466
22467 2010-01-08  Simon Josefsson  <simon@josefsson.org>
22468
22469         * lib/dup2.c (rpl_dup2): Improve comment.
22470
22471 2010-01-08  Eric Blake  <ebb9@byu.net>
22472
22473         maint.mk: allow packages to add makefile @@ exceptions
22474         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
22475         (sc_makefile_check): Rename...
22476         (sc_makefile_at_at_check): ...to this, and use hook.
22477
22478         dup2: work around mingw bug
22479         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
22480         Reported by Simon Josefsson.
22481
22482 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
22483
22484         glob: Fix C++ compilation.
22485         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
22486         C++.
22487
22488 2010-01-07  Bruno Haible  <bruno@clisp.org>
22489
22490         Fix indentation of wctype.in.h, broken since 2007-01-06.
22491         * lib/wctype.in.h: Fix indentation of preprocessor directives.
22492
22493 2010-01-07  Bruno Haible  <bruno@clisp.org>
22494
22495         mbslen: Avoid collision with system function.
22496         * lib/string.in.h [MirBSD]: Include <wchar.h>.
22497         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
22498         * m4/mbslen.m4: New file.
22499         * modules/mbslen (Files): Add it.
22500         (configure.ac): Invoke gl_MBSLEN.
22501         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
22502         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
22503         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
22504         via Ian Beckwith <ianb@erislabs.net>.
22505
22506 2010-01-07  Bruno Haible  <bruno@clisp.org>
22507
22508         dirent: Document the last fix.
22509         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
22510
22511 2010-01-07  Bruno Haible  <bruno@clisp.org>
22512
22513         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
22514         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
22515         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
22516         va_list are defined.
22517         * doc/posix-headers/stdio.texi: Document the bug of missing types.
22518         Reported by Eric Blake.
22519
22520 2010-01-07  Bruno Haible  <bruno@clisp.org>
22521
22522         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
22523         * modules/xlist (Depends-on): Add 'list',
22524         * modules/xoset (Depends-on): Add 'oset'.
22525         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
22526
22527 2010-01-07  Bruno Haible  <bruno@clisp.org>
22528
22529         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
22530         * doc/posix-functions/strncasecmp.texi: Likewise.
22531
22532 2010-01-07  Bruno Haible  <bruno@clisp.org>
22533
22534         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
22535
22536 2010-01-07  John W. Eaton  <jwe@octave.org>
22537
22538         wctype: allow C++ use
22539         * lib/wctype.in.h: Add extern "C" block for C++.
22540
22541 2010-01-06  Eric Blake  <ebb9@byu.net>
22542
22543         maint.mk: detect incorrect GFDL usage
22544         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
22545
22546 2010-01-06  Jim Meyering  <meyering@redhat.com>
22547         and Eric Blake  <ebb9@byu.net>
22548
22549         maint.mk: ignore multi-line copyright in NEWS
22550         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
22551
22552 2010-01-06  Eric Blake  <ebb9@byu.net>
22553
22554         select: add missing dependency
22555         * modules/select-tests (Depends-on): Move sockets dependency...
22556         * modules/select (Depends-on): ...here.
22557         Reported by Ian Beckwith.
22558
22559         doc: regenerate INSTALL
22560         * doc/INSTALL: Reflect recent autoconf update.
22561         * doc/INSTALL.ISO: Likewise.
22562         * doc/INSTALL.UTF-8: Likewise.
22563
22564         pread: fix compilation on glibc
22565         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
22566         Reported by Ralf Wildenhues.
22567
22568         dirent: fix test failure
22569         * lib/dirent.in.h (includes): Guarantee ino_t.
22570         Reported by Ralf Wildenhues.
22571
22572 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
22573
22574         linkat, renameat: avoid bad free
22575         * lib/at-func2.c (at_func2): Fix typo.
22576         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
22577
22578 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22579
22580         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
22581         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
22582         to avoid failure of symlink test later.
22583
22584 2010-01-06  Eric Blake  <ebb9@byu.net>
22585
22586         stdio, unistd: guarantee ssize_t
22587         * lib/unistd.in.h (includes): Ensure that types required by POSIX
22588         2008 are exposed when needed.
22589         * lib/stdio.in.h (includes): Likewise.
22590         Reported by Ralf Wildenhues.
22591
22592 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
22593
22594         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
22595         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
22596         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
22597
22598 2010-01-06  Jim Meyering  <meyering@redhat.com>
22599
22600         readtokens: this module *does* require xalloc.h
22601         It uses only functions that were omitted by the old syntax-check rule.
22602         * lib/readtokens.c: Include "xalloc.h" once again.
22603         * modules/readtokens (Depends-on): Add xalloc.
22604         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
22605
22606 2010-01-05  Eric Blake  <ebb9@byu.net>
22607
22608         maint: support 'make announcement' from a VPATH build
22609         * top/maint.mk (announcement): Look for correct NEWS file.
22610
22611 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
22612
22613         utimens (fdutimens): ignore a negative FD, per contract
22614         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
22615         when we have a valid file descriptor.  Otherwise, using a brand
22616         new glibc (with just-patched futimens that now fails with EBADF)
22617         would cause this function to fail with ENOSYS.
22618         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
22619         See also http://bugzilla.redhat.com/552320.
22620
22621 2010-01-05  Eric Blake  <ebb9@byu.net>
22622
22623         strcase: document what it provides
22624         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
22625         gnulib module.
22626         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
22627         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
22628
22629 2010-01-05  Jim Meyering  <meyering@redhat.com>
22630
22631         maint: remove useless inclusions of "xalloc.h"
22632         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
22633         * lib/readtokens.c: Likewise.
22634         * lib/same.c: Likewise.
22635         * modules/getloadavg (Depends-on): Remove xalloc.
22636         * modules/readtokens: Likewise.
22637         * modules/same: Likewise.
22638
22639         maint.mk: include 4 more function names in alloca.h-checking regexp
22640         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
22641         regexp.  Before, we would give a false-positive (saying alloca.h
22642         is included unnecessarily) when the only uses involved omitted symbols.
22643
22644         xalloc.h: use consistent formatting
22645         * lib/xalloc.h: Move declarations to start in the first column.
22646
22647 2010-01-05  Eric Blake  <ebb9@byu.net>
22648
22649         mkdir: avoid xalloc
22650         * lib/mkdir.c (includes): Drop unused header.
22651         Reported by John W. Eaton.
22652
22653 2010-01-04  Jim Meyering  <meyering@redhat.com>
22654
22655         nl_langinfo: avoid configure-time syntax error
22656         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
22657         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
22658         the empty string.  Don't let that provoke a shell syntax error.
22659
22660         regcomp, regexec, fnmatch: avoid array bounds read error
22661         * lib/regcomp.c (build_equiv_class): From glibc:
22662         Use only the low 24 bits of a findidx return value as an index
22663         into the weights array.  Patch by Ulrich Drepper:
22664         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
22665         * lib/regexec.c (check_node_accept_bytes): Likewise.
22666         * lib/fnmatch_loop.c (FCT): Likewise.
22667
22668         regcomp: skip collseq lookup when there are no rules
22669         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
22670         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
22671
22672         regcomp: recognize ill-formed { } expressions
22673         * lib/regcomp.c (parse_dup_op): From glibc:
22674         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
22675
22676         regcomp: fix typo in comment
22677         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
22678         s/satisfy/satisfies/.
22679
22680         regcomp: sync from glibc: remove dead store
22681         * lib/regcomp.c (duplicate_node_closure): Remove useless
22682         search_duplicated_node call and dead store.
22683
22684         regcomp: sync from glibc; always use nl_langinfo
22685         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
22686         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
22687         * modules/regex (Depends-on): Add nl_langinfo.
22688
22689 2010-01-04  Eric Blake  <ebb9@byu.net>
22690
22691         fdopendir: fix configure test
22692         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
22693
22694 2010-01-01  Bruno Haible  <bruno@clisp.org>
22695
22696         wchar: Remove unused configure check.
22697         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
22698
22699 2010-01-01  Eric Blake  <ebb9@byu.net>
22700
22701         headers: make check of system header explicit
22702         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
22703         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
22704         ourselves.
22705         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
22706         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
22707         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
22708         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
22709         internals.
22710         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
22711         missing.
22712         Suggested by Bruno Haible.
22713
22714 2010-01-01  Jim Meyering  <meyering@redhat.com>
22715
22716         ChangeLog: tweak to eliminate unnecessary copyright line
22717         * ChangeLog: Remove a copyright line that was mistakenly updated
22718         by today's update-copyright run.  Reported by Eric Blake.
22719
22720         test-update-copyright: don't let envvar setting cause test failure
22721         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
22722
22723 2010-01-01  Bruno Haible  <bruno@clisp.org>
22724
22725         localename: Avoid gcc warning.
22726         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
22727         function if it is not used.
22728
22729 2010-01-01  Jim Meyering  <meyering@redhat.com>
22730
22731         update nearly all FSF copyright year lists to include 2010
22732         Use the same procedure as for 2009, outlined in
22733         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
22734
22735         version-etc: set COPYRIGHT_YEAR to 2010
22736         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
22737
22738 2009-12-31  Eric Blake  <ebb9@byu.net>
22739
22740         doc: correct availability of cygwin 1.5.x getopt
22741         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
22742         variables.
22743         * doc/posix-functions/opterr.texi (opterr): Likewise.
22744         * doc/posix-functions/optind.texi (optind): Likewise.
22745         * doc/posix-functions/optopt.texi (optopt): Likewise.
22746         * doc/posix-functions/tzname.texi (tzname): Likewise.
22747
22748         openat: update maintainer
22749         * modules/openat (Maintainer): Add myself.
22750
22751         utimens: avoid shadowing warning
22752         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
22753         buffers into one, to avoid shadowing, as well as avoiding a
22754         redundant stat.
22755         Reported by Jim Meyering.
22756
22757         test-dup2: avoid compiler warning
22758         * tests/test-dup2.c (is_inheritable): Only define if used.
22759
22760 2010-01-01  Bruno Haible  <bruno@clisp.org>
22761
22762         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
22763         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
22764         defined, use wctomb instead of wcrtomb.
22765
22766 2010-01-01  Bruno Haible  <bruno@clisp.org>
22767
22768         iconv: Reject native Solaris iconv.
22769         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
22770         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
22771
22772 2009-12-31  Bruno Haible  <bruno@clisp.org>
22773
22774         * tests/test-signal.c (main): Remove test of 'SIG'.
22775
22776 2009-12-31  Bruno Haible  <bruno@clisp.org>
22777
22778         spawn: Fix incomplete fix.
22779         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
22780         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
22781         warnings for GNULIB_POSIXCHECK again.
22782         Reported by Eric Blake.
22783
22784 2009-12-31  Bruno Haible  <bruno@clisp.org>
22785
22786         Avoid namespace pollution on glibc systems.
22787         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
22788         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
22789         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
22790         glibc systems.
22791
22792 2009-12-31  Bruno Haible  <bruno@clisp.org>
22793
22794         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
22795         (gl_REPLACE_WCHAR_H): Turn into a no-op.
22796         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
22797         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
22798         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
22799         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
22800         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
22801
22802 2009-12-31  Bruno Haible  <bruno@clisp.org>
22803
22804         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
22805         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
22806         afterwards.
22807
22808 2009-12-31  Bruno Haible  <bruno@clisp.org>
22809
22810         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
22811         SYS_UTSNAME_H.
22812
22813 2009-12-31  Bruno Haible  <bruno@clisp.org>
22814
22815         spawn: Fix misapplied patch.
22816         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
22817         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
22818         warnings for GNULIB_POSIXCHECK.
22819
22820 2009-12-31  Bruno Haible  <bruno@clisp.org>
22821
22822         times: Update after sys_times changed.
22823         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
22824         * modules/times (Files): Add it.
22825         (configure.ac): Invoke gl_FUNC_TIMES.
22826
22827 2009-12-31  Bruno Haible  <bruno@clisp.org>
22828
22829         Use AC_C_INLINE where necessary.
22830         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
22831         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
22832         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
22833         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
22834         * m4/mbfile.m4 (gl_MBFILE): Likewise.
22835         * m4/mbiter.m4 (gl_MBITER): Likewise.
22836         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
22837         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
22838         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
22839         * modules/u64 (configure.ac): Likewise.
22840
22841 2009-12-31  Bruno Haible  <bruno@clisp.org>
22842
22843         Use AC_C_INLINE instead of module 'inline' where possible.
22844         * modules/inline (Description): Clarify purpose.
22845         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
22846         * modules/count-one-bits (Depends-on): Remove inline.
22847         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
22848         * modules/openat (Depends-on): Remove inline.
22849         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
22850         instead of depending on module 'inline'.
22851         * modules/filevercmp (Depends-on, configure.ac): Likewise.
22852         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
22853         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
22854         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
22855         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
22856         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
22857         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
22858         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
22859         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
22860         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
22861         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
22862         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
22863         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
22864         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
22865         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
22866         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
22867         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
22868         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
22869         Likewise.
22870         * modules/unictype/property-ascii-hex-digit (Depends-on,
22871         configure.ac): Likewise.
22872         * modules/unictype/property-bidi-arabic-digit (Depends-on,
22873         configure.ac): Likewise.
22874         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
22875         configure.ac): Likewise.
22876         * modules/unictype/property-bidi-block-separator (Depends-on,
22877         configure.ac): Likewise.
22878         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
22879         configure.ac): Likewise.
22880         * modules/unictype/property-bidi-common-separator (Depends-on,
22881         configure.ac): Likewise.
22882         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
22883         Likewise.
22884         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
22885         configure.ac): Likewise.
22886         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
22887         configure.ac): Likewise.
22888         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
22889         configure.ac): Likewise.
22890         * modules/unictype/property-bidi-european-digit (Depends-on,
22891         configure.ac): Likewise.
22892         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
22893         configure.ac): Likewise.
22894         * modules/unictype/property-bidi-left-to-right (Depends-on,
22895         configure.ac): Likewise.
22896         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
22897         configure.ac): Likewise.
22898         * modules/unictype/property-bidi-other-neutral (Depends-on,
22899         configure.ac): Likewise.
22900         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
22901         Likewise.
22902         * modules/unictype/property-bidi-segment-separator (Depends-on,
22903         configure.ac): Likewise.
22904         * modules/unictype/property-bidi-whitespace (Depends-on,
22905         configure.ac): Likewise.
22906         * modules/unictype/property-combining (Depends-on, configure.ac):
22907         Likewise.
22908         * modules/unictype/property-composite (Depends-on, configure.ac):
22909         Likewise.
22910         * modules/unictype/property-currency-symbol (Depends-on,
22911         configure.ac): Likewise.
22912         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
22913         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
22914         Likewise.
22915         * modules/unictype/property-default-ignorable-code-point (Depends-on,
22916         configure.ac): Likewise.
22917         * modules/unictype/property-deprecated (Depends-on, configure.ac):
22918         Likewise.
22919         * modules/unictype/property-diacritic (Depends-on, configure.ac):
22920         Likewise.
22921         * modules/unictype/property-extender (Depends-on, configure.ac):
22922         Likewise.
22923         * modules/unictype/property-format-control (Depends-on, configure.ac):
22924         Likewise.
22925         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
22926         Likewise.
22927         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
22928         Likewise.
22929         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
22930         Likewise.
22931         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
22932         Likewise.
22933         * modules/unictype/property-hyphen (Depends-on, configure.ac):
22934         Likewise.
22935         * modules/unictype/property-id-continue (Depends-on, configure.ac):
22936         Likewise.
22937         * modules/unictype/property-id-start (Depends-on, configure.ac):
22938         Likewise.
22939         * modules/unictype/property-ideographic (Depends-on, configure.ac):
22940         Likewise.
22941         * modules/unictype/property-ids-binary-operator (Depends-on,
22942         configure.ac): Likewise.
22943         * modules/unictype/property-ids-trinary-operator (Depends-on,
22944         configure.ac): Likewise.
22945         * modules/unictype/property-ignorable-control (Depends-on,
22946         configure.ac): Likewise.
22947         * modules/unictype/property-iso-control (Depends-on, configure.ac):
22948         Likewise.
22949         * modules/unictype/property-join-control (Depends-on, configure.ac):
22950         Likewise.
22951         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
22952         Likewise.
22953         * modules/unictype/property-line-separator (Depends-on, configure.ac):
22954         Likewise.
22955         * modules/unictype/property-logical-order-exception (Depends-on,
22956         configure.ac): Likewise.
22957         * modules/unictype/property-lowercase (Depends-on, configure.ac):
22958         Likewise.
22959         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
22960         * modules/unictype/property-non-break (Depends-on, configure.ac):
22961         Likewise.
22962         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
22963         Likewise.
22964         * modules/unictype/property-numeric (Depends-on, configure.ac):
22965         Likewise.
22966         * modules/unictype/property-other-alphabetic (Depends-on,
22967         configure.ac): Likewise.
22968         * modules/unictype/property-other-default-ignorable-code-point
22969         (Depends-on, configure.ac): Likewise.
22970         * modules/unictype/property-other-grapheme-extend (Depends-on,
22971         configure.ac): Likewise.
22972         * modules/unictype/property-other-id-continue (Depends-on,
22973         configure.ac): Likewise.
22974         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
22975         Likewise.
22976         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
22977         Likewise.
22978         * modules/unictype/property-other-math (Depends-on, configure.ac):
22979         Likewise.
22980         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
22981         Likewise.
22982         * modules/unictype/property-paired-punctuation (Depends-on,
22983         configure.ac): Likewise.
22984         * modules/unictype/property-paragraph-separator (Depends-on,
22985         configure.ac): Likewise.
22986         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
22987         Likewise.
22988         * modules/unictype/property-pattern-white-space (Depends-on,
22989         configure.ac): Likewise.
22990         * modules/unictype/property-private-use (Depends-on, configure.ac):
22991         Likewise.
22992         * modules/unictype/property-punctuation (Depends-on, configure.ac):
22993         Likewise.
22994         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
22995         Likewise.
22996         * modules/unictype/property-radical (Depends-on, configure.ac):
22997         Likewise.
22998         * modules/unictype/property-sentence-terminal (Depends-on,
22999         configure.ac): Likewise.
23000         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
23001         Likewise.
23002         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
23003         * modules/unictype/property-terminal-punctuation (Depends-on,
23004         configure.ac): Likewise.
23005         * modules/unictype/property-titlecase (Depends-on, configure.ac):
23006         Likewise.
23007         * modules/unictype/property-unassigned-code-value (Depends-on,
23008         configure.ac): Likewise.
23009         * modules/unictype/property-unified-ideograph (Depends-on,
23010         configure.ac): Likewise.
23011         * modules/unictype/property-uppercase (Depends-on, configure.ac):
23012         Likewise.
23013         * modules/unictype/property-variation-selector (Depends-on,
23014         configure.ac): Likewise.
23015         * modules/unictype/property-white-space (Depends-on, configure.ac):
23016         Likewise.
23017         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
23018         Likewise.
23019         * modules/unictype/property-xid-start (Depends-on, configure.ac):
23020         Likewise.
23021         * modules/unictype/property-zero-width (Depends-on, configure.ac):
23022         Likewise.
23023         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
23024         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
23025         Likewise.
23026
23027 2009-12-31  Bruno Haible  <bruno@clisp.org>
23028
23029         Remove unnecessary AC_C_INLINE invocation.
23030         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
23031         since 2009-08-21.
23032
23033 2009-12-31  Jim Meyering  <meyering@redhat.com>
23034
23035         maint.mk: don't require explicit gpg_key_ID in cfg.mk
23036         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
23037         With this change, we can all remove the gpg_key_ID = ... definition
23038         from our respective cfg.mk files.
23039
23040         maint.mk: create announcement template in ~/, not in /tmp
23041         * top/maint.mk (emit_upload_commands): Adjust.
23042         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
23043         Remove temporary file, .ci-msg.
23044
23045 2009-12-31  Eric Blake  <ebb9@byu.net>
23046
23047         link-warning: always build headers with link warnings
23048         * modules/arpa_inet (Makefile.am): Always build replacement
23049         header.
23050         * modules/ctype (Makefile.am): Likewise.
23051         * modules/dirent (Makefile.am): Likewise.
23052         * modules/inttypes (Makefile.am): Likewise.
23053         * modules/langinfo (Makefile.am): Likewise.
23054         * modules/locale (Makefile.am): Likewise.
23055         * modules/spawn (Makefile.am): Likewise.
23056         * modules/sys_file (Makefile.am): Likewise.
23057         * modules/sys_ioctl (Makefile.am): Likewise.
23058         * modules/sys_select (Makefile.am): Likewise.
23059         * modules/sys_socket (Makefile.am): Likewise.
23060         * modules/sys_times (Makefile.am): Likewise.
23061         * modules/sys_utsname (Makefile.am): Likewise.
23062         * modules/sys_wait (Makefile.am): Likewise.
23063         * modules/wchar (Makefile.am): Likewise.
23064         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
23065         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
23066         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
23067         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
23068         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
23069         Likewise.
23070         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
23071         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
23072         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
23073         Likewise.
23074         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
23075         Likewise.
23076         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
23077         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
23078         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
23079         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
23080         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
23081         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
23082         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
23083         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
23084         (gl_WCHAR_H_DEFAULTS): Likewise.
23085
23086 2009-12-31  Eric Blake  <ebb9@byu.net>
23087
23088         signal, spawn: use link warnings
23089         * lib/signal.in.h (sigset_t): Make unconditional.
23090         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
23091         (sigpending, sigprocmask, sigaction): Add link warnings.
23092         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
23093         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
23094         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
23095         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
23096         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
23097         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
23098         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
23099         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
23100         (posix_spawn_file_actions_destroy)
23101         (posix_spawn_file_actions_addopen)
23102         (posix_spawn_file_actions_addclose)
23103         (posix_spawn_file_actions_adddup2): Likewise.
23104         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
23105         * tests/test-signal.c (main): Enhance test.
23106
23107         spawn: improve wrapper support
23108         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
23109         (gl_SPAWN_H_DEFAULTS): New defaults.
23110         * modules/spawn (Makefile.am): Substitute them.
23111         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
23112         Only declare if missing or broken.
23113
23114         sys_times, sys_utsname: use include_next
23115         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
23116         header.
23117         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
23118         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
23119         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
23120         * modules/sys_times (Depends-on): Add include_next.
23121         (Makefile.am): Substitute additional values.
23122         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
23123         * lib/sys_times.in.h (includes): Include native header, if
23124         available.
23125         * lib/sys_utsname.in.h (includes): Likewise.
23126         * tests/test-sys_times.c (main): Enhance test.
23127
23128         fdutimensat: revert prior patch
23129         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
23130         utimens.h.
23131         Reported by Bruno Haible.
23132
23133 2009-12-30  Eric Blake  <ebb9@byu.net>
23134
23135         sys_wait: drop link-warning dependency
23136         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
23137         link-warning efforts.
23138         * lib/sys_wait.in.h: Likewise.
23139
23140         fdutimensat: remove bogus dependency
23141         * modules/fdutimensat (Depends-on): Drop inline.
23142
23143         unistd: fix typo
23144         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
23145
23146 2009-12-30  Bruno Haible  <bruno@clisp.org>
23147
23148         Fix compilation error with Solaris cc.
23149         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
23150         * lib/unicase/u16-is-invariant.c: Likewise.
23151         * lib/unicase/u32-is-invariant.c: Likewise.
23152         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
23153
23154 2009-12-30  Bruno Haible  <bruno@clisp.org>
23155
23156         Fix test crash.
23157         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
23158         locales.
23159         Reported by Simon Josefsson <simon@josefsson.org>.
23160
23161 2009-12-30  Bruno Haible  <bruno@clisp.org>
23162
23163         Fix compilation error on most platforms.
23164         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
23165         Reported by Simon Josefsson <simon@josefsson.org>
23166         and Nelson H. F. Beebe <beebe@math.utah.edu>.
23167
23168 2009-12-30  Eric Blake  <ebb9@byu.net>
23169
23170         futimens, utimensat: work around ntfs-3g bug
23171         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
23172         a ctime bug is present, and expand workaround to cover ntfs-3g.
23173         * lib/utimens.c (fdutimens, lutimens): Likewise.
23174         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
23175         (validate_timespec): Adjust return value.
23176         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
23177         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
23178         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
23179
23180 2009-12-29  Eric Blake  <ebb9@byu.net>
23181
23182         link-warning: make usage consistent
23183         * modules/ctype (Depends-on): Add link-warning.
23184         (Makefile.am): Update rules accordingly.
23185         * modules/langinfo (Depends-on, Makefile.am): Likewise.
23186         * modules/locale (Depends-on, Makefile.am): Likewise.
23187         * modules/sys_file (Makefile.am): Likewise.
23188         * modules/getopt-posix (Makefile.am): Delete unused link warning
23189         efforts.
23190         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
23191         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
23192         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
23193         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
23194
23195         stdio: remove unused variables
23196         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
23197         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
23198         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
23199
23200         tests: test more substitute headers
23201         * modules/ctype-tests: New file.
23202         * modules/dirent-tests: Likewise.
23203         * modules/spawn-tests: Likewise.
23204         * modules/sys_file-tests: Likewise.
23205         * modules/sys_ioctl-tests: Likewise.
23206         * modules/sys_wait-tests: Likewise.
23207         * tests/test-ctype.c: Likewise.
23208         * tests/test-dirent.c: Likewise.
23209         * tests/test-spawn.c: Likewise.
23210         * tests/test-sys_file.c: Likewise.
23211         * tests/test-sys_ioctl.c: Likewise.
23212         * tests/test-sys_wait.c: Likewise.
23213         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
23214         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
23215         whether or not flock is in use.
23216
23217         tests: remove License section from module
23218         * modules/arpa_inet-tests: Remove unneeded section.
23219         * modules/byteswap-tests: Likewise.
23220         * modules/ceilf-tests: Likewise.
23221         * modules/ceill-tests: Likewise.
23222         * modules/crypto/des-tests: Likewise.
23223         * modules/crypto/gc-arcfour-tests: Likewise.
23224         * modules/crypto/gc-arctwo-tests: Likewise.
23225         * modules/crypto/gc-des-tests: Likewise.
23226         * modules/crypto/gc-hmac-md5-tests: Likewise.
23227         * modules/crypto/gc-hmac-sha1-tests: Likewise.
23228         * modules/crypto/gc-md2-tests: Likewise.
23229         * modules/crypto/gc-md4-tests: Likewise.
23230         * modules/crypto/gc-md5-tests: Likewise.
23231         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
23232         * modules/crypto/gc-rijndael-tests: Likewise.
23233         * modules/crypto/gc-sha1-tests: Likewise.
23234         * modules/crypto/gc-tests: Likewise.
23235         * modules/crypto/md2-tests: Likewise.
23236         * modules/crypto/md4-tests: Likewise.
23237         * modules/fcntl-h-tests: Likewise.
23238         * modules/floorf-tests: Likewise.
23239         * modules/floorl-tests: Likewise.
23240         * modules/frexp-nolibm-tests: Likewise.
23241         * modules/frexp-tests: Likewise.
23242         * modules/frexpl-nolibm-tests: Likewise.
23243         * modules/frexpl-tests: Likewise.
23244         * modules/getaddrinfo-tests: Likewise.
23245         * modules/inttypes-tests: Likewise.
23246         * modules/isfinite-tests: Likewise.
23247         * modules/isinf-tests: Likewise.
23248         * modules/ldexpl-tests: Likewise.
23249         * modules/locale-tests: Likewise.
23250         * modules/math-tests: Likewise.
23251         * modules/netdb-tests: Likewise.
23252         * modules/netinet_in-tests: Likewise.
23253         * modules/printf-frexp-tests: Likewise.
23254         * modules/printf-frexpl-tests: Likewise.
23255         * modules/priv-set-tests: Likewise.
23256         * modules/random_r-tests: Likewise.
23257         * modules/round-tests: Likewise.
23258         * modules/roundf-tests: Likewise.
23259         * modules/roundl-tests: Likewise.
23260         * modules/search-tests: Likewise.
23261         * modules/select-tests: Likewise.
23262         * modules/signal-tests: Likewise.
23263         * modules/stdbool-tests: Likewise.
23264         * modules/stddef-tests: Likewise.
23265         * modules/stdint-tests: Likewise.
23266         * modules/stdio-tests: Likewise.
23267         * modules/stdlib-tests: Likewise.
23268         * modules/string-tests: Likewise.
23269         * modules/strings-tests: Likewise.
23270         * modules/sys_select-tests: Likewise.
23271         * modules/sys_socket-tests: Likewise.
23272         * modules/sys_stat-tests: Likewise.
23273         * modules/sys_time-tests: Likewise.
23274         * modules/sys_utsname-tests: Likewise.
23275         * modules/sysexits-tests: Likewise.
23276         * modules/time-tests: Likewise.
23277         * modules/trunc-tests: Likewise.
23278         * modules/truncf-tests: Likewise.
23279         * modules/truncl-tests: Likewise.
23280         * modules/tsearch-tests: Likewise.
23281         * modules/unistd-tests: Likewise.
23282         * modules/wchar-tests: Likewise.
23283         * modules/wctype-tests: Likewise.
23284
23285         tests: fix license on several tests
23286         * tests/test-des.c: Update to GPLv3+.
23287         * tests/test-flock.c: Likewise.
23288         * tests/test-fsync.c: Likewise.
23289         * tests/test-futimens.h: Likewise.
23290         * tests/test-gc-arcfour.c: Likewise.
23291         * tests/test-gc-arctwo.c: Likewise.
23292         * tests/test-gc-des.c: Likewise.
23293         * tests/test-gc-hmac-md5.c: Likewise.
23294         * tests/test-gc-hmac-sha1.c: Likewise.
23295         * tests/test-gc-md2.c: Likewise.
23296         * tests/test-gc-md4.c: Likewise.
23297         * tests/test-gc-md5.c: Likewise.
23298         * tests/test-gc-pbkdf2-sha1.c: Likewise.
23299         * tests/test-gc-rijndael.c: Likewise.
23300         * tests/test-gc-sha1.c: Likewise.
23301         * tests/test-gc.c: Likewise.
23302         * tests/test-getcwd.c: Likewise.
23303         * tests/test-link.c: Likewise.
23304         * tests/test-link.h: Likewise.
23305         * tests/test-lutimens.h: Likewise.
23306         * tests/test-md2.c: Likewise.
23307         * tests/test-md4.c: Likewise.
23308         * tests/test-mkdir.h: Likewise.
23309         * tests/test-rename.c: Likewise.
23310         * tests/test-rename.h: Likewise.
23311         * tests/test-safe-alloc.c: Likewise.
23312         * tests/test-utimens-common.h: Likewise.
23313         * tests/test-utimens.h: Likewise.
23314
23315         maint: sync license texts
23316         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
23317         * doc/gpl-3.0.texi: Revert copyright year update.
23318         * doc/lgpl-3.0.texi: Likewise.
23319
23320 2009-12-29  Jim Meyering  <meyering@redhat.com>
23321
23322         update nearly all FSF copyright year lists to include 2009
23323         The files named by the following are exempted:
23324             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
23325               test -f "$dst" && { echo "$dst"; continue; }
23326               test -d "$dst" || continue
23327               echo "$dst"/$(basename "$src")
23328             done > exempt
23329             git ls-files tests/unictype >> exempt
23330         In the remaining files, convert to all-interval notation if
23331         - there is already at least one year interval like 2000-2003
23332         - the file is maintained by me
23333         - the file is in lib/uni*/, where that style already prevails
23334         Otherwise, use update-copyright's default.
23335
23336 2009-12-29  Simon Josefsson  <simon@josefsson.org>
23337         and Eric Blake  <ebb9@byu.net>
23338
23339         tests: don't require debug system() to pass
23340         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
23341         * tests/test-rmdir.h (test_rmdir_func): Likewise.
23342         * tests/test-unlink.h (test_unlink_func): Likewise.
23343         * tests/test-fstatat.c (main): ...into callers.
23344         * tests/test-lstat.c (main): Likewise.
23345         * tests/test-rmdir.c (main): Likewise.
23346         * tests/test-unlink.c (main): Likewise.
23347         * tests/test-unlinkat.c (main): Likewise.
23348         * tests/test-areadlink-with-size.c (main): Don't require a
23349         debug-only system call to pass, aiding cross-testing to mingw.
23350         * tests/test-areadlink.c (main): Likewise.
23351         * tests/test-areadlinkat-with-size.c (main): Likewise.
23352         * tests/test-areadlinkat.c (main): Likewise.
23353         * tests/test-canonicalize-lgpl.c (main): Likewise.
23354         * tests/test-canonicalize.c (main): Likewise.
23355         * tests/test-chown.c (main): Likewise.
23356         * tests/test-fchownat.c (main): Likewise.
23357         * tests/test-lchown.c (main): Likewise.
23358         * tests/test-fdutimensat.c (main): Likewise.
23359         * tests/test-futimens.c (main): Likewise.
23360         * tests/test-link.c (main): Likewise.
23361         * tests/test-linkat.c (main): Likewise.
23362         * tests/test-mkdir.c (main): Likewise.
23363         * tests/test-mkdirat.c (main): Likewise.
23364         * tests/test-mkfifo.c (main): Likewise.
23365         * tests/test-mkfifoat.c (main): Likewise.
23366         * tests/test-mknod.c (main): Likewise.
23367         * tests/test-readlink.c (main): Likewise.
23368         * tests/test-remove.c (main): Likewise.
23369         * tests/test-rename.c (main): Likewise.
23370         * tests/test-renameat.c (main): Likewise.
23371         * tests/test-symlink.c (main): Likewise.
23372         * tests/test-symlinkat.c (main): Likewise.
23373         * tests/test-utimens.c (main): Likewise.
23374         * tests/test-utimensat.c (main): Likewise.
23375
23376 2009-12-29  Simon Josefsson  <simon@josefsson.org>
23377
23378         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
23379         on $(UNUSED_PARAMETER_H) to avoid build failure.
23380
23381 2009-12-28  Jim Meyering  <meyering@redhat.com>
23382
23383         update-copyright: you may specify a max. line length other than 72
23384         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
23385
23386         maint: use consistent FSF copyright line syntax
23387         * lib/posixtm.c: Add missing comma in FSF copyright line.
23388         * lib/posixtm.h: Likewise.
23389         * lib/getugroups.c: Add missing ", Inc.".
23390
23391         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
23392         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
23393         FSF copyright line.  Remove trailing blanks.
23394
23395 2009-12-28  Eric Blake  <ebb9@byu.net>
23396
23397         test-dup2: reduce dependencies
23398         * modules/cloexec (Configure.ac): Set witness.
23399         * modules/dup2-tests (Depends-on): Drop cloexec.
23400         * tests/test-dup2.c (main): Skip portion of test if cloexec module
23401         not present.
23402         Suggested by Bruno Haible.
23403
23404 2009-12-26  Bruno Haible  <bruno@clisp.org>
23405
23406         Remove an unneeded dependency.
23407         * modules/fseterr (Depends-on): Remove dup2.
23408
23409 2009-12-26  Eric Blake  <ebb9@byu.net>
23410
23411         tests: use macros.h in more places
23412         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
23413         (ASSERT_STREAM): Provide default of stderr.
23414         * tests/test-dirent-safer.c: Include macros.h, using alternate
23415         stream for assertions.
23416         * tests/test-dup-safer.c: Likewise.
23417         * tests/test-freopen-safer.c: Likewise.
23418         * tests/test-getopt.c: Likewise.
23419         * tests/test-openat-safer.c: Likewise.
23420         * tests/test-pipe.c: Likewise.
23421         * tests/test-popen-safer.c: Likewise.
23422         * modules/dirent-safer-tests (Files): Include macros.h.
23423         * modules/unistd-safer-tests (Files): Likewise.
23424         * modules/freopen-safer-tests (Files): Likewise.
23425         * modules/getopt-posix-tests (Files): Likewise.
23426         * modules/openat-safer-tests (Files): Likewise.
23427         * modules/pipe-tests (Files): Likewise.
23428
23429 2009-12-26  Bruno Haible  <bruno@clisp.org>
23430
23431         javacomp: Portability fix.
23432         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
23433         that it also works on Solaris.
23434
23435 2009-12-26  Bruno Haible  <bruno@clisp.org>
23436
23437         localename: Fix storage allocation of gl_locale_name_thread's result.
23438         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
23439         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
23440         all platforms that have 'uselocale'.
23441         (gl_locale_name_thread_unsafe): New function, extracted from
23442         gl_locale_name_thread.
23443         (gl_locale_name_thread): Call struniq on all platforms that have
23444         'uselocale'.
23445         * tests/test-localename.c (test_locale_name_thread): Check that the
23446         resulting strings are permanently allocated.
23447         * modules/localename-tests (Depends-on): Add strdup.
23448
23449 2009-12-26  Bruno Haible  <bruno@clisp.org>
23450
23451         * tests/test-localename.c (categories): Fill in the strings.
23452
23453 2009-12-26  Jim Meyering  <meyering@redhat.com>
23454
23455         isdir: complete the removal of m4/isdir.m4
23456         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
23457
23458         isdir: clean up, since at least grep still uses it
23459         * lib/isdir.c: Include "isdir.h".
23460         (S_ISDIR): Remove now-unneeded definition.
23461         * modules/isdir (Files): Add lib/isdir.h.
23462         * lib/isdir.h: New file, with declaration.
23463         * m4/isdir.m4: Remove file -- unneeded.
23464
23465 2009-12-25  Bruno Haible  <bruno@clisp.org>
23466
23467         selinux-h: Make generated .h files standalone.
23468         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
23469         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
23470         * lib/se-selinux.in.h: Likewise.
23471         * modules/selinux-h (Depends-on): Add unused-parameter.
23472         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
23473         selinux/selinux.h and selinux/context.h.
23474         Suggested by Eric Blake.
23475
23476 2009-12-25  Bruno Haible  <bruno@clisp.org>
23477
23478         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
23479         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
23480         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
23481         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
23482         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
23483
23484 2009-12-24  Bruno Haible  <bruno@clisp.org>
23485
23486         openat: Fix warning.
23487         * lib/openat-proc.c: Include <unistd.h>.
23488
23489 2009-12-24  Bruno Haible  <bruno@clisp.org>
23490
23491         New module 'unused-parameter'.
23492         * build-aux/unused-parameter.h: New file, extracted from earlier
23493         gnulib-common.m4.
23494         * modules/unused-parameter: New file.
23495         * lib/unistr.h: Include unused-parameter.h.
23496         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
23497         _GL_UNUSED.
23498         * modules/unistr/base (Depends-on): Add unused-parameter.
23499
23500 2009-12-24  Bruno Haible  <bruno@clisp.org>
23501
23502         Add missing dependencies to 'extensions' module.
23503         * m4/extensions.m4: Add comment.
23504         * modules/accept4 (Depends-on): Add extensions.
23505         * modules/dup3 (Depends-on): Likewise.
23506         * modules/fcntl (Depends-on): Likewise.
23507         * modules/futimens (Depends-on): Likewise.
23508         * modules/mknod (Depends-on): Likewise.
23509         * modules/pipe2 (Depends-on): Likewise.
23510         * modules/stat-time (Depends-on): Likewise.
23511         * modules/strcasestr-simple (Depends-on): Likewise.
23512         * modules/strsignal (Depends-on): Likewise.
23513         * modules/utimensat (Depends-on): Likewise.
23514         * modules/localcharset (Depends-on): Likewise. Needed because of
23515         gl_FCNTL_O_FLAGS.
23516         * modules/wcrtomb (Depends-on): Likewise. Needed because of
23517         AC_TYPE_MBSTATE_T.
23518         * modules/wcsnrtombs (Depends-on): Likewise.
23519         * modules/wcsrtombs (Depends-on): Likewise.
23520
23521 2009-12-24  Bruno Haible  <bruno@clisp.org>
23522
23523         binary-io: Avoid gcc warning due to SET_BINARY.
23524         * lib/binary-io.h (SET_BINARY): Cast the result to void.
23525         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
23526
23527 2009-12-24  Bruno Haible  <bruno@clisp.org>
23528
23529         Avoid future namespace pollution on glibc systems.
23530         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
23531         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
23532         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
23533         glibc systems.
23534
23535 2009-12-24  Bruno Haible  <bruno@clisp.org>
23536
23537         Refactor common macros used in tests.
23538         * tests/macros.h: New file.
23539         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
23540         and/or <stdlib.h>, if appropriate.
23541         (ASSERT, SIZEOF): Remove macros.
23542         * tests/test-areadlink-with-size.c: Likewise.
23543         * tests/test-areadlinkat.c: Likewise.
23544         * tests/test-areadlinkat-with-size.c: Likewise.
23545         * tests/test-argmatch.c: Likewise.
23546         * tests/test-argv-iter.c: Likewise.
23547         * tests/test-array-mergesort.c: Likewise.
23548         * tests/test-array_list.c: Likewise.
23549         * tests/test-array_oset.c: Likewise.
23550         * tests/test-avltree_list.c: Likewise.
23551         * tests/test-avltree_oset.c: Likewise.
23552         * tests/test-avltreehash_list.c: Likewise.
23553         * tests/test-base64.c: Likewise.
23554         * tests/test-binary-io.c: Likewise.
23555         * tests/test-bitrotate.c: Likewise.
23556         * tests/test-btowc.c: Likewise.
23557         * tests/test-byteswap.c: Likewise.
23558         * tests/test-c-ctype.c: Likewise.
23559         * tests/test-c-stack.c: Likewise.
23560         * tests/test-c-strcasecmp.c: Likewise.
23561         * tests/test-c-strcasestr.c: Likewise.
23562         * tests/test-c-strncasecmp.c: Likewise.
23563         * tests/test-c-strstr.c: Likewise.
23564         * tests/test-canonicalize-lgpl.c: Likewise.
23565         * tests/test-canonicalize.c: Likewise.
23566         * tests/test-carray_list.c: Likewise.
23567         * tests/test-ceilf1.c: Likewise.
23568         * tests/test-ceilf2.c: Likewise.
23569         * tests/test-ceill.c: Likewise.
23570         * tests/test-chown.c: Likewise.
23571         * tests/test-cloexec.c: Likewise.
23572         * tests/test-copy-acl.c: Likewise.
23573         * tests/test-copy-file.c: Likewise.
23574         * tests/test-count-one-bits.c: Likewise.
23575         * tests/test-dprintf-posix.c: Likewise.
23576         * tests/test-dup2.c: Likewise.
23577         * tests/test-dup3.c: Likewise.
23578         * tests/test-duplocale.c: Likewise.
23579         * tests/test-fbufmode.c: Likewise.
23580         * tests/test-fchdir.c: Likewise.
23581         * tests/test-fchownat.c: Likewise.
23582         * tests/test-fcntl-safer.c: Likewise.
23583         * tests/test-fcntl.c: Likewise.
23584         * tests/test-fdopendir.c: Likewise.
23585         * tests/test-fdutimensat.c: Likewise.
23586         * tests/test-fflush2.c: Likewise.
23587         * tests/test-file-has-acl.c: Likewise.
23588         * tests/test-filevercmp.c: Likewise.
23589         * tests/test-flock.c: Likewise.
23590         * tests/test-floorf1.c: Likewise.
23591         * tests/test-floorf2.c: Likewise.
23592         * tests/test-floorl.c: Likewise.
23593         * tests/test-fnmatch.c: Likewise.
23594         * tests/test-fopen.h: Likewise.
23595         * tests/test-fpending.c: Likewise.
23596         * tests/test-fprintf-posix.c: Likewise.
23597         * tests/test-fpurge.c: Likewise.
23598         * tests/test-freadable.c: Likewise.
23599         * tests/test-freadahead.c: Likewise.
23600         * tests/test-freading.c: Likewise.
23601         * tests/test-freadptr.c: Likewise.
23602         * tests/test-freadptr2.c: Likewise.
23603         * tests/test-freadseek.c: Likewise.
23604         * tests/test-freopen.c: Likewise.
23605         * tests/test-frexp.c: Likewise.
23606         * tests/test-frexpl.c: Likewise.
23607         * tests/test-fseek.c: Likewise.
23608         * tests/test-fseeko.c: Likewise.
23609         * tests/test-fstatat.c: Likewise.
23610         * tests/test-fstrcmp.c: Likewise.
23611         * tests/test-fsync.c: Likewise.
23612         * tests/test-ftell.c: Likewise.
23613         * tests/test-ftello.c: Likewise.
23614         * tests/test-func.c: Likewise.
23615         * tests/test-futimens.c: Likewise.
23616         * tests/test-fwritable.c: Likewise.
23617         * tests/test-fwriting.c: Likewise.
23618         * tests/test-getcwd.c: Likewise.
23619         * tests/test-getdate.c: Likewise.
23620         * tests/test-getdelim.c: Likewise.
23621         * tests/test-getdtablesize.c: Likewise.
23622         * tests/test-getgroups.c: Likewise.
23623         * tests/test-getline.c: Likewise.
23624         * tests/test-getndelim2.c: Likewise.
23625         * tests/test-glob.c: Likewise.
23626         * tests/test-hash.c: Likewise.
23627         * tests/test-i-ring.c: Likewise.
23628         * tests/test-iconv-utf.c: Likewise.
23629         * tests/test-iconv.c: Likewise.
23630         * tests/test-idpriv-drop.c: Likewise.
23631         * tests/test-idpriv-droptemp.c: Likewise.
23632         * tests/test-inet_ntop.c: Likewise.
23633         * tests/test-inet_pton.c: Likewise.
23634         * tests/test-isblank.c: Likewise.
23635         * tests/test-isfinite.c: Likewise.
23636         * tests/test-isinf.c: Likewise.
23637         * tests/test-isnan.c: Likewise.
23638         * tests/test-isnand.h: Likewise.
23639         * tests/test-isnanf.h: Likewise.
23640         * tests/test-isnanl.h: Likewise.
23641         * tests/test-lchown.c: Likewise.
23642         * tests/test-ldexpl.c: Likewise.
23643         * tests/test-link.c: Likewise.
23644         * tests/test-linkat.c: Likewise.
23645         * tests/test-linked_list.c: Likewise.
23646         * tests/test-linkedhash_list.c: Likewise.
23647         * tests/test-localename.c: Likewise.
23648         * tests/test-lseek.c: Likewise.
23649         * tests/test-lstat.c: Likewise.
23650         * tests/test-mbmemcasecmp.c: Likewise.
23651         * tests/test-mbmemcasecoll.c: Likewise.
23652         * tests/test-mbrtowc.c: Likewise.
23653         * tests/test-mbscasecmp.c: Likewise.
23654         * tests/test-mbscasestr1.c: Likewise.
23655         * tests/test-mbscasestr2.c: Likewise.
23656         * tests/test-mbscasestr3.c: Likewise.
23657         * tests/test-mbscasestr4.c: Likewise.
23658         * tests/test-mbschr.c: Likewise.
23659         * tests/test-mbscspn.c: Likewise.
23660         * tests/test-mbsinit.c: Likewise.
23661         * tests/test-mbsncasecmp.c: Likewise.
23662         * tests/test-mbsnrtowcs.c: Likewise.
23663         * tests/test-mbspbrk.c: Likewise.
23664         * tests/test-mbspcasecmp.c: Likewise.
23665         * tests/test-mbsrchr.c: Likewise.
23666         * tests/test-mbsrtowcs.c: Likewise.
23667         * tests/test-mbsspn.c: Likewise.
23668         * tests/test-mbsstr1.c: Likewise.
23669         * tests/test-mbsstr2.c: Likewise.
23670         * tests/test-mbsstr3.c: Likewise.
23671         * tests/test-memchr.c: Likewise.
23672         * tests/test-memchr2.c: Likewise.
23673         * tests/test-memcmp.c: Likewise.
23674         * tests/test-memmem.c: Likewise.
23675         * tests/test-memrchr.c: Likewise.
23676         * tests/test-mkdir.c: Likewise.
23677         * tests/test-mkdirat.c: Likewise.
23678         * tests/test-mkfifo.c: Likewise.
23679         * tests/test-mkfifoat.c: Likewise.
23680         * tests/test-mknod.c: Likewise.
23681         * tests/test-nanosleep.c: Likewise.
23682         * tests/test-nl_langinfo.c: Likewise.
23683         * tests/test-obstack-printf.c: Likewise.
23684         * tests/test-open.c: Likewise.
23685         * tests/test-openat.c: Likewise.
23686         * tests/test-pipe-filter-gi1.c: Likewise.
23687         * tests/test-pipe-filter-gi2-main.c: Likewise.
23688         * tests/test-pipe-filter-ii1.c: Likewise.
23689         * tests/test-pipe-filter-ii2-main.c: Likewise.
23690         * tests/test-pipe2.c: Likewise.
23691         * tests/test-popen.h: Likewise.
23692         * tests/test-posixtm.c: Likewise.
23693         * tests/test-pread.c: Likewise.
23694         * tests/test-printf-frexp.c: Likewise.
23695         * tests/test-printf-frexpl.c: Likewise.
23696         * tests/test-printf-posix.c: Likewise.
23697         * tests/test-priv-set.c: Likewise.
23698         * tests/test-quotearg.c: Likewise.
23699         * tests/test-random_r.c: Likewise.
23700         * tests/test-rawmemchr.c: Likewise.
23701         * tests/test-rbtree_list.c: Likewise.
23702         * tests/test-rbtree_oset.c: Likewise.
23703         * tests/test-rbtreehash_list.c: Likewise.
23704         * tests/test-readlink.c: Likewise.
23705         * tests/test-remove.c: Likewise.
23706         * tests/test-rename.c: Likewise.
23707         * tests/test-renameat.c: Likewise.
23708         * tests/test-rmdir.c: Likewise.
23709         * tests/test-round1.c: Likewise.
23710         * tests/test-roundf1.c: Likewise.
23711         * tests/test-roundl.c: Likewise.
23712         * tests/test-safe-alloc.c: Likewise.
23713         * tests/test-sameacls.c: Likewise.
23714         * tests/test-set-mode-acl.c: Likewise.
23715         * tests/test-setenv.c: Likewise.
23716         * tests/test-sigaction.c: Likewise.
23717         * tests/test-signbit.c: Likewise.
23718         * tests/test-sleep.c: Likewise.
23719         * tests/test-snprintf-posix.c: Likewise.
23720         * tests/test-snprintf.c: Likewise.
23721         * tests/test-sprintf-posix.c: Likewise.
23722         * tests/test-stat-time.c: Likewise.
23723         * tests/test-stat.c: Likewise.
23724         * tests/test-strcasestr.c: Likewise.
23725         * tests/test-strchrnul.c: Likewise.
23726         * tests/test-strerror.c: Likewise.
23727         * tests/test-striconv.c: Likewise.
23728         * tests/test-striconveh.c: Likewise.
23729         * tests/test-striconveha.c: Likewise.
23730         * tests/test-strsignal.c: Likewise.
23731         * tests/test-strstr.c: Likewise.
23732         * tests/test-strtod.c: Likewise.
23733         * tests/test-strverscmp.c: Likewise.
23734         * tests/test-symlink.c: Likewise.
23735         * tests/test-symlinkat.c: Likewise.
23736         * tests/test-trunc1.c: Likewise.
23737         * tests/test-trunc2.c: Likewise.
23738         * tests/test-truncf1.c: Likewise.
23739         * tests/test-truncf2.c: Likewise.
23740         * tests/test-truncl.c: Likewise.
23741         * tests/test-uname.c: Likewise.
23742         * tests/test-unlink.c: Likewise.
23743         * tests/test-unlinkat.c: Likewise.
23744         * tests/test-unsetenv.c: Likewise.
23745         * tests/test-usleep.c: Likewise.
23746         * tests/test-utimens.c: Likewise.
23747         * tests/test-utimensat.c: Likewise.
23748         * tests/test-vasnprintf-posix.c: Likewise.
23749         * tests/test-vasnprintf-posix2.c: Likewise.
23750         * tests/test-vasnprintf.c: Likewise.
23751         * tests/test-vasprintf-posix.c: Likewise.
23752         * tests/test-vasprintf.c: Likewise.
23753         * tests/test-vdprintf-posix.c: Likewise.
23754         * tests/test-vfprintf-posix.c: Likewise.
23755         * tests/test-vprintf-posix.c: Likewise.
23756         * tests/test-vsnprintf-posix.c: Likewise.
23757         * tests/test-vsnprintf.c: Likewise.
23758         * tests/test-vsprintf-posix.c: Likewise.
23759         * tests/test-wcrtomb.c: Likewise.
23760         * tests/test-wcsnrtombs.c: Likewise.
23761         * tests/test-wcsrtombs.c: Likewise.
23762         * tests/test-wctype.c: Likewise.
23763         * tests/test-wcwidth.c: Likewise.
23764         * tests/test-xfprintf-posix.c: Likewise.
23765         * tests/test-xmemdup0.c: Likewise.
23766         * tests/test-xprintf-posix.c: Likewise.
23767         * tests/test-xvasprintf.c: Likewise.
23768         * tests/unicase/test-locale-language.c: Likewise.
23769         * tests/unicase/test-mapping-part1.h: Likewise.
23770         * tests/unicase/test-predicate-part1.h: Likewise.
23771         * tests/unicase/test-u8-casecmp.c: Likewise.
23772         * tests/unicase/test-u8-casecoll.c: Likewise.
23773         * tests/unicase/test-u8-casefold.c: Likewise.
23774         * tests/unicase/test-u8-is-cased.c: Likewise.
23775         * tests/unicase/test-u8-is-casefolded.c: Likewise.
23776         * tests/unicase/test-u8-is-lowercase.c: Likewise.
23777         * tests/unicase/test-u8-is-titlecase.c: Likewise.
23778         * tests/unicase/test-u8-is-uppercase.c: Likewise.
23779         * tests/unicase/test-u8-tolower.c: Likewise.
23780         * tests/unicase/test-u8-totitle.c: Likewise.
23781         * tests/unicase/test-u8-toupper.c: Likewise.
23782         * tests/unicase/test-u16-casecmp.c: Likewise.
23783         * tests/unicase/test-u16-casecoll.c: Likewise.
23784         * tests/unicase/test-u16-casefold.c: Likewise.
23785         * tests/unicase/test-u16-is-cased.c: Likewise.
23786         * tests/unicase/test-u16-is-casefolded.c: Likewise.
23787         * tests/unicase/test-u16-is-lowercase.c: Likewise.
23788         * tests/unicase/test-u16-is-titlecase.c: Likewise.
23789         * tests/unicase/test-u16-is-uppercase.c: Likewise.
23790         * tests/unicase/test-u16-tolower.c: Likewise.
23791         * tests/unicase/test-u16-totitle.c: Likewise.
23792         * tests/unicase/test-u16-toupper.c: Likewise.
23793         * tests/unicase/test-u32-casecmp.c: Likewise.
23794         * tests/unicase/test-u32-casecoll.c: Likewise.
23795         * tests/unicase/test-u32-casefold.c: Likewise.
23796         * tests/unicase/test-u32-is-cased.c: Likewise.
23797         * tests/unicase/test-u32-is-casefolded.c: Likewise.
23798         * tests/unicase/test-u32-is-lowercase.c: Likewise.
23799         * tests/unicase/test-u32-is-titlecase.c: Likewise.
23800         * tests/unicase/test-u32-is-uppercase.c: Likewise.
23801         * tests/unicase/test-u32-tolower.c: Likewise.
23802         * tests/unicase/test-u32-totitle.c: Likewise.
23803         * tests/unicase/test-u32-toupper.c: Likewise.
23804         * tests/unicase/test-ulc-casecmp.c: Likewise.
23805         * tests/unicase/test-ulc-casecoll.c: Likewise.
23806         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
23807         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
23808         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
23809         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
23810         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
23811         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
23812         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
23813         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
23814         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
23815         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
23816         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
23817         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
23818         * tests/unictype/test-bidi_byname.c: Likewise.
23819         * tests/unictype/test-bidi_name.c: Likewise.
23820         * tests/unictype/test-bidi_of.c: Likewise.
23821         * tests/unictype/test-bidi_test.c: Likewise.
23822         * tests/unictype/test-block_list.c: Likewise.
23823         * tests/unictype/test-block_of.c: Likewise.
23824         * tests/unictype/test-block_test.c: Likewise.
23825         * tests/unictype/test-categ_and.c: Likewise.
23826         * tests/unictype/test-categ_and_not.c: Likewise.
23827         * tests/unictype/test-categ_byname.c: Likewise.
23828         * tests/unictype/test-categ_name.c: Likewise.
23829         * tests/unictype/test-categ_none.c: Likewise.
23830         * tests/unictype/test-categ_of.c: Likewise.
23831         * tests/unictype/test-categ_or.c: Likewise.
23832         * tests/unictype/test-categ_test_withtable.c: Likewise.
23833         * tests/unictype/test-combining.c: Likewise.
23834         * tests/unictype/test-decdigit.c: Likewise.
23835         * tests/unictype/test-digit.c: Likewise.
23836         * tests/unictype/test-mirror.c: Likewise.
23837         * tests/unictype/test-numeric.c: Likewise.
23838         * tests/unictype/test-pr_byname.c: Likewise.
23839         * tests/unictype/test-pr_test.c: Likewise.
23840         * tests/unictype/test-predicate-part1.h: Likewise.
23841         * tests/unictype/test-scripts.c: Likewise.
23842         * tests/unictype/test-sy_c_ident.c: Likewise.
23843         * tests/unictype/test-sy_java_ident.c: Likewise.
23844         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
23845         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
23846         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
23847         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
23848         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
23849         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
23850         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
23851         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
23852         * tests/uninorm/test-canonical-decomposition.c: Likewise.
23853         * tests/uninorm/test-compat-decomposition.c: Likewise.
23854         * tests/uninorm/test-composition.c: Likewise.
23855         * tests/uninorm/test-decomposing-form.c: Likewise.
23856         * tests/uninorm/test-decomposition.c: Likewise.
23857         * tests/uninorm/test-u8-nfc.c: Likewise.
23858         * tests/uninorm/test-u8-nfd.c: Likewise.
23859         * tests/uninorm/test-u8-nfkc.c: Likewise.
23860         * tests/uninorm/test-u8-nfkd.c: Likewise.
23861         * tests/uninorm/test-u8-normcmp.c: Likewise.
23862         * tests/uninorm/test-u8-normcoll.c: Likewise.
23863         * tests/uninorm/test-u16-nfc.c: Likewise.
23864         * tests/uninorm/test-u16-nfd.c: Likewise.
23865         * tests/uninorm/test-u16-nfkc.c: Likewise.
23866         * tests/uninorm/test-u16-nfkd.c: Likewise.
23867         * tests/uninorm/test-u16-normcmp.c: Likewise.
23868         * tests/uninorm/test-u16-normcoll.c: Likewise.
23869         * tests/uninorm/test-u32-nfc.c: Likewise.
23870         * tests/uninorm/test-u32-nfd.c: Likewise.
23871         * tests/uninorm/test-u32-nfkc.c: Likewise.
23872         * tests/uninorm/test-u32-nfkd.c: Likewise.
23873         * tests/uninorm/test-u32-normalize-big.c: Likewise.
23874         * tests/uninorm/test-u32-normcmp.c: Likewise.
23875         * tests/uninorm/test-u32-normcoll.c: Likewise.
23876         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
23877         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
23878         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
23879         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
23880         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
23881         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
23882         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
23883         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
23884         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
23885         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
23886         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
23887         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
23888         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
23889         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
23890         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
23891         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
23892         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
23893         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
23894         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
23895         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
23896         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
23897         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
23898         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
23899         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
23900         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
23901         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
23902         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
23903         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
23904         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
23905         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
23906         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
23907         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
23908         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
23909         * tests/uniwidth/test-u8-strwidth.c: Likewise.
23910         * tests/uniwidth/test-u8-width.c: Likewise.
23911         * tests/uniwidth/test-u16-strwidth.c: Likewise.
23912         * tests/uniwidth/test-u16-width.c: Likewise.
23913         * tests/uniwidth/test-u32-strwidth.c: Likewise.
23914         * tests/uniwidth/test-u32-width.c: Likewise.
23915         * tests/uniwidth/test-uc_width.c: Likewise.
23916         * tests/uniwidth/test-uc_width2.c: Likewise.
23917         * modules/acl-tests (Files): Add tests/macros.h.
23918         * modules/areadlink-tests (Files): Likewise.
23919         * modules/areadlink-with-size-tests (Files): Likewise.
23920         * modules/areadlinkat-tests (Files): Likewise.
23921         * modules/areadlinkat-with-size-tests (Files): Likewise.
23922         * modules/argmatch-tests (Files): Likewise.
23923         * modules/argv-iter-tests (Files): Likewise.
23924         * modules/array-list-tests (Files): Likewise.
23925         * modules/array-mergesort-tests (Files): Likewise.
23926         * modules/array-oset-tests (Files): Likewise.
23927         * modules/avltree-list-tests (Files): Likewise.
23928         * modules/avltree-oset-tests (Files): Likewise.
23929         * modules/avltreehash-list-tests (Files): Likewise.
23930         * modules/base64-tests (Files): Likewise.
23931         * modules/binary-io-tests (Files): Likewise.
23932         * modules/bitrotate-tests (Files): Likewise.
23933         * modules/btowc-tests (Files): Likewise.
23934         * modules/byteswap-tests (Files): Likewise.
23935         * modules/c-ctype-tests (Files): Likewise.
23936         * modules/c-stack-tests (Files): Likewise.
23937         * modules/c-strcase-tests (Files): Likewise.
23938         * modules/c-strcasestr-tests (Files): Likewise.
23939         * modules/c-strstr-tests (Files): Likewise.
23940         * modules/canonicalize-lgpl-tests (Files): Likewise.
23941         * modules/canonicalize-tests (Files): Likewise.
23942         * modules/carray-list-tests (Files): Likewise.
23943         * modules/ceilf-tests (Files): Likewise.
23944         * modules/ceill-tests (Files): Likewise.
23945         * modules/chown-tests (Files): Likewise.
23946         * modules/cloexec-tests (Files): Likewise.
23947         * modules/copy-file-tests (Files): Likewise.
23948         * modules/count-one-bits-tests (Files): Likewise.
23949         * modules/dprintf-posix-tests (Files): Likewise.
23950         * modules/dup2-tests (Files): Likewise.
23951         * modules/dup3-tests (Files): Likewise.
23952         * modules/duplocale-tests (Files): Likewise.
23953         * modules/fbufmode-tests (Files): Likewise.
23954         * modules/fchdir-tests (Files): Likewise.
23955         * modules/fcntl-safer-tests (Files): Likewise.
23956         * modules/fcntl-tests (Files): Likewise.
23957         * modules/fdopendir-tests (Files): Likewise.
23958         * modules/fdutimensat-tests (Files): Likewise.
23959         * modules/fflush-tests (Files): Likewise.
23960         * modules/filevercmp-tests (Files): Likewise.
23961         * modules/flock-tests (Files): Likewise.
23962         * modules/floorf-tests (Files): Likewise.
23963         * modules/floorl-tests (Files): Likewise.
23964         * modules/fnmatch-tests (Files): Likewise.
23965         * modules/fopen-safer-tests (Files): Likewise.
23966         * modules/fopen-tests (Files): Likewise.
23967         * modules/fpending-tests (Files): Likewise.
23968         * modules/fprintf-posix-tests (Files): Likewise.
23969         * modules/fpurge-tests (Files): Likewise.
23970         * modules/freadable-tests (Files): Likewise.
23971         * modules/freadahead-tests (Files): Likewise.
23972         * modules/freading-tests (Files): Likewise.
23973         * modules/freadptr-tests (Files): Likewise.
23974         * modules/freadseek-tests (Files): Likewise.
23975         * modules/freopen-tests (Files): Likewise.
23976         * modules/frexp-nolibm-tests (Files): Likewise.
23977         * modules/frexp-tests (Files): Likewise.
23978         * modules/frexpl-nolibm-tests (Files): Likewise.
23979         * modules/frexpl-tests (Files): Likewise.
23980         * modules/fseek-tests (Files): Likewise.
23981         * modules/fseeko-tests (Files): Likewise.
23982         * modules/fstrcmp-tests (Files): Likewise.
23983         * modules/fsync-tests (Files): Likewise.
23984         * modules/ftell-tests (Files): Likewise.
23985         * modules/ftello-tests (Files): Likewise.
23986         * modules/func-tests (Files): Likewise.
23987         * modules/futimens-tests (Files): Likewise.
23988         * modules/fwritable-tests (Files): Likewise.
23989         * modules/fwriting-tests (Files): Likewise.
23990         * modules/getcwd-tests (Files): Likewise.
23991         * modules/getdate-tests (Files): Likewise.
23992         * modules/getdelim-tests (Files): Likewise.
23993         * modules/getdtablesize-tests (Files): Likewise.
23994         * modules/getgroups-tests (Files): Likewise.
23995         * modules/getline-tests (Files): Likewise.
23996         * modules/getndelim2-tests (Files): Likewise.
23997         * modules/glob-tests (Files): Likewise.
23998         * modules/hash-tests (Files): Likewise.
23999         * modules/i-ring-tests (Files): Likewise.
24000         * modules/iconv-tests (Files): Likewise.
24001         * modules/iconv_open-utf-tests (Files): Likewise.
24002         * modules/idpriv-drop-tests (Files): Likewise.
24003         * modules/idpriv-droptemp-tests (Files): Likewise.
24004         * modules/inet_ntop-tests (Files): Likewise.
24005         * modules/inet_pton-tests (Files): Likewise.
24006         * modules/isblank-tests (Files): Likewise.
24007         * modules/isfinite-tests (Files): Likewise.
24008         * modules/isinf-tests (Files): Likewise.
24009         * modules/isnan-tests (Files): Likewise.
24010         * modules/isnand-nolibm-tests (Files): Likewise.
24011         * modules/isnand-tests (Files): Likewise.
24012         * modules/isnanf-nolibm-tests (Files): Likewise.
24013         * modules/isnanf-tests (Files): Likewise.
24014         * modules/isnanl-nolibm-tests (Files): Likewise.
24015         * modules/isnanl-tests (Files): Likewise.
24016         * modules/lchown-tests (Files): Likewise.
24017         * modules/ldexpl-tests (Files): Likewise.
24018         * modules/link-tests (Files): Likewise.
24019         * modules/linkat-tests (Files): Likewise.
24020         * modules/linked-list-tests (Files): Likewise.
24021         * modules/linkedhash-list-tests (Files): Likewise.
24022         * modules/localename-tests (Files): Likewise.
24023         * modules/lseek-tests (Files): Likewise.
24024         * modules/lstat-tests (Files): Likewise.
24025         * modules/mbmemcasecmp-tests (Files): Likewise.
24026         * modules/mbmemcasecoll-tests (Files): Likewise.
24027         * modules/mbrtowc-tests (Files): Likewise.
24028         * modules/mbscasecmp-tests (Files): Likewise.
24029         * modules/mbscasestr-tests (Files): Likewise.
24030         * modules/mbschr-tests (Files): Likewise.
24031         * modules/mbscspn-tests (Files): Likewise.
24032         * modules/mbsinit-tests (Files): Likewise.
24033         * modules/mbsncasecmp-tests (Files): Likewise.
24034         * modules/mbsnrtowcs-tests (Files): Likewise.
24035         * modules/mbspbrk-tests (Files): Likewise.
24036         * modules/mbspcasecmp-tests (Files): Likewise.
24037         * modules/mbsrchr-tests (Files): Likewise.
24038         * modules/mbsrtowcs-tests (Files): Likewise.
24039         * modules/mbsspn-tests (Files): Likewise.
24040         * modules/mbsstr-tests (Files): Likewise.
24041         * modules/memchr-tests (Files): Likewise.
24042         * modules/memchr2-tests (Files): Likewise.
24043         * modules/memcmp-tests (Files): Likewise.
24044         * modules/memmem-tests (Files): Likewise.
24045         * modules/memrchr-tests (Files): Likewise.
24046         * modules/mkdir-tests (Files): Likewise.
24047         * modules/mkfifo-tests (Files): Likewise.
24048         * modules/mkfifoat-tests (Files): Likewise.
24049         * modules/mknod-tests (Files): Likewise.
24050         * modules/nanosleep-tests (Files): Likewise.
24051         * modules/nl_langinfo-tests (Files): Likewise.
24052         * modules/obstack-printf-tests (Files): Likewise.
24053         * modules/open-tests (Files): Likewise.
24054         * modules/openat-tests (Files): Likewise.
24055         * modules/pipe-filter-gi-tests (Files): Likewise.
24056         * modules/pipe-filter-ii-tests (Files): Likewise.
24057         * modules/pipe2-tests (Files): Likewise.
24058         * modules/popen-safer-tests (Files): Likewise.
24059         * modules/popen-tests (Files): Likewise.
24060         * modules/posixtm-tests (Files): Likewise.
24061         * modules/pread-tests (Files): Likewise.
24062         * modules/printf-frexp-tests (Files): Likewise.
24063         * modules/printf-frexpl-tests (Files): Likewise.
24064         * modules/printf-posix-tests (Files): Likewise.
24065         * modules/priv-set-tests (Files): Likewise.
24066         * modules/quotearg-tests (Files): Likewise.
24067         * modules/random_r-tests (Files): Likewise.
24068         * modules/rawmemchr-tests (Files): Likewise.
24069         * modules/rbtree-list-tests (Files): Likewise.
24070         * modules/rbtree-oset-tests (Files): Likewise.
24071         * modules/rbtreehash-list-tests (Files): Likewise.
24072         * modules/readlink-tests (Files): Likewise.
24073         * modules/remove-tests (Files): Likewise.
24074         * modules/rename-tests (Files): Likewise.
24075         * modules/renameat-tests (Files): Likewise.
24076         * modules/rmdir-tests (Files): Likewise.
24077         * modules/round-tests (Files): Likewise.
24078         * modules/roundf-tests (Files): Likewise.
24079         * modules/roundl-tests (Files): Likewise.
24080         * modules/safe-alloc-tests (Files): Likewise.
24081         * modules/setenv-tests (Files): Likewise.
24082         * modules/sigaction-tests (Files): Likewise.
24083         * modules/signbit-tests (Files): Likewise.
24084         * modules/sleep-tests (Files): Likewise.
24085         * modules/snprintf-posix-tests (Files): Likewise.
24086         * modules/snprintf-tests (Files): Likewise.
24087         * modules/sprintf-posix-tests (Files): Likewise.
24088         * modules/stat-tests (Files): Likewise.
24089         * modules/stat-time-tests (Files): Likewise.
24090         * modules/strcasestr-tests (Files): Likewise.
24091         * modules/strchrnul-tests (Files): Likewise.
24092         * modules/strerror-tests (Files): Likewise.
24093         * modules/striconv-tests (Files): Likewise.
24094         * modules/striconveh-tests (Files): Likewise.
24095         * modules/striconveha-tests (Files): Likewise.
24096         * modules/strsignal-tests (Files): Likewise.
24097         * modules/strstr-tests (Files): Likewise.
24098         * modules/strtod-tests (Files): Likewise.
24099         * modules/strverscmp-tests (Files): Likewise.
24100         * modules/symlink-tests (Files): Likewise.
24101         * modules/symlinkat-tests (Files): Likewise.
24102         * modules/trunc-tests (Files): Likewise.
24103         * modules/truncf-tests (Files): Likewise.
24104         * modules/truncl-tests (Files): Likewise.
24105         * modules/uname-tests (Files): Likewise.
24106         * modules/unicase/cased-tests (Files): Likewise.
24107         * modules/unicase/ignorable-tests (Files): Likewise.
24108         * modules/unicase/locale-language-tests (Files): Likewise.
24109         * modules/unicase/tolower-tests (Files): Likewise.
24110         * modules/unicase/totitle-tests (Files): Likewise.
24111         * modules/unicase/toupper-tests (Files): Likewise.
24112         * modules/unicase/u8-casecmp-tests (Files): Likewise.
24113         * modules/unicase/u8-casecoll-tests (Files): Likewise.
24114         * modules/unicase/u8-casefold-tests (Files): Likewise.
24115         * modules/unicase/u8-is-cased-tests (Files): Likewise.
24116         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
24117         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
24118         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
24119         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
24120         * modules/unicase/u8-tolower-tests (Files): Likewise.
24121         * modules/unicase/u8-totitle-tests (Files): Likewise.
24122         * modules/unicase/u8-toupper-tests (Files): Likewise.
24123         * modules/unicase/u16-casecmp-tests (Files): Likewise.
24124         * modules/unicase/u16-casecoll-tests (Files): Likewise.
24125         * modules/unicase/u16-casefold-tests (Files): Likewise.
24126         * modules/unicase/u16-is-cased-tests (Files): Likewise.
24127         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
24128         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
24129         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
24130         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
24131         * modules/unicase/u16-tolower-tests (Files): Likewise.
24132         * modules/unicase/u16-totitle-tests (Files): Likewise.
24133         * modules/unicase/u16-toupper-tests (Files): Likewise.
24134         * modules/unicase/u32-casecmp-tests (Files): Likewise.
24135         * modules/unicase/u32-casecoll-tests (Files): Likewise.
24136         * modules/unicase/u32-casefold-tests (Files): Likewise.
24137         * modules/unicase/u32-is-cased-tests (Files): Likewise.
24138         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
24139         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
24140         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
24141         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
24142         * modules/unicase/u32-tolower-tests (Files): Likewise.
24143         * modules/unicase/u32-totitle-tests (Files): Likewise.
24144         * modules/unicase/u32-toupper-tests (Files): Likewise.
24145         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
24146         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
24147         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
24148         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
24149         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
24150         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
24151         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
24152         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
24153         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
24154         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
24155         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
24156         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
24157         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
24158         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
24159         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
24160         * modules/unictype/bidicategory-name-tests (Files): Likewise.
24161         * modules/unictype/bidicategory-of-tests (Files): Likewise.
24162         * modules/unictype/bidicategory-test-tests (Files): Likewise.
24163         * modules/unictype/block-list-tests (Files): Likewise.
24164         * modules/unictype/block-of-tests (Files): Likewise.
24165         * modules/unictype/block-test-tests (Files): Likewise.
24166         * modules/unictype/category-C-tests (Files): Likewise.
24167         * modules/unictype/category-Cc-tests (Files): Likewise.
24168         * modules/unictype/category-Cf-tests (Files): Likewise.
24169         * modules/unictype/category-Cn-tests (Files): Likewise.
24170         * modules/unictype/category-Co-tests (Files): Likewise.
24171         * modules/unictype/category-Cs-tests (Files): Likewise.
24172         * modules/unictype/category-L-tests (Files): Likewise.
24173         * modules/unictype/category-Ll-tests (Files): Likewise.
24174         * modules/unictype/category-Lm-tests (Files): Likewise.
24175         * modules/unictype/category-Lo-tests (Files): Likewise.
24176         * modules/unictype/category-Lt-tests (Files): Likewise.
24177         * modules/unictype/category-Lu-tests (Files): Likewise.
24178         * modules/unictype/category-M-tests (Files): Likewise.
24179         * modules/unictype/category-Mc-tests (Files): Likewise.
24180         * modules/unictype/category-Me-tests (Files): Likewise.
24181         * modules/unictype/category-Mn-tests (Files): Likewise.
24182         * modules/unictype/category-N-tests (Files): Likewise.
24183         * modules/unictype/category-Nd-tests (Files): Likewise.
24184         * modules/unictype/category-Nl-tests (Files): Likewise.
24185         * modules/unictype/category-No-tests (Files): Likewise.
24186         * modules/unictype/category-P-tests (Files): Likewise.
24187         * modules/unictype/category-Pc-tests (Files): Likewise.
24188         * modules/unictype/category-Pd-tests (Files): Likewise.
24189         * modules/unictype/category-Pe-tests (Files): Likewise.
24190         * modules/unictype/category-Pf-tests (Files): Likewise.
24191         * modules/unictype/category-Pi-tests (Files): Likewise.
24192         * modules/unictype/category-Po-tests (Files): Likewise.
24193         * modules/unictype/category-Ps-tests (Files): Likewise.
24194         * modules/unictype/category-S-tests (Files): Likewise.
24195         * modules/unictype/category-Sc-tests (Files): Likewise.
24196         * modules/unictype/category-Sk-tests (Files): Likewise.
24197         * modules/unictype/category-Sm-tests (Files): Likewise.
24198         * modules/unictype/category-So-tests (Files): Likewise.
24199         * modules/unictype/category-Z-tests (Files): Likewise.
24200         * modules/unictype/category-Zl-tests (Files): Likewise.
24201         * modules/unictype/category-Zp-tests (Files): Likewise.
24202         * modules/unictype/category-Zs-tests (Files): Likewise.
24203         * modules/unictype/category-and-not-tests (Files): Likewise.
24204         * modules/unictype/category-and-tests (Files): Likewise.
24205         * modules/unictype/category-byname-tests (Files): Likewise.
24206         * modules/unictype/category-name-tests (Files): Likewise.
24207         * modules/unictype/category-none-tests (Files): Likewise.
24208         * modules/unictype/category-of-tests (Files): Likewise.
24209         * modules/unictype/category-or-tests (Files): Likewise.
24210         * modules/unictype/category-test-withtable-tests (Files): Likewise.
24211         * modules/unictype/combining-class-tests (Files): Likewise.
24212         * modules/unictype/ctype-alnum-tests (Files): Likewise.
24213         * modules/unictype/ctype-alpha-tests (Files): Likewise.
24214         * modules/unictype/ctype-blank-tests (Files): Likewise.
24215         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
24216         * modules/unictype/ctype-digit-tests (Files): Likewise.
24217         * modules/unictype/ctype-graph-tests (Files): Likewise.
24218         * modules/unictype/ctype-lower-tests (Files): Likewise.
24219         * modules/unictype/ctype-print-tests (Files): Likewise.
24220         * modules/unictype/ctype-punct-tests (Files): Likewise.
24221         * modules/unictype/ctype-space-tests (Files): Likewise.
24222         * modules/unictype/ctype-upper-tests (Files): Likewise.
24223         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
24224         * modules/unictype/decimal-digit-tests (Files): Likewise.
24225         * modules/unictype/digit-tests (Files): Likewise.
24226         * modules/unictype/mirror-tests (Files): Likewise.
24227         * modules/unictype/numeric-tests (Files): Likewise.
24228         * modules/unictype/property-alphabetic-tests (Files): Likewise.
24229         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
24230         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
24231         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
24232         Likewise.
24233         * modules/unictype/property-bidi-block-separator-tests (Files):
24234         Likewise.
24235         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
24236         Likewise.
24237         * modules/unictype/property-bidi-common-separator-tests (Files):
24238         Likewise.
24239         * modules/unictype/property-bidi-control-tests (Files): Likewise.
24240         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
24241         Likewise.
24242         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
24243         Likewise.
24244         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
24245         Likewise.
24246         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
24247         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
24248         Likewise.
24249         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
24250         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
24251         Likewise.
24252         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
24253         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
24254         * modules/unictype/property-bidi-segment-separator-tests (Files):
24255         Likewise.
24256         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
24257         * modules/unictype/property-byname-tests (Files): Likewise.
24258         * modules/unictype/property-combining-tests (Files): Likewise.
24259         * modules/unictype/property-composite-tests (Files): Likewise.
24260         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
24261         * modules/unictype/property-dash-tests (Files): Likewise.
24262         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
24263         * modules/unictype/property-default-ignorable-code-point-tests (Files):
24264         Likewise.
24265         * modules/unictype/property-deprecated-tests (Files): Likewise.
24266         * modules/unictype/property-diacritic-tests (Files): Likewise.
24267         * modules/unictype/property-extender-tests (Files): Likewise.
24268         * modules/unictype/property-format-control-tests (Files): Likewise.
24269         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
24270         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
24271         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
24272         * modules/unictype/property-hex-digit-tests (Files): Likewise.
24273         * modules/unictype/property-hyphen-tests (Files): Likewise.
24274         * modules/unictype/property-id-continue-tests (Files): Likewise.
24275         * modules/unictype/property-id-start-tests (Files): Likewise.
24276         * modules/unictype/property-ideographic-tests (Files): Likewise.
24277         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
24278         * modules/unictype/property-ids-trinary-operator-tests (Files):
24279         Likewise.
24280         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
24281         * modules/unictype/property-iso-control-tests (Files): Likewise.
24282         * modules/unictype/property-join-control-tests (Files): Likewise.
24283         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
24284         * modules/unictype/property-line-separator-tests (Files): Likewise.
24285         * modules/unictype/property-logical-order-exception-tests (Files):
24286         Likewise.
24287         * modules/unictype/property-lowercase-tests (Files): Likewise.
24288         * modules/unictype/property-math-tests (Files): Likewise.
24289         * modules/unictype/property-non-break-tests (Files): Likewise.
24290         * modules/unictype/property-not-a-character-tests (Files): Likewise.
24291         * modules/unictype/property-numeric-tests (Files): Likewise.
24292         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
24293         * modules/unictype/property-other-default-ignorable-code-point-tests
24294         (Files): Likewise.
24295         * modules/unictype/property-other-grapheme-extend-tests (Files):
24296         Likewise.
24297         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
24298         * modules/unictype/property-other-id-start-tests (Files): Likewise.
24299         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
24300         * modules/unictype/property-other-math-tests (Files): Likewise.
24301         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
24302         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
24303         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
24304         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
24305         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
24306         * modules/unictype/property-private-use-tests (Files): Likewise.
24307         * modules/unictype/property-punctuation-tests (Files): Likewise.
24308         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
24309         * modules/unictype/property-radical-tests (Files): Likewise.
24310         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
24311         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
24312         * modules/unictype/property-space-tests (Files): Likewise.
24313         * modules/unictype/property-terminal-punctuation-tests (Files):
24314         Likewise.
24315         * modules/unictype/property-test-tests (Files): Likewise.
24316         * modules/unictype/property-titlecase-tests (Files): Likewise.
24317         * modules/unictype/property-unassigned-code-value-tests (Files):
24318         Likewise.
24319         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
24320         * modules/unictype/property-uppercase-tests (Files): Likewise.
24321         * modules/unictype/property-variation-selector-tests (Files): Likewise.
24322         * modules/unictype/property-white-space-tests (Files): Likewise.
24323         * modules/unictype/property-xid-continue-tests (Files): Likewise.
24324         * modules/unictype/property-xid-start-tests (Files): Likewise.
24325         * modules/unictype/property-zero-width-tests (Files): Likewise.
24326         * modules/unictype/scripts-tests (Files): Likewise.
24327         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
24328         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
24329         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
24330         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
24331         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
24332         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
24333         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
24334         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
24335         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
24336         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
24337         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
24338         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
24339         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
24340         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
24341         * modules/uninorm/composition-tests (Files): Likewise.
24342         * modules/uninorm/decomposing-form-tests (Files): Likewise.
24343         * modules/uninorm/decomposition-tests (Files): Likewise.
24344         * modules/uninorm/filter-tests (Files): Likewise.
24345         * modules/uninorm/nfc-tests (Files): Likewise.
24346         * modules/uninorm/nfd-tests (Files): Likewise.
24347         * modules/uninorm/nfkc-tests (Files): Likewise.
24348         * modules/uninorm/nfkd-tests (Files): Likewise.
24349         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
24350         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
24351         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
24352         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
24353         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
24354         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
24355         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
24356         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
24357         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
24358         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
24359         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
24360         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
24361         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
24362         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
24363         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
24364         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
24365         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
24366         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
24367         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
24368         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
24369         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
24370         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
24371         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
24372         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
24373         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
24374         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
24375         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
24376         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
24377         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
24378         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
24379         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
24380         * modules/uniwidth/u8-width-tests (Files): Likewise.
24381         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
24382         * modules/uniwidth/u16-width-tests (Files): Likewise.
24383         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
24384         * modules/uniwidth/u32-width-tests (Files): Likewise.
24385         * modules/uniwidth/width-tests (Files): Likewise.
24386         * modules/unlink-tests (Files): Likewise.
24387         * modules/unsetenv-tests (Files): Likewise.
24388         * modules/usleep-tests (Files): Likewise.
24389         * modules/utimens-tests (Files): Likewise.
24390         * modules/utimensat-tests (Files): Likewise.
24391         * modules/vasnprintf-posix-tests (Files): Likewise.
24392         * modules/vasnprintf-tests (Files): Likewise.
24393         * modules/vasprintf-posix-tests (Files): Likewise.
24394         * modules/vasprintf-tests (Files): Likewise.
24395         * modules/vdprintf-posix-tests (Files): Likewise.
24396         * modules/vfprintf-posix-tests (Files): Likewise.
24397         * modules/vprintf-posix-tests (Files): Likewise.
24398         * modules/vsnprintf-posix-tests (Files): Likewise.
24399         * modules/vsnprintf-tests (Files): Likewise.
24400         * modules/vsprintf-posix-tests (Files): Likewise.
24401         * modules/wcrtomb-tests (Files): Likewise.
24402         * modules/wcsnrtombs-tests (Files): Likewise.
24403         * modules/wcsrtombs-tests (Files): Likewise.
24404         * modules/wctype-tests (Files): Likewise.
24405         * modules/wcwidth-tests (Files): Likewise.
24406         * modules/xmemdup0-tests (Files): Likewise.
24407         * modules/xprintf-posix-tests (Files): Likewise.
24408         * modules/xvasprintf-tests (Files): Likewise.
24409
24410 2009-12-24  Eric Blake  <ebb9@byu.net>
24411
24412         test-nanosleep: fix typo
24413         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
24414         patch.
24415         Reported by Bruno Haible.
24416
24417 2009-12-24  Bruno Haible  <bruno@clisp.org>
24418
24419         Reduce namespace pollution on glibc systems.
24420         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
24421         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
24422         systems.
24423         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
24424         <getopt.h> on glibc systems.
24425         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
24426         systems.
24427         * lib/fcntl.c: Include <unistd.h> here instead.
24428
24429 2009-12-24  Bruno Haible  <bruno@clisp.org>
24430
24431         * lib/stdlib.in.h (includes): Fix typo in today's commit.
24432
24433 2009-12-24  Eric Blake  <ebb9@byu.net>
24434
24435         tests: add signature checks
24436         * tests/signature.h (SIGNATURE_CHECK): New file.
24437         * modules/atexit-tests (Files): Use it.
24438         * modules/btowc-tests (Files): Likewise.
24439         * modules/canonicalize-lgpl-tests (Files): Likewise.
24440         * modules/ceilf-tests (Files): Likewise.
24441         * modules/ceill-tests (Files): Likewise.
24442         * modules/chown-tests (Files): Likewise.
24443         * modules/dprintf-posix-tests (Files): Likewise.
24444         * modules/dup2-tests (Files): Likewise.
24445         * modules/dup3-tests (Files): Likewise.
24446         * modules/duplocale-tests (Files): Likewise.
24447         * modules/fchdir-tests (Files): Likewise.
24448         * modules/fcntl-tests (Files): Likewise.
24449         * modules/fdopendir-tests (Files): Likewise.
24450         * modules/fflush-tests (Files): Likewise.
24451         * modules/flock-tests (Files): Likewise.
24452         * modules/floorf-tests (Files): Likewise.
24453         * modules/floorl-tests (Files): Likewise.
24454         * modules/fnmatch-tests (Files): Likewise.
24455         * modules/fopen-tests (Files): Likewise.
24456         * modules/fprintf-posix-tests (Files): Likewise.
24457         * modules/freopen-tests (Files): Likewise.
24458         * modules/frexp-nolibm-tests (Files): Likewise.
24459         * modules/frexp-tests (Files): Likewise.
24460         * modules/frexpl-nolibm-tests (Files): Likewise.
24461         * modules/frexpl-tests (Files): Likewise.
24462         * modules/fseek-tests (Files): Likewise.
24463         * modules/fseeko-tests (Files): Likewise.
24464         * modules/fsync-tests (Files): Likewise.
24465         * modules/ftell-tests (Files): Likewise.
24466         * modules/ftello-tests (Files): Likewise.
24467         * modules/futimens-tests (Files): Likewise.
24468         * modules/getaddrinfo-tests (Files): Likewise.
24469         * modules/getcwd-tests (Files): Likewise.
24470         * modules/getdelim-tests (Files): Likewise.
24471         * modules/getdtablesize-tests (Files): Likewise.
24472         * modules/getgroups-tests (Files): Likewise.
24473         * modules/gethostname-tests (Files): Likewise.
24474         * modules/getline-tests (Files): Likewise.
24475         * modules/getopt-posix-tests (Files): Likewise.
24476         * modules/gettimeofday-tests (Files): Likewise.
24477         * modules/glob-tests (Files): Likewise.
24478         * modules/iconv-tests (Files): Likewise.
24479         * modules/inet_ntop-tests (Files): Likewise.
24480         * modules/inet_pton-tests (Files): Likewise.
24481         * modules/isblank-tests (Files): Likewise.
24482         * modules/lchown-tests (Files): Likewise.
24483         * modules/ldexpl-tests (Files): Likewise.
24484         * modules/link-tests (Files): Likewise.
24485         * modules/linkat-tests (Files): Likewise.
24486         * modules/lseek-tests (Files): Likewise.
24487         * modules/lstat-tests (Files): Likewise.
24488         * modules/mbrtowc-tests (Files): Likewise.
24489         * modules/mbsinit-tests (Files): Likewise.
24490         * modules/mbsnrtowcs-tests (Files): Likewise.
24491         * modules/mbsrtowcs-tests (Files): Likewise.
24492         * modules/memchr-tests (Files): Likewise.
24493         * modules/memcmp-tests (Files): Likewise.
24494         * modules/memmem-tests (Files): Likewise.
24495         * modules/memrchr-tests (Files): Likewise.
24496         * modules/mkdir-tests (Files): Likewise.
24497         * modules/mkfifo-tests (Files): Likewise.
24498         * modules/mkfifoat-tests (Files): Likewise.
24499         * modules/mknod-tests (Files): Likewise.
24500         * modules/nanosleep-tests (Files): Likewise.
24501         * modules/nl_langinfo-tests (Files): Likewise.
24502         * modules/obstack-printf-tests (Files): Likewise.
24503         * modules/open-tests (Files): Likewise.
24504         * modules/openat-tests (Files): Likewise.
24505         * modules/perror-tests (Files): Likewise.
24506         * modules/pipe2-tests (Files): Likewise.
24507         * modules/poll-tests (Files): Likewise.
24508         * modules/popen-tests (Files): Likewise.
24509         * modules/posix_spawn-tests (Files): Likewise.
24510         * modules/posix_spawnp-tests (Files): Likewise.
24511         * modules/pread-tests (Files): Likewise.
24512         * modules/printf-posix-tests (Files): Likewise.
24513         * modules/pty-tests (Files): Likewise.
24514         * modules/random_r-tests (Files): Likewise.
24515         * modules/rawmemchr-tests (Files): Likewise.
24516         * modules/readlink-tests (Files): Likewise.
24517         * modules/remove-tests (Files): Likewise.
24518         * modules/rename-tests (Files): Likewise.
24519         * modules/renameat-tests (Files): Likewise.
24520         * modules/rmdir-tests (Files): Likewise.
24521         * modules/round-tests (Files): Likewise.
24522         * modules/roundf-tests (Files): Likewise.
24523         * modules/roundl-tests (Files): Likewise.
24524         * modules/select-tests (Files): Likewise.
24525         * modules/setenv-tests (Files): Likewise.
24526         * modules/sigaction-tests (Files): Likewise.
24527         * modules/sleep-tests (Files): Likewise.
24528         * modules/snprintf-posix-tests (Files): Likewise.
24529         * modules/snprintf-tests (Files): Likewise.
24530         * modules/sprintf-posix-tests (Files): Likewise.
24531         * modules/stat-tests (Files): Likewise.
24532         * modules/strcasestr-tests (Files): Likewise.
24533         * modules/strchrnul-tests (Files): Likewise.
24534         * modules/strerror-tests (Files): Likewise.
24535         * modules/strsignal-tests (Files): Likewise.
24536         * modules/strstr-tests (Files): Likewise.
24537         * modules/strtod-tests (Files): Likewise.
24538         * modules/strverscmp-tests (Files): Likewise.
24539         * modules/symlink-tests (Files): Likewise.
24540         * modules/symlinkat-tests (Files): Likewise.
24541         * modules/times-tests (Files): Likewise.
24542         * modules/trunc-tests (Files): Likewise.
24543         * modules/truncf-tests (Files): Likewise.
24544         * modules/truncl-tests (Files): Likewise.
24545         * modules/tsearch-tests (Files): Likewise.
24546         * modules/uname-tests (Files): Likewise.
24547         * modules/unlink-tests (Files): Likewise.
24548         * modules/unsetenv-tests (Files): Likewise.
24549         * modules/usleep-tests (Files): Likewise.
24550         * modules/utimensat-tests (Files): Likewise.
24551         * modules/vasprintf-tests (Files): Likewise.
24552         * modules/vdprintf-posix-tests (Files): Likewise.
24553         * modules/vfprintf-posix-tests (Files): Likewise.
24554         * modules/vprintf-posix-tests (Files): Likewise.
24555         * modules/vsnprintf-posix-tests (Files): Likewise.
24556         * modules/vsnprintf-tests (Files): Likewise.
24557         * modules/vsprintf-posix-tests (Files): Likewise.
24558         * modules/wcrtomb-tests (Files): Likewise.
24559         * modules/wcsnrtombs-tests (Files): Likewise.
24560         * modules/wcsrtombs-tests (Files): Likewise.
24561         * modules/wcwidth-tests (Files): Likewise.
24562         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
24563         * tests/test-isinf.c (isinf): Likewise.
24564         * tests/test-isnan.c (isnan): Likewise.
24565         * tests/test-signbit.c (signbit): Likewise.
24566         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
24567         declaration, either as macro or with correct signature.
24568         (select): Ensure function under test is declared with correct
24569         signature in correct header.
24570         * tests/test-atexit.c (atexit): Likewise.
24571         * tests/test-btowc.c (btowc): Likewise.
24572         * tests/test-canonicalize-lgpl.c (realpath)
24573         (canonicalize_file_name): Likewise.
24574         * tests/test-ceilf1.c (ceilf): Likewise.
24575         * tests/test-ceill.c (ceill): Likewise.
24576         * tests/test-chown.c (chown): Likewise.
24577         * tests/test-dprintf-posix.c (dprintf): Likewise.
24578         * tests/test-dup2.c (dup2): Likewise.
24579         * tests/test-dup3.c (dup3): Likewise.
24580         * tests/test-duplocale.c (duplocale): Likewise.
24581         * tests/test-fchdir.c (fchdir): Likewise.
24582         * tests/test-fchownat.c (fchownat): Likewise.
24583         * tests/test-fcntl.c (fcntl): Likewise.
24584         * tests/test-fdopendir.c (fdopendir): Likewise.
24585         * tests/test-fflush.c (fflush): Likewise.
24586         * tests/test-flock.c (flock): Likewise.
24587         * tests/test-floorf1.c (floorf): Likewise.
24588         * tests/test-floorl.c (floorl): Likewise.
24589         * tests/test-fnmatch.c (fnmatch): Likewise.
24590         * tests/test-fopen.c (fopen): Likewise.
24591         * tests/test-fprintf-posix.c (fprintf): Likewise.
24592         * tests/test-freopen.c (freopen): Likewise.
24593         * tests/test-frexp.c (frexp): Likewise.
24594         * tests/test-frexpl.c (frexpl): Likewise.
24595         * tests/test-fseek.c (fseek): Likewise.
24596         * tests/test-fseeko.c (fseeko): Likewise.
24597         * tests/test-fstatat.c (fstatat): Likewise.
24598         * tests/test-fsync.c (fsync): Likewise.
24599         * tests/test-ftell.c (ftell): Likewise.
24600         * tests/test-ftello.c (ftello): Likewise.
24601         * tests/test-futimens.c (futimens): Likewise.
24602         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
24603         (gai_strerror): Likewise.
24604         * tests/test-getcwd.c (getcwd): Likewise.
24605         * tests/test-getdelim.c (getdelim): Likewise.
24606         * tests/test-getdtablesize.c (getdtablesize): Likewise.
24607         * tests/test-getgroups.c (getgroups): Likewise.
24608         * tests/test-gethostname.c (gethostname): Likewise.
24609         * tests/test-getline.c (getline): Likewise.
24610         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
24611         Likewise.
24612         * tests/test-gettimeofday.c (gettimeofday): Likewise.
24613         * tests/test-glob.c (glob, globfree): Likewise.
24614         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
24615         * tests/test-inet_ntop.c (inet_ntop): Likewise.
24616         * tests/test-inet_pton.c (inet_pton): Likewise.
24617         * tests/test-isblank.c (isblank): Likewise.
24618         * tests/test-lchown.c (lchown): Likewise.
24619         * tests/test-ldexpl.c (ldexpl): Likewise.
24620         * tests/test-link.c (link): Likewise.
24621         * tests/test-linkat.c (linkat): Likewise.
24622         * tests/test-lseek.c (lseek): Likewise.
24623         * tests/test-lstat.c (lstat): Likewise.
24624         * tests/test-mbrtowc.c (mbrtowc): Likewise.
24625         * tests/test-mbsinit.c (mbsinit): Likewise.
24626         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
24627         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
24628         * tests/test-memchr.c (memchr): Likewise.
24629         * tests/test-memcmp.c (memcmp): Likewise.
24630         * tests/test-memmem.c (memmem): Likewise.
24631         * tests/test-memrchr.c (memrchr): Likewise.
24632         * tests/test-mkdir.c (mkdir): Likewise.
24633         * tests/test-mkdirat.c (mkdirat): Likewise.
24634         * tests/test-mkfifo.c (mkfifo): Likewise.
24635         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
24636         * tests/test-mknod.c (mknod): Likewise.
24637         * tests/test-nanosleep.c (nanosleep): Likewise.
24638         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
24639         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
24640         Likewise.
24641         * tests/test-open.c (open): Likewise.
24642         * tests/test-openat.c (openat): Likewise.
24643         * tests/test-perror.c (perror): Likewise.
24644         * tests/test-pipe2.c (pipe2): Likewise.
24645         * tests/test-poll.c (poll): Likewise.
24646         * tests/test-popen.c (popen, pclose): Likewise.
24647         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
24648         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
24649         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
24650         (posix_spawn_file_actions_destroy)
24651         (posix_spawn_file_actions_addclose)
24652         (posix_spawn_file_actions_addopen)
24653         (posix_spawn_file_actions_adddup2): Likewise.
24654         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
24655         * tests/test-pread.c (pread): Likewise.
24656         * tests/test-printf-posix.c (printf): Likewise.
24657         * tests/test-pty.c (openpty, forkpty): Likewise.
24658         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
24659         (random_r): Likewise.
24660         * tests/test-rawmemchr.c (rawmemchr): Likewise.
24661         * tests/test-readlink.c (readlink): Likewise.
24662         * tests/test-remove.c (remove): Likewise.
24663         * tests/test-rename.c (rename): Likewise.
24664         * tests/test-renameat.c (renameat): Likewise.
24665         * tests/test-rmdir.c (rmdir): Likewise.
24666         * tests/test-round1.c (round): Likewise.
24667         * tests/test-roundf1.c (roundf): Likewise.
24668         * tests/test-roundl.c (roundl): Likewise.
24669         * tests/test-setenv.c (setenv): Likewise.
24670         * tests/test-sigaction.c (sigaction): Likewise.
24671         * tests/test-sleep.c (sleep): Likewise.
24672         * tests/test-snprintf.c (snprintf): Likewise.
24673         * tests/test-sprintf-posix.c (sprintf): Likewise.
24674         * tests/test-stat.c (stat): Likewise.
24675         * tests/test-stpncpy.c (stpncpy): Likewise.
24676         * tests/test-strcasestr.c (strcasestr): Likewise.
24677         * tests/test-strchrnul.c (strchrnul): Likewise.
24678         * tests/test-strerror.c (strerror): Likewise.
24679         * tests/test-strsignal.c (strsignal): Likewise.
24680         * tests/test-strstr.c (strstr): Likewise.
24681         * tests/test-strtod.c (strtod): Likewise.
24682         * tests/test-strverscmp.c (strverscmp): Likewise.
24683         * tests/test-symlink.c (symlink): Likewise.
24684         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
24685         * tests/test-times.c (times): Likewise.
24686         * tests/test-trunc1.c (trunc): Likewise.
24687         * tests/test-truncf1.c (truncf): Likewise.
24688         * tests/test-truncl.c (truncl): Likewise.
24689         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
24690         Likewise.
24691         * tests/test-uname.c (uname): Likewise.
24692         * tests/test-unlink.c (unlink): Likewise.
24693         * tests/test-unlinkat.c (unlinkat): Likewise.
24694         * tests/test-unsetenv.c (unsetenv): Likewise.
24695         * tests/test-usleep.c (usleep): Likewise.
24696         * tests/test-utimensat.c (utimensat): Likewise.
24697         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
24698         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
24699         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
24700         * tests/test-vprintf-posix.c (vprintf): Likewise.
24701         * tests/test-vsnprintf.c (vsnprintf): Likewise.
24702         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
24703         * tests/test-wcrtomb.c (wcrtomb): Likewise.
24704         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
24705         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
24706         * tests/test-wcwidth.c (wcwidth): Likewise.
24707
24708         build: pull in conditional headers during GNULIB_POSIXCHECK
24709         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
24710         definitions from any conditionally-included headers.
24711         * lib/stdlib.in.h (includes): Likewise.
24712         * lib/unistd.in.h (includes): Likewise.
24713
24714 2009-12-24  Bruno Haible  <bruno@clisp.org>
24715
24716         * tests/test-argv-iter.c: Include header file being tested immediately
24717         after config.h.
24718         * tests/test-base64.c: Likewise.
24719         * tests/test-flock.c: Likewise.
24720         * tests/test-fsync.c: Likewise.
24721         * tests/test-getdate.c: Likewise.
24722         * tests/test-getndelim2.c: Likewise.
24723         * tests/test-isfinite.c: Likewise.
24724         * tests/test-isinf.c: Likewise.
24725         * tests/test-strerror.c: Likewise.
24726         * tests/test-strsignal.c: Likewise.
24727
24728 2009-12-23  Eric Blake  <ebb9@byu.net>
24729
24730         unistd: work around cygwin bug
24731         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
24732         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
24733         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
24734
24735 2009-12-23  Bruno Haible  <bruno@clisp.org>
24736
24737         localename: More tests.
24738         * tests/test-localename.c (SIZEOF): New macro.
24739         (categories): New variable.
24740         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
24741         test_locale_name_default): Add test w.r.t. thread locale.
24742         (test_locale_name_thread): New function.
24743         (main): Invoke it.
24744
24745         localename: Make aware of thread locale.
24746         * lib/localename.h (gl_locale_name_thread): New declaration.
24747         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
24748         behaviour with respect to thread locale.
24749         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
24750         <langinfo.h>, glthread/lock.h.
24751         (SIZE_BITS): New macro.
24752         (string_hash): New function.
24753         (struct hash_node): New type.
24754         (HASH_TABLE_SIZE): New macro.
24755         (struniq_hash_table, struniq_lock): New variables.
24756         (struniq): New function.
24757         (gl_locale_name_thread): New function.
24758         (gl_locale_name): Invoke it.
24759         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
24760         * modules/localename (Depends-on): Add lock.
24761         Reported by Mike Gran <spk121@yahoo.com>.
24762
24763 2009-12-23  Eric Blake  <ebb9@byu.net>
24764
24765         va-args: new module
24766         * modules/va-args: New file.
24767         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
24768         * MODULES.html.sh (Core language properties): Mention it.
24769
24770         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
24771         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
24772         named alias for __attribute__((__unused__)).
24773         * lib/chown.c: Update client.
24774         * lib/fchmodat.c: Likewise.
24775         * lib/fts.c: Likewise.
24776         * lib/getdate.y: Likewise.
24777         * lib/getgroups.c: Likewise.
24778         * lib/getopt.c: Likewise.
24779         * lib/getugroups.c: Likewise.
24780         * lib/mkdir.c: Likewise.
24781         * lib/mkfifo.c: Likewise.
24782         * lib/mkfifoat.c: Likewise.
24783         * lib/mknod.c: Likewise.
24784         * lib/mknodat.c: Likewise.
24785         * lib/readlink.c: Likewise.
24786         * lib/se-context.in.h: Likewise.
24787         * lib/se-selinux.in.h: Likewise.
24788         * lib/sockets.c: Likewise.
24789         * lib/symlink.c: Likewise.
24790         * lib/symlinkat.c: Likewise.
24791         * lib/unicodeio.c: Likewise.
24792         * lib/unistr.h: Likewise.
24793         * tests/test-areadlink.c: Likewise.
24794         * tests/test-areadlinkat.c: Likewise.
24795         * tests/test-filenamecat.c: Likewise.
24796         * tests/test-fseeko.c: Likewise.
24797         * tests/test-ftello.c: Likewise.
24798         * tests/test-getdate.c: Likewise.
24799         * tests/test-getgroups.c: Likewise.
24800         * tests/test-gethostname.c: Likewise.
24801         * tests/test-quotearg.c: Likewise.
24802         * tests/test-version-etc.c: Likewise.
24803         * tests/test-xalloc-die.c: Likewise.
24804         * tests/test-xfprintf-posix.c: Likewise.
24805         * tests/test-xprintf-posix.c: Likewise.
24806         * tests/test-xvasprintf.c: Likewise.
24807
24808         tests: avoid compiler warnings
24809         * tests/test-fcntl.c (main): Delete unused parameters.
24810         * tests/test-freopen-safer.c (main): Likewise.
24811         * tests/test-xalloc-die.c (main): Mark unused parameters.
24812         * tests/test-fseeko.c (main): Likewise.
24813         * tests/test-ftello.c (main): Likewise.
24814         * tests/test-nanosleep.c (main): Avoid declaration warning.
24815         * tests/test-sleep.c (main): Likewise.
24816         * tests/test-unsetenv.c (main): Silence warning about string
24817         literal.
24818         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
24819
24820 2009-12-23  Bruno Haible  <bruno@clisp.org>
24821
24822         * tests/test-localename.c (test_locale_name): New function, extracted
24823         from main. Also test mixed situations.
24824         (test_locale_name_posix, test_locale_name_environ,
24825         test_locale_name_default): New functions.
24826         (main): Invoke them all.
24827         * modules/localename-tests (configure.ac): Test for newlocale.
24828
24829 2009-12-23  Bruno Haible  <bruno@clisp.org>
24830
24831         unistd: Ensure getcwd gets declared before being overridden.
24832         * lib/unistd.in.h: Conditionally include <io.h>.
24833
24834 2009-12-22  Bruno Haible  <bruno@clisp.org>
24835
24836         wchar: Diagnose broken combination of glibc and gcc versions and flags.
24837         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
24838         (gl_WCHAR_H): Invoke it.
24839         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
24840         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
24841         Reported by Karl Berry <karl@freefriends.org>.
24842
24843 2009-12-22  Eric Blake  <ebb9@byu.net>
24844
24845         math, unistd: avoid redundant includes
24846         * lib/math.in.h (isnan): No need to re-include <math.h>.
24847         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
24848
24849         getsubopt: work around cygwin bug
24850         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
24851         avoid conflicting with system getsubopt.
24852         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
24853         bug.
24854
24855         getopt: synchronize from glibc
24856         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
24857         parameter order.  Adjust all callers.
24858         (_getopt_internal_r, main): Adjust quoting in error messages.
24859         Drop considerations for outdated POSIX 1003.2 error message.
24860         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
24861         callers.
24862         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
24863
24864         test-getopt: test stderr behavior
24865         * modules/getopt-posix-tests (Depends-on): Add dup2.
24866         * tests/test-getopt.c (ASSERT): Avoid stderr.
24867         (main): Move stderr to a temporary file.
24868         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
24869         Instead, add parameter to inform caller if output occurred.
24870         (test_getopt): Adjust all existing tests to expect silence, and
24871         add new tests of leading ":".
24872         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
24873         glibc shortcomings with leading "-:" or "+:" in optstring.
24874         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
24875         Likewise.
24876         * doc/posix-functions/getopt.texi (getopt): Likewise.
24877
24878         test-getopt: enhance test
24879         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
24880         supports optind=0.
24881         * tests/test-getopt.c (OPTIND_MIN): Move...
24882         * tests/test-getopt.h (OPTIND_MIN): ...here.
24883         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
24884         Require that optind=0 works, since modern BSD supports it in
24885         addition to optreset, and since coreutils expects it.
24886         (test_getopt_long_only): New test.
24887         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
24888         glibc shortcomings with 'W;', and enforcement of optind=0.
24889         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
24890         Likewise.
24891
24892 2009-12-21  Bruno Haible  <bruno@clisp.org>
24893
24894         localename: Improvements for MacOS X and Cygwin.
24895         * lib/localename.h (gl_locale_name_environ): New declaration.
24896         * lib/localename.c (gl_locale_name_environ): New function, extracted from
24897         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
24898         (gl_locale_name_posix): Invoke it.
24899         (gl_locale_name_default): Add comments. Use Windows native API also on
24900         Cygwin.
24901
24902 2009-12-21  Bruno Haible  <bruno@clisp.org>
24903
24904         Update list of Win32 locale ids.
24905         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
24906         (LANG_SAMI): Renamed from LANG_SAAMI.
24907         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
24908         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
24909         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
24910         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
24911         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
24912         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
24913         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
24914         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
24915         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
24916         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
24917         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
24918         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
24919         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
24920         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
24921         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
24922         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
24923         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
24924         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
24925         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
24926         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
24927         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
24928         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
24929         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
24930         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
24931         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
24932         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
24933         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
24934         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
24935         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
24936         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
24937         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
24938         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
24939         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
24940         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
24941         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
24942         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
24943         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
24944         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
24945         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
24946         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
24947         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
24948         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
24949         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
24950         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
24951         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
24952         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
24953         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
24954         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
24955         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
24956         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
24957         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
24958         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
24959         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
24960         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
24961         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
24962         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
24963         Add more languages and countries for Sami, Sorbian. Add more countries
24964         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
24965         for Pashto. Change country for Syriac, Tswana.
24966
24967 2009-12-21  Eric Blake  <ebb9@byu.net>
24968
24969         test-utimens: avoid spurious failure
24970         * tests/test-chown.h (nap): Factor...
24971         * tests/nap.h: ...into new file.
24972         * tests/test-lchown.h (nap): Avoid duplication.
24973         * tests/test-utimens-common.h (nap): Use shared implementation,
24974         necessary on file systems with 1-second resolution.
24975         * modules/chown-tests (Files): Include new file.
24976         * modules/fdutimensat-tests (Files): Likewise.
24977         * modules/futimens-tests (Files): Likewise.
24978         * modules/lchown-tests (Files): Likewise.
24979         * modules/openat-tests (Files): Likewise.
24980         * modules/utimens-tests (Files): Likewise.
24981         * modules/utimensat-tests (Files): Likewise.
24982
24983 2009-12-19  Eric Blake  <ebb9@byu.net>
24984
24985         futimens, utimensat: work around Linux bug
24986         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
24987         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
24988         * lib/utimensat.c (rpl_utimensat): Work around it.
24989         * lib/futimens.c (rpl_futimens): Adjust comment.
24990
24991         utimens: work around Linux ctime bug
24992         * lib/utimens.c (detect_ctime_bug): New helper function.
24993         (update_timespec): Differentiate between workaround needed for
24994         this bug vs. what is needed for systems that lack utimensat.
24995         (fdutimens, lutimens): Work around bug.
24996
24997         utimens: check for ctime update
24998         * tests/test-utimens-common.h (check_ctime): Define.
24999         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
25000         * tests/test-futimens.h (test_futimens): Likewise.
25001         * tests/test-lutimens.h (test_lutimens): Likewise.
25002         * doc/posix-functions/futimens.texi (futimens): Document the bug.
25003         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
25004
25005 2009-12-19  Bruno Haible  <bruno@clisp.org>
25006
25007         dprintf-posix: Check against memory leak fixed on 2009-12-15.
25008         * tests/test-dprintf-posix2.sh: New file.
25009         * tests/test-dprintf-posix2.c: New file.
25010         * modules/dprintf-posix-tests (Files): Add them.
25011         (configure.ac): Check for getrlimit and setrlimit.
25012         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
25013
25014 2009-12-19  Bruno Haible  <bruno@clisp.org>
25015
25016         fprintf-posix: Check against memory leak fixed on 2009-12-15.
25017         * tests/test-fprintf-posix3.sh: New file.
25018         * tests/test-fprintf-posix3.c: New file.
25019         * modules/fprintf-posix-tests (Files): Add them.
25020         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
25021
25022 2009-12-19  Eric Blake  <ebb9@byu.net>
25023
25024         dirfd: fix prototype
25025         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
25026         * lib/dirfd.c (dirfd): Likewise.
25027
25028         canonicalize: reduce memory usage
25029         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
25030         allocation to size.
25031         Reported by Solar Designer <solar@openwall.com>.
25032
25033 2009-12-19  Bruno Haible  <bruno@clisp.org>
25034
25035         New module attribute 'Applicability'.
25036         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
25037         * gnulib-tool: New option --extract-applicability.
25038         (func_usage): Document it.
25039         (sed_extract_prog): Recognize it.
25040         (func_get_applicability): New function.
25041         (func_import): Generalize handling of 'link-warning' module.
25042         * modules/link-warning (Applicability): New section.
25043         * modules/arg-nonnull (Applicability): New section.
25044         Repoted by Simon Josefsson <simon@josefsson.org>.
25045
25046 2009-12-19  Bruno Haible  <bruno@clisp.org>
25047
25048         fflush: tweak
25049         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
25050         * lib/fseeko.c (rpl_fseeko): Likewise.
25051
25052 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
25053
25054         * lib/gl_list.h: Fix typo in comment.
25055
25056 2009-12-16  Eric Blake  <ebb9@byu.net>
25057
25058         fcntl: use to simplify other modules
25059         * modules/cloexec (Depends-on): Add fcntl.
25060         * modules/fchdir (Depends-on): Likewise.
25061         * modules/fd-safer-flag (Depends-on): Likewise.
25062         * modules/unistd-safer (Depends-on): Likewise.
25063         * modules/dup3 (configure.ac): Set module indicator.
25064         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
25065         missing.
25066         * lib/fchdir.c (_gl_register_dup): Fix comment.
25067         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
25068         * lib/dup-safer.c (dup_safer): Likewise.
25069         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
25070         * lib/dup3.c (dup3): Likewise.
25071         * tests/test-fchdir.c (main): Enhance test.
25072         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
25073
25074         fcntl: port portions of fcntl to mingw
25075         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
25076         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
25077         replacement for mingw.
25078         * modules/fcntl (Description): Update.
25079         (Depends-on): Add dup2.
25080         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
25081         * modules/fcntl-h (Makefile.am): Substitute it.
25082         * lib/fcntl.in.h (fcntl): Update declaration.
25083         (F_DUPFD, F_GETFD): New macros, when needed.
25084         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
25085         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
25086         * tests/test-fcntl.c (check_flags, main): Enhance test for items
25087         we now guarantee.
25088
25089         fcntl: work around cygwin bug in F_DUPFD
25090         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
25091         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
25092         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
25093         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
25094         * doc/posix-functions/fcntl.texi (fcntl): Document it.
25095
25096         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
25097         * modules/fcntl (Files): List new files.
25098         (configure.ac): Run a test.
25099         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
25100         * lib/fcntl.c (rpl_fcntl): Likewise.
25101         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
25102         (gl_FCNTL_H): Always replace fcntl.h.
25103         * modules/fcntl-h (Makefile.am): Substitute witnesses.
25104         * lib/fcntl.in.h (fcntl): Declare replacement.
25105         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
25106         needed, plus a witness.
25107         * doc/posix-functions/fcntl.texi (fcntl): Document this.
25108         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
25109         * tests/test-fcntl.c: New file.
25110         * modules/fcntl-tests: Likewise.
25111
25112         binary-io: avoid potential compilation warning
25113         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
25114         directives.
25115
25116         fflush: avoid compilation error on NetBSD
25117         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
25118         between off_t and fpos_t, since the latter is sometimes a struct.
25119         * lib/fseeko.c (rpl_fseeko): Likewise.
25120         Reported by Alexander Nasonov <alnsn@yandex.ru>.
25121
25122 2009-12-15  Eric Blake  <ebb9@byu.net>
25123
25124         fcntl-h, stdio, sys_ioctl: fix declarations
25125         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
25126         function must not take arguments.
25127         * lib/sys_ioctl.in.h (ioctl): Likewise.
25128         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
25129         (open): Add a link warning.
25130
25131 2009-12-15  Jim Meyering  <meyering@redhat.com>
25132
25133         areadlink, areadlink-with-size: relax license to LGPLv2+
25134         * modules/areadlink (License): Relax to LGPLv2+.
25135         * modules/areadlink-with-size (License): Likewise.
25136
25137 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
25138             Bruno Haible  <bruno@clisp.org>
25139
25140         *printf: Fix memory leak.
25141         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
25142         * lib/vfprintf.c (vfprintf): Likewise.
25143         * lib/dprintf.c (dprintf): Likewise.
25144         * lib/vdprintf.c (vdprintf): Likewise.
25145
25146 2009-12-14  Eric Blake  <ebb9@byu.net>
25147
25148         accept4: adjust module dependencies
25149         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
25150
25151         utimens: one more try at avoiding compiler warning
25152         * lib/utimens.c (lutimens): Lower scope of result.
25153
25154 2009-12-13  Bruno Haible  <bruno@clisp.org>
25155
25156         Move the malloc checking from module 'list' to new module 'xlist'.
25157         * modules/xlist: New file.
25158         * lib/gl_xlist.h: New file.
25159         * lib/gl_xlist.c: New file.
25160         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
25161         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
25162         gl_list_add_last, gl_list_add_before, gl_list_add_after,
25163         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
25164         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
25165         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
25166         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
25167         gl_sortedlist_nx_add): New declarations.
25168         (struct gl_list_implementation): Rename and change methods accordingly.
25169         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
25170         (gl_list_nx_create): Renamed from gl_list_create.
25171         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
25172         (gl_list_nx_set_at): Renamed from gl_list_set_at.
25173         (gl_list_nx_add_first): Renamed from gl_list_add_first.
25174         (gl_list_nx_add_last): Renamed from gl_list_add_last.
25175         (gl_list_nx_add_before): Renamed from gl_list_add_before.
25176         (gl_list_nx_add_after): Renamed from gl_list_add_after.
25177         (gl_list_nx_add_at): Renamed from gl_list_add_at.
25178         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
25179         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
25180         gl_list_create_empty.
25181         (gl_list_nx_create): Renamed from gl_list_create.
25182         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
25183         (gl_list_nx_set_at): Renamed from gl_list_set_at.
25184         (gl_list_nx_add_first): Renamed from gl_list_add_first.
25185         (gl_list_nx_add_last): Renamed from gl_list_add_last.
25186         (gl_list_nx_add_before): Renamed from gl_list_add_before.
25187         (gl_list_nx_add_after): Renamed from gl_list_add_after.
25188         (gl_list_nx_add_at): Renamed from gl_list_add_at.
25189         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
25190         * lib/gl_array_list.c: Don't include xalloc.h.
25191         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
25192         NULL upon out-of-memory.
25193         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
25194         out-of-memory.
25195         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
25196         Change return type to 'int'.
25197         (gl_array_nx_set_at): Renamed from gl_array_set_at.
25198         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
25199         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
25200         upon out-of-memory.
25201         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
25202         upon out-of-memory.
25203         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
25204         upon out-of-memory.
25205         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
25206         upon out-of-memory.
25207         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
25208         out-of-memory.
25209         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
25210         Update.
25211         (gl_array_list_implementation): Update.
25212         * lib/gl_carray_list.c: Don't include xalloc.h.
25213         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
25214         Return NULL upon out-of-memory.
25215         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
25216         out-of-memory.
25217         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
25218         Change return type to 'int'.
25219         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
25220         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
25221         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
25222         upon out-of-memory.
25223         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
25224         upon out-of-memory.
25225         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
25226         out-of-memory.
25227         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
25228         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
25229         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
25230         Update.
25231         (gl_carray_list_implementation): Update.
25232         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
25233         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
25234         gl_linked_create_empty. Return NULL upon out-of-memory.
25235         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
25236         out-of-memory.
25237         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
25238         Change return type to 'int'. Return -1 upon out-of-memory.
25239         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
25240         out-of-memory.
25241         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
25242         upon out-of-memory.
25243         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
25244         upon out-of-memory.
25245         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
25246         NULL upon out-of-memory.
25247         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
25248         upon out-of-memory.
25249         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
25250         out-of-memory.
25251         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
25252         Update.
25253         * lib/gl_linked_list.c: Don't include xalloc.h.
25254         (gl_linked_list_implementation): Update.
25255         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
25256         (add_to_bucket): Change return type to 'int'.
25257         (gl_linkedhash_list_implementation): Update.
25258         * lib/gl_anytree_list1.h (free_subtree): New function.
25259         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
25260         gl_tree_create_empty. Return NULL upon out-of-memory.
25261         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
25262         Change return type to 'int'. Return -1 upon out-of-memory.
25263         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
25264         out-of-memory.
25265         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
25266         (gl_tree_remove_node): New function, moved here from
25267         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
25268         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
25269         Update.
25270         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
25271         malloc, not xmalloc. Return NULL upon out-of-memory.
25272         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
25273         out-of-memory.
25274         (gl_tree_remove_node_from_tree): New function, extracted from
25275         gl_tree_remove_node.
25276         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
25277         upon out-of-memory.
25278         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
25279         out-of-memory.
25280         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
25281         upon out-of-memory.
25282         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
25283         upon out-of-memory.
25284         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
25285         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
25286         not xmalloc. Return NULL upon out-of-memory.
25287         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
25288         out-of-memory.
25289         (gl_tree_remove_node_from_tree): New function, extracted from
25290         gl_tree_remove_node.
25291         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
25292         upon out-of-memory.
25293         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
25294         out-of-memory.
25295         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
25296         upon out-of-memory.
25297         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
25298         upon out-of-memory.
25299         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
25300         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
25301         gl_anytree_list1.h before gl_anyavltree_list2.h.
25302         (gl_avltree_list_implementation): Update.
25303         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
25304         gl_anytree_list1.h before gl_anyavltree_list2.h.
25305         (gl_rbtree_list_implementation): Update.
25306         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
25307         Change return type to 'int'. Return -1 upon out-of-memory. Use
25308         __builtin_expect.
25309         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
25310         (gl_avltreehash_list_implementation): Update.
25311         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
25312         (gl_rbtreehash_list_implementation): Update.
25313         * modules/array-list (Depends-on): Remove xalloc.
25314         * modules/carray-list (Depends-on): Likewise.
25315         * modules/linked-list (Depends-on): Likewise.
25316         * modules/linkedhash-list (Depends-on): Likewise.
25317         * modules/avltree-list (Depends-on): Likewise.
25318         * modules/rbtree-list (Depends-on): Likewise.
25319         * modules/avltreehash-list (Depends-on): Likewise.
25320         * modules/rbtreehash-list (Depends-on): Likewise.
25321
25322         * modules/xsublist: New file.
25323         * lib/gl_xsublist.h: New file.
25324         * lib/gl_xsublist.c: New file.
25325         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
25326         (gl_sublist_nx_create): New declaration.
25327         * lib/gl_sublist.c: Don't include xalloc.h.
25328         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
25329         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
25330         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
25331         Change return type to 'int'. Return -1 upon out-of-memory.
25332         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
25333         upon out-of-memory.
25334         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
25335         NULL upon out-of-memory.
25336         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
25337         upon out-of-memory.
25338         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
25339         NULL upon out-of-memory.
25340         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
25341         NULL upon out-of-memory.
25342         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
25343         upon out-of-memory.
25344         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
25345         (gl_sublist_list_implementation): Update.
25346         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
25347         upon out-of-memory.
25348         * modules/sublist (Depends-on): Remove xalloc.
25349
25350         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
25351         * tests/test-carray_list.c: Likewise.
25352         * tests/test-linked_list.c: Likewise.
25353         * tests/test-linkedhash_list.c: Likewise.
25354         * tests/test-avltree_list.c: Likewise.
25355         * tests/test-rbtree_list.c: Likewise.
25356         * tests/test-avltreehash_list.c: Likewise.
25357         * tests/test-rbtreehash_list.c: Likewise.
25358         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
25359         * modules/carray-list-tests (Makefile.am): Likewise.
25360         * modules/linked-list-tests (Makefile.am): Likewise.
25361         * modules/linkedhash-list-tests (Makefile.am): Likewise.
25362         * modules/avltree-list-tests (Makefile.am): Likewise.
25363         * modules/rbtree-list-tests (Makefile.am): Likewise.
25364         * modules/avltreehash-list-tests (Makefile.am): Likewise.
25365         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
25366
25367         * NEWS: Mention the changes.
25368
25369         * lib/clean-temp.c: Include gl_xlist.h.
25370         * modules/clean-temp (Depends-on): Add xlist.
25371
25372         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
25373         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
25374
25375         * tests/test-array_oset.c: Include gl_xlist.h.
25376         * modules/array-oset-tests (Depends-on): Add xlist.
25377
25378         Reported by José E. Marchesi <jemarch@gnu.org>.
25379
25380 2009-12-13  Bruno Haible  <bruno@clisp.org>
25381
25382         Move the malloc checking from module 'oset' to new module 'xoset'.
25383         * modules/xoset: New file.
25384         * lib/gl_xoset.h: New file.
25385         * lib/gl_xoset.c: New file.
25386         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
25387         declarations.
25388         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
25389         (struct gl_oset_implementation): Rename and change methods accordingly.
25390         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
25391         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
25392         'int'. Mark as __warn_unused_result__.
25393         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
25394         gl_oset_create_empty.
25395         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
25396         'int'.
25397         * lib/gl_array_oset.c: Don't include xalloc.h.
25398         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
25399         malloc, not xmalloc.
25400         (grow): Change return type to 'int'. Don't call xalloc_die.
25401         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
25402         to 'int'.
25403         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
25404         'int'.
25405         (gl_array_oset_implementation): Update.
25406         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
25407         gl_tree_create_empty.
25408         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
25409         'int'.
25410         * lib/gl_avltree_oset.c: Don't include xalloc.h.
25411         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
25412         xmalloc.
25413         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
25414         not xmalloc.
25415         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
25416         xmalloc.
25417         (gl_avltree_oset_implementation): Update.
25418         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
25419         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
25420         xmalloc.
25421         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
25422         not xmalloc.
25423         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
25424         xmalloc.
25425         (gl_rbtree_oset_implementation): Update.
25426         * modules/array-oset (Depends-on): Remove xalloc.
25427         * modules/avltree-oset (Depends-on): Likewise.
25428         * modules/rbtree-oset (Depends-on): Likewise.
25429         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
25430         * tests/test-avltree_oset.c: Likewise.
25431         * tests/test-rbtree_oset.c: Likewise.
25432         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
25433         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
25434         * modules/rbtree-oset-tests (Makefile.am): Likewise.
25435         * NEWS: Mention the change.
25436
25437 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
25438
25439         maint.mk: allow a project to override release-prep commands
25440         * top/maint.mk (alpha, beta, stable): Move release-preparatory
25441         commands into a new rule.
25442         (release-prep): New rule.
25443         (release-prep-hook): New overridable variable.
25444
25445 2009-12-13  Bruno Haible  <bruno@clisp.org>
25446
25447         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
25448
25449 2009-12-13  Jim Meyering  <meyering@redhat.com>
25450
25451         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
25452         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
25453
25454 2009-12-12  Bruno Haible  <bruno@clisp.org>
25455
25456         duplocale: Tweak.
25457         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
25458
25459 2009-12-12  Karl Berry  <karl@gnu.org>
25460
25461         * config/srclist.txt (strtoll.c): tab changes, no more sync.
25462
25463 2009-12-12  Bruno Haible  <bruno@clisp.org>
25464
25465         * m4/po.m4: Undo incorrect untabification.
25466
25467 2009-12-12  Bruno Haible  <bruno@clisp.org>
25468
25469         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
25470         * modules/c-strtod (Depends-on): Add locale.
25471         * modules/c-strtold (Depends-on): Likewise.
25472
25473 2009-12-12  Bruno Haible  <bruno@clisp.org>
25474
25475         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
25476
25477 2009-12-11  Eric Blake  <ebb9@byu.net>
25478
25479         setenv: relax requirement in light of POSIX ruling
25480         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
25481         not NULL.
25482         * tests/test-setenv.c (main): Relax test.
25483         * tests/test-unsetenv.c (main): Likewise.
25484         * doc/posix-functions/setenv.texi (setenv): Document this.
25485         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
25486
25487 2009-12-11  Bruno Haible  <bruno@clisp.org>
25488
25489         New module 'fd-safer-flag'.
25490         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
25491         * lib/dup-safer.c (dup_safer_flag): Remove function.
25492         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
25493         * lib/fd-safer.c (fd_safer_flag): Remove function.
25494         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
25495         * modules/cloexec (configure.ac): Drop indicator macro.
25496         * modules/fd-safer-flag: New file.
25497         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
25498         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
25499         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
25500
25501 2009-12-11  Bruno Haible  <bruno@clisp.org>
25502
25503         Tests for module 'nl_langinfo'.
25504         * modules/nl_langinfo-tests: New file.
25505         * tests/test-nl_langinfo.sh: New file.
25506         * tests/test-nl_langinfo.c: New file.
25507
25508         New module 'nl_langinfo'.
25509         * lib/nl_langinfo.c: New file.
25510         * m4/nl_langinfo.m4: New file.
25511         * modules/nl_langinfo: New file.
25512         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
25513
25514 2009-12-11  Bruno Haible  <bruno@clisp.org>
25515
25516         Tests for module 'langinfo'.
25517         * modules/langinfo-tests: New file.
25518         * tests/test-langinfo.c: New file.
25519
25520         New module 'langinfo'.
25521         * lib/langinfo.in.h: New file.
25522         * m4/langinfo_h.m4: New file.
25523         * modules/langinfo: New file.
25524         * doc/posix-headers/langinfo.texi: Mention the new module.
25525
25526 2009-12-11  Bruno Haible  <bruno@clisp.org>
25527
25528         * lib/config.charset: Untabify.
25529
25530 2009-12-11  Bruno Haible  <bruno@clisp.org>
25531
25532         * modules/unistd-safer (configure.ac): Drop indicator macro.
25533
25534 2009-12-11  Bruno Haible  <bruno@clisp.org>
25535
25536         Move pipe2-safer code to its own file.
25537         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
25538         * lib/pipe-safer.c (pipe2_safer): Remove function.
25539         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
25540         (Makefile.am): Add it to lib_SOURCES.
25541
25542 2009-12-10  Bruno Haible  <bruno@clisp.org>
25543
25544         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
25545
25546 2009-12-10  Bruno Haible  <bruno@clisp.org>
25547
25548         Declare which arguments expect non-NULL values, for GCC and clang.
25549         * build-aux/arg-nonnull.h: New file.
25550         * modules/arg-nonnull: New file.
25551         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
25552         (inet_ntop, inet_pton): Use it.
25553         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
25554         (closedir, dirfd, opendir, scandir, alphasort): Use it.
25555         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
25556         (open, openat): Use it.
25557         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
25558         (fnmatch): Use it.
25559         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
25560         (getopt, getopt_long, getopt_long_only): Use it.
25561         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
25562         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
25563         Use it.
25564         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
25565         (iconv_open): Use it.
25566         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
25567         (strtoimax, strtoumax): Use it.
25568         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
25569         (duplocale): Use it.
25570         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
25571         (frexp, frexpl): Use it.
25572         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
25573         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
25574         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
25575         (tsearch, tfind, tdelete, twalk): Use it.
25576         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
25577         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
25578         sigpending): Use it.
25579         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
25580         (posix_spawn, posix_spawnp, posix_spawnattr_init,
25581         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
25582         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
25583         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
25584         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
25585         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
25586         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
25587         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
25588         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
25589         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
25590         Use it.
25591         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
25592         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
25593         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
25594         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
25595         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
25596         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
25597         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
25598         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
25599         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
25600         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
25601         strtoull, unsetenv): Use it.
25602         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
25603         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
25604         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
25605         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
25606         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
25607         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
25608         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
25609         (strcasecmp, strncasecmp): Use it.
25610         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
25611         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
25612         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
25613         rpl_setsockopt): Use it.
25614         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
25615         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
25616         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
25617         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
25618         (gettimeofday): Use it.
25619         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
25620         (times): Use it.
25621         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
25622         (uname): Use it.
25623         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
25624         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
25625         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
25626         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
25627         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
25628         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
25629         unlinkat, write): Use it.
25630         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
25631         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
25632         * lib/argv-iter.h: Include arg-nonnull.h.
25633         (_ATTRIBUTE_NONNULL_): Remove macro.
25634         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
25635         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
25636         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
25637         optimization.
25638         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
25639         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
25640         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
25641         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
25642         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
25643         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
25644         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
25645         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
25646         * modules/arpa_inet (Depends-on): Add arg-nonnull.
25647         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
25648         * modules/dirent (Depends-on): Add arg-nonnull.
25649         (Makefile.am): Insert arg-nonnull.h into dirent.h.
25650         * modules/fcntl-h (Depends-on): Add arg-nonnull.
25651         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
25652         * modules/fnmatch (Depends-on): Add arg-nonnull.
25653         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
25654         * modules/getopt-posix (Depends-on): Add arg-nonnull.
25655         (Makefile.am): Insert arg-nonnull.h into getopt.h.
25656         * modules/glob (Depends-on): Add arg-nonnull.
25657         (Makefile.am): Insert arg-nonnull.h into glob.h.
25658         * modules/iconv_open (Depends-on): Add arg-nonnull.
25659         (Makefile.am): Insert arg-nonnull.h into iconv.h.
25660         * modules/inttypes (Depends-on): Add arg-nonnull.
25661         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
25662         * modules/locale (Depends-on): Add arg-nonnull.
25663         (Makefile.am): Insert arg-nonnull.h into locale.h.
25664         * modules/math (Depends-on): Add arg-nonnull.
25665         (Makefile.am): Insert arg-nonnull.h into math.h.
25666         * modules/netdb (Depends-on): Add arg-nonnull.
25667         (Makefile.am): Insert arg-nonnull.h into netdb.h.
25668         * modules/search (Depends-on): Add arg-nonnull.
25669         (Makefile.am): Insert arg-nonnull.h into search.h.
25670         * modules/signal (Depends-on): Add arg-nonnull.
25671         (Makefile.am): Insert arg-nonnull.h into signal.h.
25672         * modules/spawn (Depends-on): Add arg-nonnull.
25673         (Makefile.am): Insert arg-nonnull.h into spawn.h.
25674         * modules/stdio (Depends-on): Add arg-nonnull.
25675         (Makefile.am): Insert arg-nonnull.h into stdio.h.
25676         * modules/stdlib (Depends-on): Add arg-nonnull.
25677         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
25678         * modules/string (Depends-on): Add arg-nonnull.
25679         (Makefile.am): Insert arg-nonnull.h into string.h.
25680         * modules/strings (Depends-on): Add arg-nonnull.
25681         (Makefile.am): Insert arg-nonnull.h into strings.h.
25682         * modules/sys_socket (Depends-on): Add arg-nonnull.
25683         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
25684         * modules/sys_stat (Depends-on): Add arg-nonnull.
25685         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
25686         * modules/sys_time (Depends-on): Add arg-nonnull.
25687         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
25688         * modules/sys_times (Depends-on): Add arg-nonnull.
25689         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
25690         * modules/sys_utsname (Depends-on): Add arg-nonnull.
25691         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
25692         * modules/time (Depends-on): Add arg-nonnull.
25693         (Makefile.am): Insert arg-nonnull.h into time.h.
25694         * modules/unistd (Depends-on): Add arg-nonnull.
25695         (Makefile.am): Insert arg-nonnull.h into unistd.h.
25696         * modules/wchar (Depends-on): Add arg-nonnull.
25697         (Makefile.am): Insert arg-nonnull.h into wchar.h.
25698         * modules/argv-iter (Depends-on): Add arg-nonnull.
25699         * tests/test-canonicalize.c (null_ptr): New function.
25700         (main): Use it.
25701         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
25702         (main): Use it.
25703         * tests/test-memmem.c (null_ptr): New function.
25704         (main): Use it.
25705         Reported by Jim Meyering.
25706
25707 2009-12-10  Bruno Haible  <bruno@clisp.org>
25708
25709         Use spaces for indentation, not tabs.
25710         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
25711         * m4/*.m4: Untabify.
25712         * build-aux/*.h: Untabify.
25713         * tests/**/*.[hc]: Untabify.
25714         * README: New section "Indent with spaces, not TABs", based on
25715         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
25716         * NEWS: Mention the change.
25717
25718 2009-12-10  Bruno Haible  <bruno@clisp.org>
25719
25720         pty test: Fix link error.
25721         * modules/pty-tests (Makefile.am): Add the default LDADD value to
25722         test_pty_LDADD.
25723
25724 2009-12-07  Simon Josefsson  <simon@josefsson.org>
25725
25726         * modules/pty: New file.
25727         * modules/pty-tests: New file.
25728         * m4/pty.m4: New file.
25729         * tests/test-pty.c: New file.
25730         * doc/glibc-headers/pty.texi: Modified.
25731         * doc/glibc-functions/forkpty.texi: Modified.
25732         * doc/glibc-functions/openpty.texi: Modified.
25733
25734 2009-12-10  Bruno Haible  <bruno@clisp.org>
25735
25736         Avoid syntax error in C++ mode.
25737         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
25738
25739 2009-12-10  Bruno Haible  <bruno@clisp.org>
25740
25741         Use sed with option -e.
25742         * gnulib-tool (func_version, func_emit_copyright_notice,
25743         func_emit_initmacro_end, func_import, func_create_testdir): Pass
25744         option -e to sed.
25745         * modules/link-warning (Makefile.am): Likewise.
25746
25747 2009-12-10  Jim Meyering  <meyering@redhat.com>
25748
25749         mgetgroups: do not write bytes beyond end of malloc'd buffer
25750         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
25751         username, we call getgroups with a one-element-shorter buffer,
25752         but still told it the length was original, max_n_groups.
25753
25754 2009-12-09  Eric Blake  <ebb9@byu.net>
25755
25756         cloexec: relax license
25757         * modules/cloexec (Maintainer): Add myself.
25758         (License): Use LGPL, not GPL.
25759
25760         link-warning: optimize generation
25761         * modules/link-warning (Makefile.am): Reduce process usage.
25762
25763 2009-12-09  Bruno Haible  <bruno@clisp.org>
25764
25765         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
25766         workaround was added on 2009-11-17.
25767
25768 2009-12-09  Jim Meyering  <meyering@redhat.com>
25769             Bruno Haible  <bruno@clisp.org>
25770
25771         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
25772         * modules/link-warning (Makefile.am): Make the comment-removing sed
25773         command more robust in the face of bootstrap-prepended comment lines.
25774
25775 2009-12-09  Bruno Haible  <bruno@clisp.org>
25776
25777         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
25778         most one group.
25779
25780 2009-12-09  Simon Josefsson <simon@josefsson.org>
25781             Bruno Haible  <bruno@clisp.org>
25782
25783         * build-aux/link-warning.h: Add copyright notice.
25784         * modules/link-warning (Makefile.am): Generate link-warning.h from
25785         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
25786         * NEWS: Mention change in link-warning module.
25787         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
25788         * modules/dirent (Makefile.am): Add dependency to dirent.h.
25789         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
25790         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
25791         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
25792         * modules/math (Makefile.am): Add dependency to math.h.
25793         * modules/search (Makefile.am): Add dependency to search.h.
25794         * modules/signal (Makefile.am): Add dependency to signal.h.
25795         * modules/spawn (Makefile.am): Add dependency to spawn.h.
25796         * modules/stdio (Makefile.am): Add dependency to stdio.h.
25797         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
25798         * modules/string (Makefile.am): Add dependency to string.h.
25799         * modules/strings (Makefile.am): Add dependency to strings.h.
25800         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
25801         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
25802         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
25803         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
25804         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
25805         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
25806         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
25807         * modules/unistd (Makefile.am): Add dependency to unistd.h.
25808         * modules/wchar (Makefile.am): Add dependency to wchar.h.
25809
25810 2009-12-09  Bruno Haible  <bruno@clisp.org>
25811
25812         fchdir: Optimize away rpl_fstat when possible.
25813         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
25814         REPLACE_OPEN_DIRECTORY.
25815         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
25816
25817 2009-12-09  Bruno Haible  <bruno@clisp.org>
25818
25819         * lib/fchdir.c: Update comment.
25820
25821 2009-12-09  Bruno Haible  <bruno@clisp.org>
25822
25823         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
25824
25825 2009-12-08  Eric Blake  <ebb9@byu.net>
25826
25827         fchdir: avoid memory leak on re-registration.
25828         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
25829
25830 2009-12-08  Jim Meyering  <meyering@redhat.com>
25831
25832         init.sh: avoid Solaris 10 /bin/sh portability problem
25833         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
25834         sourced script:
25835           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
25836           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
25837           bar
25838         tests/init.sh relied on that, accepting a --set-path=DIR argument,
25839         and two tests used that idiom.
25840         * tests/init.sh: Update suggested usage comments.
25841         (path_prepend_): New function, to be used in place
25842         of the --src-path=DIR option.
25843         (setup_): Move PATH-prepending code into path_prepend_.
25844         * tests/test-pread.sh: Adapt to new usage.
25845         * tests/test-xalloc-die.sh: Likewise.
25846
25847 2009-12-08  Simon Josefsson  <simon@josefsson.org>
25848
25849         * doc/gnulib.texi (Glibc pty.h): Add.
25850         * doc/glibc-functions/forkpty.texi: Add.
25851         * doc/glibc-functions/openpty.texi: Add.
25852         Suggested by Bruno Haible.
25853
25854 2009-12-08  Eric Blake  <ebb9@byu.net>
25855
25856         fchdir: fix logic bugs
25857         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
25858         * tests/test-fchdir.c (main): Enhance test.
25859         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
25860         is in use.
25861
25862         dup2: fix logic bugs
25863         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
25864         REPLACE_DUP2 to decide when rpl_dup2 is needed.
25865         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
25866         exists.
25867         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
25868
25869 2009-12-07  Eric Blake  <ebb9@byu.net>
25870
25871         unlink: fix m4 detection
25872         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
25873
25874         unistd-safer: add unit test
25875         * modules/unistd-safer-tests: New file.
25876         * tests/test-dup-safer.c: Likewise.
25877         * tests/test-cloexec.c (setmode): Avoid compiler warning.
25878         * tests/test-dup2.c (setmode): Likewise.
25879         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
25880
25881         cloexec: preserve text vs. binary across dup_cloexec
25882         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
25883         mode.
25884         * modules/dup2-tests (Depends-on): Add binary-io.
25885         * modules/cloexec-tests (Depends-on): Likewise.
25886         * tests/test-dup2.c (setmode, is_mode): New helpers.
25887         (main): Add tests that translation mode is preserved.
25888         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
25889         Reported by Bruno Haible.
25890
25891         mgetgroups: reduce duplicate listings
25892         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
25893         resulting array.
25894         * tests/test-chown.h (test_chown): Simplify client.
25895         * tests/test-lchown.h (test_lchown): Likewise.
25896
25897 2009-12-06  Bruno Haible  <bruno@clisp.org>
25898
25899         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
25900         value.
25901
25902 2009-12-06  Bruno Haible  <bruno@clisp.org>
25903
25904         * lib/progname.c: Include stdio.h, stdlib.h.
25905         (set_program_name): Reject a NULL argument.
25906
25907 2009-12-05  Eric Blake  <ebb9@byu.net>
25908
25909         pipe2-safer: new module
25910         * modules/pipe2-safer: New file.
25911         * lib/unistd-safer.h (pipe2_safer): New prototype.
25912         * lib/unistd--.h (pipe2): New wrapper.
25913         * lib/pipe-safer.c (pipe2_safer): New function.
25914         * modules/pipe (Depends-on): Add pipe2-safer.
25915         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
25916
25917         stdlib-safer: preserve cloexec flag for mkostemp[s]
25918         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
25919         fd_safer_flag.
25920
25921         unistd-safer: allow preservation of cloexec status via flag
25922         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
25923         prototypes.
25924         * lib/dup-safer.c (dup_safer_flag): New function.
25925         * lib/fd-safer.c (fd_safer_flag): Likewise.
25926         * modules/cloexec (configure.ac): Set witness.
25927
25928         test-dup2: enhance test
25929         * modules/dup2-tests (Depends-on): Add cloexec.
25930         * tests/test-dup2.c (main): Enhance test.
25931
25932         cloexec: add dup_cloexec
25933         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
25934         header and comments.
25935         * lib/cloexec.c (set_cloexec_flag): Add comments.
25936         (dup_cloexec): New function, with mingw implementation borrowed
25937         from...
25938         * lib/w32spawn.h (dup_noinherit): ...here.
25939         * modules/execute (Depends-on): Add cloexec.
25940         * modules/pipe (Depends-on): Likewise.
25941         * modules/cloexec (Depends-on): Add dup2.
25942         * modules/cloexec-tests (Files): New file.
25943         * tests/test-cloexec.c: Likewise.
25944
25945         test-xalloc-die: fix test for mingw
25946         * modules/xalloc-die-tests (Files): Add tests/init.sh.
25947         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
25948         directory and .exe suffix off argv[0] output.
25949
25950         test-fseeko: fix test for mingw
25951         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
25952         than undefining fseek, so test will pass on mingw.
25953
25954 2009-12-05  Bruno Haible  <bruno@clisp.org>
25955
25956         * lib/progname.h (set_program_name): Clarify specification.
25957         * lib/progname.c (set_program_name): Likewise.
25958         Reported by Jim Meyering.
25959
25960 2009-12-05  Jim Meyering  <meyering@redhat.com>
25961
25962         maint.mk: backslash-escape parens in default regexp
25963         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
25964         backslash-escape the literal parentheses.
25965
25966         maint.mk: news-date-check: use grep -E
25967         * top/maint.mk (today): Define a Make variable, not a...
25968         (news-date-check): ...shell variable.
25969         (news-date-regexp): Use the Make variable.
25970         Use grep's -E option.  Change the failing diagnostic to mention
25971         the variable, $(news-date-regexp).
25972
25973 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
25974
25975         maintainer-makefile: allow customization of NEWS entry format
25976         * top/maint.mk (news-date-regexp): New overridable variable.
25977         (news-date-check): Use it.
25978
25979 2009-12-04  Eric Blake  <ebb9@byu.net>
25980
25981         mgetgroups: add xgetgroups, and avoid ENOSYS failures
25982         * lib/mgetgroups.h (xgetgroups): New prototype.
25983         * lib/mgetgroups.c (xgetgroups): New wrapper.
25984         (mgetgroups): Handle ENOSYS.
25985         * modules/mgetgroups (Depends-on): Add realloc.
25986         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
25987
25988         mgetgroups: avoid argument promotion issues with -1
25989         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
25990         for invalid gid_t.
25991         * tests/test-chown.h (getegid, test_chown): Likewise.
25992         * tests/test-lchown.h (getegid, test_lchown): Likewise.
25993
25994 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
25995
25996         exclude: Fix header file problems.
25997         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
25998
25999 2009-12-01  Jim Meyering  <meyering@redhat.com>
26000
26001         fts: fts_open: do not let an empty string cause immediate failure
26002         This is required in support of GNU rm, for which the command
26003         "rm A '' B" must process and remove both A and B, in spite of
26004         the empty string argument.
26005         * lib/fts.c (fts_open): Do not let the presence of an empty string
26006         cause fts_open to fail immediately.  Most fts-using tools must be
26007         able to process all arguments, in order, and can be expected to
26008         diagnose such arguments themselves.
26009
26010 2009-11-30  Eric Blake  <ebb9@byu.net>
26011
26012         utimens: fix compilation error
26013         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
26014         Declare variable at right scope.
26015
26016 2009-11-29  Jim Meyering  <meyering@redhat.com>
26017
26018         bootstrap: handle perl-5.11's changed --version output
26019         * build-aux/bootstrap (get_version): Handle perl separately,
26020         since perl-5.11's --version output is different.
26021
26022 2009-11-28  Jim Meyering  <meyering@redhat.com>
26023
26024         userspec: depend on the inttostr module, too
26025         * modules/userspec (Depends-on): Add inttostr.
26026
26027         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
26028         * lib/userspec.c (parse_with_separator): Do not accept a user ID
26029         number of MAXUID when it evaluates to (uid_t) -1.
26030         Likewise for group ID.  Reported by Matt McCutchen in
26031         <http://savannah.gnu.org/bugs/?28113>
26032
26033         userspec: reformat to use spaces, not TABs
26034         * lib/userspec.c: Expand TABs to spaces.
26035         Add Emacs' "indent-tabs-mode: nil" hint.
26036
26037 2009-11-27  Eric Blake  <ebb9@byu.net>
26038
26039         getopt-gnu: flush out another BSD bug
26040         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
26041         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
26042         flush out BSD bug.
26043         * tests/test-getopt.h (test_getopt): End lists with NULL.
26044         * tests/test-getopt_long.h (test_getopt_long): Likewise.
26045         (test_getopt_long_posix): Enhance test.
26046         * modules/getopt-posix-tests (Depends-on): Add stdbool.
26047         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
26048         getopt-gnu.
26049         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
26050         Likewise.
26051
26052 2009-11-27  Simon Josefsson  <simon@josefsson.org>
26053
26054         * modules/idpriv-droptemp-tests (Notice): Fix text.
26055
26056 2009-11-27  Jim Meyering  <meyering@redhat.com>
26057
26058         test-xalloc-die: avoid spurious failure due to libtool argv difference
26059         In a libtool-enabled project, this test would fail due to a difference
26060         in the emitted program name, e.g.,
26061         -test-xalloc-die: memory exhausted
26062         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
26063         Use program to avoid that.
26064         * modules/xalloc-die-tests (Depends-on): Add progname.
26065         * tests/test-xalloc-die.c: Include progname.h".
26066         (program_name): Remove decl.
26067         (main): Call set_program_name.
26068         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
26069
26070 2009-11-26  Richard Jones  <rjones@redhat.com>
26071
26072         w32sock: leave win32 error in place.
26073         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
26074
26075 2009-11-26  Eric Blake  <ebb9@byu.net>
26076
26077         init.sh: suggest to use skip_ and fail_ functions in comments
26078         * tests/init.sh: Add a sentence.
26079
26080 2009-11-25  Bruno Haible  <bruno@clisp.org>
26081
26082         init.sh: add documentation in comments
26083         * tests/init.sh: Add some developer and user documentation.
26084
26085 2009-11-26  Jim Meyering  <meyering@redhat.com>
26086
26087         init.sh: accommodate even those who specify bogus srcdir manually
26088         * tests/init.sh: Normally, srcdir is guaranteed by automake and
26089         configure-time tests to be sanitized, so that there is no need to
26090         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
26091         (with no double quotes) suffices.  However, since tests may be
26092         invoked manually, and since you may explicitly set srcdir to the
26093         name of a directory containing spaces, do quote its uses here.
26094         * tests/test-pread.sh: Likewise.
26095         Suggested by Bruno Haible.
26096
26097         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
26098         * tests/test-pread.sh: Write no data into the pipe, because
26099         test-pread actually reads none.  This avoids a diagnostic,
26100         "bash: echo: write error: Broken pipe", that arises in the unusual
26101         event something is ignoring SIGPIPE, and might be interpreted
26102         as some sort of failure.  Reported by Bruno Haible.
26103
26104 2009-11-25  Jim Meyering  <meyering@redhat.com>
26105
26106         test-pread: cover failure with ESPIPE and EINVAL
26107         * tests/test-pread.c (main): Test for failure, too.
26108         * tests/test-pread.sh: Invoke with stdin on a pipe.
26109         Suggested by Eric Blake.
26110
26111         pread: improvement and fix
26112         * modules/pread (Depends-on): Depend on lseek, for portability to
26113         e.g., mingw.  Suggested by Eric Blake.
26114         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
26115
26116         unistd.in.h: correct declaration of pread
26117         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
26118         Reported by Richard W.M. Jones.
26119
26120         test-pread.sh: distribute the test script
26121         * modules/pread-tests (Files): Include test-pread.sh.
26122
26123         test-pread.sh: clean up
26124         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
26125         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
26126         That is unnecessary, since it's always ".".
26127         Suggestion from Eric Blake.
26128
26129         test-pread.sh: make executable
26130         * tests/test-pread.sh: Set executable bit.
26131         Reported by Eric Blake.
26132
26133         correct typo in test-pread.sh
26134         * tests/test-pread.sh: Add #! line.
26135
26136         test pread
26137         * tests/test-pread.c: New file.
26138         * tests/test-pread.sh: Likewise.
26139         * modules/pread-tests: Likewise.
26140
26141         pread: new module
26142         * modules/pread: New file.
26143         * lib/unistd.in.h (pread): Define/declare.
26144         * lib/pread.c (pread): New file.
26145         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
26146         * modules/unistd (Makefile.am): Substitute witnesses.
26147         * doc/posix-functions/pread.texi (pread): Update.
26148         * MODULES.html.sh: Add pread.
26149
26150 2009-11-25  Jim Meyering  <meyering@redhat.com>
26151
26152         tests/init.sh: new file to be used via most *.sh tests
26153         * tests/init.sh: New file.
26154
26155 2009-11-25  Eric Blake  <ebb9@byu.net>
26156
26157         utimens: work around older Linux failure with symlinks
26158         * lib/utimens.c (lutimensat_works_really): New variable.
26159         (fdutimens, lutimens): Use it to manage kernels that support
26160         nanosecond times on files, but not on symlinks.
26161         Reported by OndÅ™ej Vašík.
26162
26163         utimes: fix configure grammar
26164         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
26165
26166 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
26167
26168         regex: Fix fastmap for multibyte character ranges.
26169         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
26170         characters when a multibyte character range is included.
26171
26172 2009-11-22  Andy Wingo  <wingo@pobox.com>
26173
26174         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
26175         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
26176
26177 2009-11-24  Bruno Haible  <bruno@clisp.org>
26178
26179         doc: Most *_l functions exist in MacOS X 10.5.
26180         * doc/posix-functions/duplocale.texi: Update platforms list.
26181         * doc/posix-functions/freelocale.texi: Likewise.
26182         * doc/posix-functions/newlocale.texi: Likewise.
26183         * doc/posix-functions/uselocale.texi: Likewise.
26184         * doc/posix-functions/isalnum_l.texi: Likewise.
26185         * doc/posix-functions/isalpha_l.texi: Likewise.
26186         * doc/posix-functions/isblank_l.texi: Likewise.
26187         * doc/posix-functions/iscntrl_l.texi: Likewise.
26188         * doc/posix-functions/isdigit_l.texi: Likewise.
26189         * doc/posix-functions/isgraph_l.texi: Likewise.
26190         * doc/posix-functions/islower_l.texi: Likewise.
26191         * doc/posix-functions/isprint_l.texi: Likewise.
26192         * doc/posix-functions/ispunct_l.texi: Likewise.
26193         * doc/posix-functions/isspace_l.texi: Likewise.
26194         * doc/posix-functions/isupper_l.texi: Likewise.
26195         * doc/posix-functions/iswalnum_l.texi: Likewise.
26196         * doc/posix-functions/iswalpha_l.texi: Likewise.
26197         * doc/posix-functions/iswblank_l.texi: Likewise.
26198         * doc/posix-functions/iswcntrl_l.texi: Likewise.
26199         * doc/posix-functions/iswctype_l.texi: Likewise.
26200         * doc/posix-functions/iswdigit_l.texi: Likewise.
26201         * doc/posix-functions/iswgraph_l.texi: Likewise.
26202         * doc/posix-functions/iswlower_l.texi: Likewise.
26203         * doc/posix-functions/iswprint_l.texi: Likewise.
26204         * doc/posix-functions/iswpunct_l.texi: Likewise.
26205         * doc/posix-functions/iswspace_l.texi: Likewise.
26206         * doc/posix-functions/iswupper_l.texi: Likewise.
26207         * doc/posix-functions/iswxdigit_l.texi: Likewise.
26208         * doc/posix-functions/isxdigit_l.texi: Likewise.
26209         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
26210         * doc/posix-functions/strcasecmp_l.texi: Likewise.
26211         * doc/posix-functions/strcoll_l.texi: Likewise.
26212         * doc/posix-functions/strfmon_l.texi: Likewise.
26213         * doc/posix-functions/strftime_l.texi: Likewise.
26214         * doc/posix-functions/strncasecmp_l.texi: Likewise.
26215         * doc/posix-functions/strxfrm_l.texi: Likewise.
26216         * doc/posix-functions/tolower_l.texi: Likewise.
26217         * doc/posix-functions/toupper_l.texi: Likewise.
26218         * doc/posix-functions/towctrans_l.texi: Likewise.
26219         * doc/posix-functions/towlower_l.texi: Likewise.
26220         * doc/posix-functions/towupper_l.texi: Likewise.
26221         * doc/posix-functions/wcscoll_l.texi: Likewise.
26222         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
26223         * doc/posix-functions/wctrans_l.texi: Likewise.
26224         * doc/posix-functions/wctype_l.texi: Likewise.
26225         * doc/glibc-functions/strptime_l.texi: Likewise.
26226         * doc/glibc-functions/strtod_l.texi: Likewise.
26227         * doc/glibc-functions/strtof_l.texi: Likewise.
26228         * doc/glibc-functions/strtol_l.texi: Likewise.
26229         * doc/glibc-functions/strtold_l.texi: Likewise.
26230         * doc/glibc-functions/strtoll_l.texi: Likewise.
26231         * doc/glibc-functions/strtoul_l.texi: Likewise.
26232         * doc/glibc-functions/strtoull_l.texi: Likewise.
26233         * doc/glibc-functions/wcsftime_l.texi: Likewise.
26234         * doc/glibc-functions/wcstod_l.texi: Likewise.
26235         * doc/glibc-functions/wcstof_l.texi: Likewise.
26236         * doc/glibc-functions/wcstol_l.texi: Likewise.
26237         * doc/glibc-functions/wcstold_l.texi: Likewise.
26238         * doc/glibc-functions/wcstoll_l.texi: Likewise.
26239         * doc/glibc-functions/wcstoul_l.texi: Likewise.
26240         * doc/glibc-functions/wcstoull_l.texi: Likewise.
26241
26242 2009-11-24  Bruno Haible  <bruno@clisp.org>
26243
26244         duplocale: Fix logic bug.
26245         * lib/duplocale.c: Don't include <langinfo.h>.
26246         (_NL_LOCALE_NAME): Remove macro.
26247         (rpl_duplocale): Use setlocale instead of nl_langinfo.
26248         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
26249
26250 2009-11-23  Jim Meyering  <meyering@redhat.com>
26251
26252         test-update-copyright: don't hard-code /usr/bin/perl
26253         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
26254         perl to print the current year.  Gilles Espinasse reported that
26255         the replaced use of perl was hard-coded as /usr/bin/perl.
26256
26257 2009-11-23  Bruno Haible  <bruno@clisp.org>
26258
26259         duplocale: Add support for glibc 2.3.x.
26260         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
26261
26262 2009-11-22  Bruno Haible  <bruno@clisp.org>
26263
26264         vasnprintf: Tiny optimization.
26265         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
26266         MacOS X.
26267
26268 2009-11-22  Bruno Haible  <bruno@clisp.org>
26269
26270         Tests for module 'duplocale'.
26271         * modules/duplocale-tests: New file.
26272         * tests/test-duplocale.c: New file.
26273
26274         New module 'duplocale'.
26275         * m4/duplocale.m4: New file.
26276         * lib/locale.in.h (duplocale): New declaration.
26277         * lib/duplocale.c: New file.
26278         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
26279         gl_LOCALE_H_DEFAULTS): New macros.
26280         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
26281         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
26282         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
26283         REPLACE_DUPLOCALE.
26284         * modules/duplocale: New file.
26285         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
26286
26287 2009-11-22  Bruno Haible  <bruno@clisp.org>
26288
26289         * modules/locale-tests (configure.ac): Test for newlocale function.
26290         * tests/test-locale.c: When the system has extended locale functions,
26291         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
26292
26293         locale: Make locale_t available when possible.
26294         * lib/locale.in.h: Include <xlocale.h> when it exists.
26295         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
26296         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
26297         * modules/locale (Depends-on): Add extensions.
26298         (Makefile.am): Also substitute HAVE_XLOCALE_H.
26299         * doc/posix-headers/locale.texi: Document the problem with locale_t.
26300
26301 2009-11-22  Bruno Haible  <bruno@clisp.org>
26302
26303         Add comments.
26304         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
26305         invocation.
26306         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
26307         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
26308         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
26309
26310 2009-11-22  Bruno Haible  <bruno@clisp.org>
26311
26312         error: account for the possibility of freopen (stdout).
26313         * lib/error.c: Include <unistd.h>.
26314         (flush_stdout): New function, extracted from error and error_at_line.
26315         Determine stdout's fd dynamically.
26316         (error, error_at_line): Invoke flush_stdout.
26317         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
26318         * modules/error (Depends-on): Add unistd.
26319
26320 2009-11-22  Bruno Haible  <bruno@clisp.org>
26321
26322         diffseq: Add comment.
26323         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
26324
26325 2009-11-22  Jim Meyering  <meyering@redhat.com>
26326
26327         c-stack: avoid defining an unused static function
26328         * lib/c-stack.c (find_stack_direction): Do not define this function
26329         when it will not be used.
26330
26331         diffseq: avoid spurious gcc warnings
26332         * lib/diffseq.h (IF_LINT2): Define.
26333         (compareseq): Use it to initialize two members of "part".
26334         This avoids two used-uninitialized warnings.
26335
26336 2009-11-21  Jim Meyering  <meyering@redhat.com>
26337
26338         c-stack: avoid "ignoring return value of `write'" warning
26339         * lib/c-stack.c: Include "ignore-value.h".
26340         (die): Explicitly ignore each write return value.
26341         * modules/c-stack (Depends-on): Add ignore-value.
26342
26343 2009-11-21  Bruno Haible  <bruno@clisp.org>
26344
26345         diffseq: reduce scope of variable 'best'.
26346         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
26347         variable, earlier used for two different purposes.
26348
26349 2009-11-21  Jim Meyering  <meyering@redhat.com>
26350
26351         diffseq: remove useless assignment to "best"
26352         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
26353         assignment.  At that point "best" is already guaranteed to be zero.
26354
26355 2009-11-20  Eric Blake  <ebb9@byu.net>
26356
26357         build: mention ftp redirector in release announcements
26358         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
26359         values that used to come from cfg.mk; mention FTP redirect URL.
26360         * build-aux/announce-gen: Mention the mirror list.
26361         Suggested by Karl Berry.
26362
26363         nanosleep: improve port to mingw
26364         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
26365         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
26366         LIB_NANOSLEEP, but only when needed.
26367         * modules/select (Link): Document LIBSOCKET.
26368         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
26369         enough.
26370
26371         nanosleep: work around cygwin bug
26372         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
26373         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
26374         bug.
26375         (getnow): Delete, not needed.
26376         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
26377         LIB_CLOCK_GETTIME.
26378         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
26379         clock-time, gettime.
26380         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
26381         bug.
26382         * modules/nanosleep-tests: New test.
26383         * tests/test-nanosleep.c: New file.
26384
26385         sleep: work around cygwin bug
26386         * lib/sleep.c (rpl_sleep): Work around the bug.
26387         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
26388         (gl_PREREQ_SLEEP): Delete unused macro.
26389         * modules/sleep (Depends-on): Add verify.
26390         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
26391         * modules/unistd (Makefile.am): Substitute witness.
26392         * lib/unistd.in.h (sleep): Update prototype.
26393         * doc/posix-functions/sleep.texi (sleep): Document the bug.
26394         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
26395         * modules/sleep-tests (Depends-on): Check for alarm.
26396
26397 2009-11-20  Jim Meyering  <meyering@redhat.com>
26398
26399         maint.mk: improve sc_prohibit_magic_number_exit
26400         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
26401         so it does not match uses like System.exit(1).
26402         Add comments showing how to correct all offenders.
26403
26404 2009-11-19  Eric Blake  <ebb9@byu.net>
26405
26406         xalloc-die-tests: add missing library
26407         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
26408
26409         test-xvasprintf: silence compiler warnings
26410         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
26411         empty string from gcc.
26412
26413 2009-11-19  Jim Meyering  <meyering@redhat.com>
26414
26415         xfreopen: new module, from coreutils
26416         * modules/xfreopen: New module.
26417         * lib/xfreopen.c: New file.
26418         * lib/xfreopen.h: New file.
26419         * MODULES.html.sh (File stream based Input/Output"): Add it.
26420
26421 2009-11-19  Eric Blake  <ebb9@byu.net>
26422
26423         manywarnings: depend on warnings
26424         * modules/manywarnings (Depends-on): Add warnings.
26425
26426         build: avoid compiler warnings
26427         * lib/select.c (rpl_select): Delete unused variable.
26428         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
26429
26430 2009-11-18  Eric Blake  <ebb9@byu.net>
26431
26432         tests: avoid false negative with --with-packager
26433         * tests/test-version-etc.sh: Discard packager information.
26434         * tests/test-argp-version-etc-1.sh: Likewise.
26435         Reported by Mike Frysinger.
26436
26437         utimens: fix regression on Solaris
26438         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
26439         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
26440         can only change fd timestamps via futimesat.  Instead, use an
26441         additional witness macro to avoid BSD bug.
26442         Reported by Jim Meyering.
26443
26444 2009-11-17  Eric Blake  <ebb9@byu.net>
26445
26446         usleep: use it to simplify tests
26447         * modules/stat-time-tests (Depends-on): Add usleep.
26448         (configure.ac): Drop usleep check.
26449         * modules/chown-tests (Depends-on, configure.ac): Likewise.
26450         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
26451         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
26452         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
26453         * modules/openat-tests (Depends-on, configure.ac): Likewise.
26454         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
26455         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
26456         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
26457         Likewise.
26458         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
26459         * tests/test-lchown.h (nap): Likewise.
26460         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
26461         * tests/test-stat-time.c (nap): Likewise.
26462         * tests/test-utimens-common.h (nap): Update comments.
26463
26464         usleep: new module
26465         * modules/usleep: New file.
26466         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
26467         * lib/usleep.c (usleep): Likewise.
26468         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
26469         * modules/unistd (Makefile.am): Substitute witnesses.
26470         * lib/unistd.in.h (usleep): Add declaration.
26471         * doc/pastposix-functions/usleep.texi (usleep): Document this.
26472         * MODULES.html.sh (Date and time): Likewise.
26473         * modules/usleep-tests (Depends-on): New test.
26474         * tests/test-usleep.c: New file.
26475
26476         chown: work around OpenBSD bug
26477         * lib/chown.c (rpl_chown): Work around the bug.
26478         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
26479         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
26480         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
26481         * modules/chown (Depends-on): Add stdbool.
26482         * modules/lchown (Depends-on): Likewise.
26483         * doc/posix-functions/chown.texi (chown): Document the bug.
26484         * doc/posix-functions/lchown.texi (lchown): Likewise.
26485         * tests/test-lchown.h (test_chown): Relax test.
26486
26487         mkstemp: avoid conflict with C++ keyword template
26488         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
26489         * lib/mkostemp.c (mkostemp): Likewise.
26490         * lib/mkostemps.c (mkostemps): Likewise.
26491         * lib/mkstemp.c (mkstemp): Likewise.
26492         * lib/mkstemps.c (mkstemps): Likewise.
26493
26494         xalloc-die-tests: optimize
26495         * tests/test-xalloc-die.sh: Reduce number of processes.
26496
26497 2009-11-17  Simon Josefsson  <simon@josefsson.org>
26498
26499         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
26500         patch from ludo@gnu.org (Ludovic Courtès).
26501
26502 2009-11-17  Jim Meyering  <meyering@redhat.com>
26503
26504         version-etc: use proper license string
26505         * modules/version-etc (License): Use LGPL, not LGPLv3+.
26506         * modules/version-etc-fsf: Likewise.
26507
26508 2009-11-17  Simon Josefsson  <simon@josefsson.org>
26509
26510         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
26511         printed to stdout.  Deal with EOL differences.
26512
26513 2009-11-17  Eric Blake  <ebb9@byu.net>
26514
26515         unsetenv: work around Solaris bug
26516         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
26517         * lib/unsetenv.c (rpl_unsetenv): Work around it.
26518         Reported by Jim Meyering.
26519
26520         vasnprintf: avoid compiler warnings
26521         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
26522         variables.
26523         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
26524
26525 2009-11-17  Simon Josefsson  <simon@josefsson.org>
26526
26527         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
26528         settings since xalloc-die is no longer the self test,
26529         xalloc-die.sh is.
26530
26531 2009-11-17  Jim Meyering  <meyering@redhat.com>
26532
26533         test-xalloc-die.sh: make the code agree with the commit log
26534         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
26535         at the end, just in case you happen to have a test-xalloc-die
26536         program in some other PATH directory.
26537
26538         test-xalloc-die.sh: fix a portability bug
26539         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
26540         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
26541         Otherwise, argv[0] (as often seen in diagnostics) would be too
26542         system-dependent, sometimes with, and sometimes without the leading "./".
26543
26544         version-etc-fsf: relax license to LGPLv3+
26545         * modules/version-etc-fsf (License): Relax license.
26546
26547 2009-11-16  Eric Blake  <ebb9@byu.net>
26548
26549         xalloc-die-tests: avoid printing null pointer
26550         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
26551         shell script.
26552         * tests/test-xalloc-die.c (program_name): Declare.
26553         * tests/test-xalloc-die.sh (tmpfiles): New file.
26554
26555         setenv, unsetenv: work around various bugs
26556         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
26557         (setenv) [HAVE_SETENV]: Work around bugs.
26558         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
26559         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
26560         for bugs.
26561         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
26562         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
26563         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
26564         * modules/stdlib (Makefile.am): Update substitutions.
26565         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
26566         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
26567         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
26568         * modules/setenv-tests: New test.
26569         * modules/unsetenv-tests: Likewise.
26570         * tests/test-setenv.c: New file.
26571         * tests/test-unsetenv.c: Likewise.
26572
26573 2009-11-16  Jim Meyering  <meyering@redhat.com>
26574
26575         version-etc: relax license to LGPLv3+
26576         * modules/version-etc (License): Relax license.
26577
26578         better AC_REQUIRE expanded-before-required-warning avoidance
26579         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
26580         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
26581         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
26582         which is no longer needed.
26583
26584 2009-11-16  Eric Blake  <ebb9@byu.net>
26585
26586         test-freading: clean up temporary file
26587         * tests/test-freading.c (main): Remove file on success, and use
26588         ASSERT more liberally.
26589         Reported by Jim Meyering.
26590
26591 2009-11-16  Jim Meyering  <meyering@redhat.com>
26592
26593         avoid new AC_REQUIRE expanded-before-required warnings
26594         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
26595         merely using it.
26596         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
26597         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
26598
26599 2009-11-15  Simon Josefsson  <simon@josefsson.org>
26600
26601         * tests/test-xalloc-die.c: New file.
26602         * modules/xalloc-die-tests: New file.
26603         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
26604         XFAIL_TESTS so it can be appended by modules.
26605
26606 2009-11-15  Simon Josefsson  <simon@josefsson.org>
26607
26608         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
26609         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
26610
26611 2009-11-14  Eric Blake  <ebb9@byu.net>
26612
26613         fnmatch: avoid compiler warning
26614         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
26615         to silence compiler warning about mismatch signedness in ?:.
26616         Reported by Robert Millan.
26617
26618         intprops: add double-inclusion guard
26619         * lib/intprops.h: Allow idempotent includes.
26620         Suggested by Bruce Korb.
26621
26622         openat: detect Solaris fchownat bug
26623         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
26624         penalizing glibc chownat when only lchownat is broken.
26625         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
26626         trailing slash bugs.
26627         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
26628         * modules/openat-tests (Files): Include more files.
26629         (Depends-on): Add mgetgroups, sleep, stat-time.
26630         (configure.ac): Add additional checks.
26631         (Makefile.am): Build new test.
26632         * tests/test-fchownat.c: New file.
26633
26634         lchown: detect Solaris and FreeBSD bug
26635         * lib/lchown.c (rpl_lchown): Work around bug.
26636         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
26637         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
26638         * modules/unistd (Makefile.am): Populate it.
26639         * lib/unistd.in.h (lchown): Update declaration.
26640         * doc/posix-functions/lchown.texi (lchown): Document the bug.
26641         * modules/lchown-tests: New file.
26642         * tests/test-lchown.h (test_lchown): Likewise.
26643         * tests/test-lchown.c (main): Likewise.
26644
26645         chown: detect Solaris and FreeBSD bug
26646         * lib/chown.c (rpl_chown): Work around bug.
26647         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
26648         (gl_PREREQ_CHOWN): Delete.
26649         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
26650         * modules/unistd (Makefile.am): Populate it.
26651         * lib/unistd.in.h (chown): Update declaration.
26652         * lib/lchown.c (chown): Update client.
26653         * modules/lchown (Depends-on): Add lstat.
26654         * doc/posix-functions/chown.texi (chown): Document the bug.
26655         * doc/posix-functions/getgroups.texi (getgroups): Document
26656         getgroups pitfall.
26657         * modules/chown-tests: New file.
26658         * tests/test-chown.h (test_chown): Likewise.
26659         * tests/test-chown.c (main): Likewise.
26660
26661 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
26662
26663         gnulib-tool: correctly detect absence of m4 directories
26664         * gnulib-tool: Avoid extra newline on data passed to wc -l.
26665
26666 2009-11-14  Jim Meyering  <meyering@redhat.com>
26667
26668         maint.mk: Prohibit inclusion of "xalloc.h" without use.
26669         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
26670
26671 2009-11-14  John W. Eaton  <jwe@gnu.org>
26672
26673         strftime.h: wrap funtion declaration in extern "C" block
26674         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
26675
26676 2009-11-13  Eric Blake  <ebb9@byu.net>
26677
26678         getgroups: avoid compiler warning
26679         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
26680
26681         getgroups: work around FreeBSD bug
26682         * lib/getgroups.c (rpl_getgroups): Work around the bug.
26683         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
26684         * doc/posix-functions/getgroups.texi (getgroups): Document it.
26685         * tests/test-getgroups.c (main): Fix buffer overrun.
26686
26687         getgroups: avoid compilation failure
26688         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
26689         * modules/getgroups (Depends-on): Add stdint.
26690
26691 2009-11-13  Jim Meyering  <meyering@redhat.com>
26692
26693         test-getgroups: avoid compilation failure
26694         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
26695
26696 2009-11-13  Eric Blake  <ebb9@byu.net>
26697
26698         mgetgroups: new module, taken from coreutils
26699         * modules/mgetgroups: New file.
26700         * lib/mgetgroups.h: Likewise.
26701         * lib/mgetgroups.c (mgetgroups): Likewise.
26702         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
26703         * MODULES.html.sh (Users and groups): Mention it.
26704
26705         getgroups: don't expose GETGROUPS_T to user
26706         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
26707         an element at a time if GETGROUPS_T is wrong size.
26708         * lib/getugroups.h (getugroups): Change signature.
26709         * lib/unistd.in.h (getgroups): Likewise.
26710         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
26711         signature needs fixing.
26712         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
26713         AC_TYPE_GETGROUPS.
26714         * modules/group-member (Depends-on): Add getgroups.
26715         * lib/group-member.c (group_info, get_group_info): Use gid_t.
26716         (group_member): Rely on getgroups replacement.
26717         * lib/getugroups.c (getugroups): Use gid_t.
26718         * tests/test-getgroups.c (main): Likewise.
26719         * NEWS: Mention the signature change.
26720         * doc/posix-functions/getgroups.texi (getgroups): Mention the
26721         problem with signature.
26722         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
26723         GETGROUPS_T is still useful for setgroups.
26724
26725         getgroups, getugroups: provide stubs for mingw
26726         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
26727         * lib/getugroups.c (getugroups): Likewise.
26728         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
26729         function.  Modernize replacement scheme.
26730         (gl_PREREQ_GETGROUPS): Delete.
26731         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
26732         * modules/getgroups (configure.ac): Declare witness.
26733         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
26734         * modules/unistd (Depends-on): Substitute witness.
26735         * lib/unistd.in.h (getgroups): Declare replacement.
26736
26737         getgroups: avoid calling exit
26738         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
26739         drop xalloc.
26740         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
26741         dependencies.
26742         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
26743         exiting, in the rare case of malloc failure.
26744
26745         getgroups: fix logic error
26746         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
26747         has more than 20 groups.
26748         * modules/getgroups-tests: New test.
26749         * tests/test-getgroups.c: New file.
26750
26751 2009-11-13  Simon Josefsson  <simon@josefsson.org>
26752
26753         * tests/test-base64.c: Improve.
26754
26755 2009-11-13  Simon Josefsson  <simon@josefsson.org>
26756
26757         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
26758         Blake <ebb9@byu.net>.
26759
26760 2009-11-13  Simon Josefsson  <simon@josefsson.org>
26761
26762         * tests/test-xvasprintf.c: Add %s%s related checks.
26763
26764 2009-11-12  Eric Blake  <ebb9@byu.net>
26765
26766         version-etc: match standards.texi style
26767         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
26768         and use <> only for URLs.
26769
26770 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
26771
26772         fts: do not fail on a submount during traversal
26773         * lib/fts.c (fts_build): Read the stat info again after opening
26774         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
26775         Original report at http://bugzilla.redhat.com/501848.
26776
26777 2009-11-12  Jim Meyering  <meyering@redhat.com>
26778
26779         bootstrap: sync from coreutils
26780         * build-aux/bootstrap (bootstrap_epilogue): New function.
26781         Use git_modules_config in one more place.  This make bootstrap's
26782         --gnulib-srcdir option more useful for testing.
26783
26784         bootstrap: generalize autoheader check
26785         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
26786         AC_CONFIG_HEADERS.
26787
26788 2009-11-11  Eric Blake  <ebb9@byu.net>
26789
26790         mkfifoat: use new modules for Solaris and BSD bugs
26791         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
26792         * lib/mkfifoat.c (mknodat): Split...
26793         * lib/mknodat.c (mknodat): ...into new file.
26794         * modules/mkfifoat (Files): Ship new file.
26795         (Depends-on): Add mkfifo, mknod.
26796         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
26797         (Depends-on): Add symlink.
26798         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
26799         redundant with test_mkfifo.h.
26800         (do_mkfifoat, do_mknodat): New helpers.
26801
26802         mknod: new module
26803         * modules/mknod: New file.
26804         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
26805         * lib/mknod.c (mknod): Likewise.
26806         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
26807         defaults.
26808         * modules/sys_stat (Makefile.am): Substitute them.
26809         * lib/sys_stat.in.h (mknod): Declare replacement.
26810         * MODULES.html.sh (Support for systems lacking POSIX:2008):
26811         Document it.
26812         * doc/posix-functions/mknod.texi (mknod): Likewise.
26813         * modules/mknod-tests: New test.
26814         * tests/test-mknod.c: Likewise.
26815
26816         mkfifo: new module
26817         * modules/mkfifo: New file.
26818         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
26819         * lib/mkfifo.c (mkfifo): Likewise.
26820         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
26821         defaults.
26822         * modules/sys_stat (Makefile.am): Substitute them.
26823         * lib/sys_stat.in.h (mkfifo): Declare replacement.
26824         * MODULES.html.sh (Support for systems lacking POSIX:2008):
26825         Document it.
26826         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
26827         * modules/mkfifo-tests: New test.
26828         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
26829         from test-mkfifoat.c.
26830         * tests/test-mkfifo.c: New file.
26831
26832         readlink: detect FreeBSD bug
26833         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
26834         slash on symlink.
26835         * doc/posix-functions/readlink.texi (readlink): Document the bug.
26836         * tests/test-readlink.h (test_readlink): Enhance test.
26837
26838         symlink: detect FreeBSD bug
26839         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
26840         slash on symlink.
26841         * doc/posix-functions/symlink.texi (symlink): Document the bug.
26842         * tests/test-symlink.h (test_symlink): Enhance test.
26843
26844 2009-11-10  Eric Blake  <ebb9@byu.net>
26845
26846         link: detect FreeBSD bug
26847         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
26848         symlink.
26849         * doc/posix-functions/link.texi (link): Document the bug.
26850         * tests/test-link.h (test_link): Enhance test.
26851         * tests/test-linkat.c (main): Update caller.
26852
26853         unlink, remove: detect FreeBSD bug
26854         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
26855         slash on symlink.
26856         * doc/posix-functions/unlink.texi (unlink): Document the bug.
26857         * doc/posix-functions/remove.texi (remove): Likewise.
26858         * tests/test-unlink.h (test_unlink): Enhance test.
26859         * tests/test-remove.c (main): Likewise.
26860
26861 2009-11-09  Eric Blake  <ebb9@byu.net>
26862
26863         rename: detect FreeBSD bug
26864         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
26865         slash on symlink.
26866         * modules/renameat-tests (Depends-on): Add filenamecat.
26867         * tests/test-rename.h (test_rename): Allow one more errno.
26868         * tests/test-renameat.c (main): Likewise.
26869         * doc/posix-functions/rename.texi (rename): Document the bug.
26870
26871         open: detect FreeBSD bug
26872         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
26873         symlink.
26874         * doc/posix-functions/open.texi (open): Document the bug.
26875         * doc/posix-functions/utimes.texi (utimes): Likewise.
26876         * tests/test-open.h (test_open): Add parameters, and test symlink
26877         handling.
26878         * tests/test-open.c (main): Adjust caller.
26879         * tests/test-fcntl-safer.c (main): Likewise.
26880         * modules/open-tests (Depends-on): Add stdbool, symlink.
26881         * modules/fcntl-safer-tests (Depends-on): Likewise.
26882         * tests/test-openat.c (main): Add test-open tests.
26883
26884         stat: detect FreeBSD bug
26885         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
26886         symlink.
26887         * doc/posix-functions/stat.texi (stat): Document the bug.
26888         * tests/test-stat.h (test_stat_func): Add argument.
26889         * tests/test-stat.c (main): Adjust caller.
26890         * tests/test-fstatat.c (main): Likewise.
26891         * modules/stat-tests (Depends-on): Add stdbool, symlink.
26892         Reported by Jim Meyering.
26893
26894 2009-11-09  James Youngman  <jay@gnu.org>
26895
26896         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
26897         * lib/strftime.c: Correct placement of #include "ignore-value.h".
26898
26899 2009-11-08  Jim Meyering  <meyering@redhat.com>
26900
26901         utimens: remove invalid futimesat call
26902         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
26903         It used the file descriptor of the target file as the DIR_FD
26904         parameter and NULL as the file name.  That caused failure with
26905         errno == EFAULT on FreeBSD-8.0-rc2
26906
26907 2009-11-07  Eric Blake  <ebb9@byu.net>
26908
26909         fflush, freadseek: use fseeko, not fseek
26910         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
26911         (clear_ungetc_buffer): Avoid potential problems on large files.
26912         * lib/freadseek.c (freadseek): Likewise.
26913         * modules/freadseek (Depends-on): Add fseeko.
26914         * modules/fseek (configure.ac): Set a witness.
26915         * tests/test-fflush.c (main): Use fseeko.
26916         * tests/test-fpurge.c (fseek): Disable link warning.
26917         * tests/test-freadable.c (fseek): Likewise.
26918         * tests/test-freading.c (fseek): Likewise.
26919         * tests/test-fseeko.c (fseek): Likewise.
26920         * tests/test-ftell.c (fseek): Likewise.
26921         * tests/test-ftello.c (fseek): Likewise.
26922         * tests/test-fwritable.c (fseek): Likewise.
26923         * tests/test-fwriting.c (fseek): Likewise.
26924
26925 2009-11-06  Simon Josefsson  <simon@josefsson.org>
26926
26927         * modules/memchr (Depends-on): Drop getpagesize dependency.
26928
26929 2009-11-06  Simon Josefsson  <simon@josefsson.org>
26930
26931         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
26932         Reported by Ludovic Courtès.
26933         * build-aux/pmccabe2html: Improve example usage.
26934         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
26935
26936 2009-11-06  Jim Meyering  <meyering@redhat.com>
26937
26938         do-release-commit-and-tag: New module.
26939         Automate the release-commit and tag process.
26940         * build-aux/do-release-commit-and-tag: New script, from coreutils.
26941         * modules/do-release-commit-and-tag: New file.
26942         * MODULES.html.sh (Support for maintaining and releasing): Add it.
26943
26944 2009-11-06  Simon Josefsson  <simon@josefsson.org>
26945
26946         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
26947         because test-select.c uses inet_pton.
26948
26949 2009-11-06  Simon Josefsson  <simon@josefsson.org>
26950
26951         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
26952         GETADDRINFO_LIB.  Bump serial number.
26953         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
26954         Suggested by Eric Blake <ebb9@byu.net>.
26955
26956 2009-11-05  Eric Blake  <ebb9@byu.net>
26957
26958         strtod: detect darwin bug
26959         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
26960         Reported by Leo Davis.
26961
26962         freopen-safer: new module
26963         * modules/freopen-safer: New module.
26964         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
26965         * lib/freopen-safer.c (freopen_safer): New file.
26966         * lib/stdio-safer.h (freopen_safer): New declaration.
26967         * lib/stdio--.h (freopen): New override.
26968         * MODULES.html.sh (File stream based Input/Output): Mention it.
26969         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
26970         freopen-safer module.
26971         * doc/posix-functions/stderr.texi (stderr): Likewise.
26972         * doc/posix-functions/stdin.texi (stdin): Likewise.
26973         * doc/posix-functions/stdout.texi (stdout): Likewise.
26974         * modules/freopen-safer-tests: New test.
26975         * tests/test-reopen-safer.c: New file.
26976
26977 2009-11-05  Jim Meyering  <meyering@redhat.com>
26978
26979         maint.mk: Prohibit inclusion of "close-stream.h" without use.
26980         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
26981
26982 2009-11-05  Simon Josefsson  <simon@josefsson.org>
26983
26984         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
26985
26986 2009-11-05  Simon Josefsson  <simon@josefsson.org>
26987
26988         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
26989
26990 2009-11-05  Simon Josefsson  <simon@josefsson.org>
26991
26992         Fix link error.
26993         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
26994         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
26995
26996 2009-11-05  Simon Josefsson  <simon@josefsson.org>
26997
26998         * tests/test-func.c: Also test value of __func__.
26999
27000 2009-11-05  Simon Josefsson  <simon@josefsson.org>
27001
27002         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
27003         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
27004
27005 2009-11-05  Bruno Haible  <bruno@clisp.org>
27006
27007         Fix link error.
27008         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
27009         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
27010         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
27011
27012 2009-11-05  Bruno Haible  <bruno@clisp.org>
27013
27014         Tests for module 'inet_pton'.
27015         * modules/inet_pton-tests: New file.
27016         * tests/test-inet_pton.c: New file.
27017
27018 2009-11-05  Bruno Haible  <bruno@clisp.org>
27019
27020         Tests for module 'inet_ntop'.
27021         * modules/inet_ntop-tests: New file.
27022         * tests/test-inet_ntop.c: New file.
27023
27024 2009-11-04  Eric Blake  <ebb9@byu.net>
27025
27026         stdlib-safer: wrap all mkstemp variants
27027         * modules/mkostemp (configure.ac): Set witness.
27028         * modules/mkostemps (configure.ac): Likewise.
27029         * modules/mkstemps (configure.ac): Likewise.
27030         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
27031         (mkstemps_safer): Wrap more functions.
27032         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
27033         wrapping.
27034         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
27035         (mkstemps_safer): Implement the wrappers.
27036
27037         mkstemps, mkostemps: new modules
27038         * modules/mkostemps: New module.
27039         * modules/mkstemps: Likewise.
27040         * lib/mkostemps.c (mkostemps): New file.
27041         * lib/mkstemps.c (mkstemps): Likewise.
27042         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
27043         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
27044         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
27045         * modules/stdlib (Makefile.am): Substitute them.
27046         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
27047         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
27048         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
27049         * doc/gnulib.texi (Glibc stdlib.h): Include them.
27050         * MODULES.html.sh (File system functions): Mention them.
27051
27052         tempname: resync from glibc
27053         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
27054         same values for __GT_FILE as glibc.  Abort even when assertions
27055         are disabled.
27056         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
27057         match its value otherwise.  Allow idempotent inclusion.
27058         * lib/mkdtemp.c (mkdtemp): Adjust caller.
27059         * lib/mkostemp.c (mkostemp): Likewise.
27060         * lib/mkstemp.c (mkstemp): Likewise.
27061         * lib/tmpfile.c (tmpfile): Likewise.
27062         * NEWS: Document this.
27063
27064         utimens: fix use of futimens on older Linux
27065         * lib/utimens.c (fdutimens): Use updated, rather than original,
27066         timespec to avoid bug in older Linux kernel.
27067         Reported by Simon Josefsson.
27068
27069 2009-11-04  Bruno Haible  <bruno@clisp.org>
27070
27071         Make num_processors more flexible and consistent.
27072         * lib/nproc.h (enum nproc_query): New type.
27073         (num_processors): Add a 'query' argument.
27074         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
27075         (num_processors): Add a 'query' argument. Test the value of the
27076         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
27077         mingw, count the number of CPUs available for the current process.
27078         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
27079         Check for sched_getaffinity and sched_getaffinity_np.
27080         * modules/nproc (Depends-on): Add c-ctype, extensions.
27081         * NEWS: Mention the change.
27082
27083 2009-11-03  Bruno Haible  <bruno@clisp.org>
27084
27085         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
27086
27087 2009-11-03  Jim Meyering  <meyering@redhat.com>
27088
27089         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
27090         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
27091         if it is defined.
27092
27093 2009-11-02  Eric Blake  <ebb9@byu.net>
27094
27095         mktime, timegm: share common declaration
27096         * lib/mktime-internal.h: New file.
27097         * lib/mktime.c: Use it rather than open-coding a declaration.
27098         * lib/timegm.c: Likewise.
27099         * modules/mktime (Files): Ship it.
27100         * modules/timegm (Files): Likewise.
27101         Suggested by Bruno Haible.
27102
27103         test-update-copyright: update test to match script changes
27104         * tests/test-update-copyright.sh: Avoid hard-coding perl
27105         location.  Don't update *.bak created by earlier runs.
27106
27107 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
27108             Simon Josefsson  <simon@josefsson.org>
27109             Bruno Haible  <bruno@clisp.org>
27110
27111         Fix link error on Solaris 8.
27112         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
27113         also in libnsl. Define also INET_PTON_LIB.
27114         * modules/inet_pton (Link): New section.
27115
27116 2009-11-02  Simon Josefsson  <simon@josefsson.org>
27117             Bruno Haible  <bruno@clisp.org>
27118
27119         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
27120         * modules/inet_ntop (Link): New section.
27121         Reported by Boyan Kasarov <bkasarov@gmail.com>.
27122
27123 2009-11-02  Eric Blake  <ebb9@byu.net>
27124
27125         maint: avoid compiler warnings in m4 macros
27126         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
27127         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
27128
27129 2009-11-02  Simon Josefsson  <simon@josefsson.org>
27130
27131         * m4/pmccabe2html.m4: Remove file.
27132         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
27133         function.  Change maintainer.
27134         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
27135         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
27136         Courtès).
27137
27138 2009-10-31  Eric Blake  <ebb9@byu.net>
27139
27140         fseeko: fix m4 regression
27141         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
27142         regression from 2009-10-27.
27143         Reported by Ralf Wildenhues.
27144
27145 2009-10-31  Jim Meyering  <meyering@redhat.com>
27146
27147         inttostr: aesthetics and improved (compile-time) safety
27148         Define inttype_is_signed rather than inttype_is_unsigned,
27149         since the sole use is via "#if inttype_is_signed".
27150         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
27151         inttype_is_unsigned.
27152         * lib/offtostr.c (inttype_is_signed): Likewise.
27153         * lib/uinttostr.c (inttype_is_signed): Likewise.
27154         * lib/umaxtostr.c (inttype_is_signed): Likewise.
27155         * lib/inttostr.c (inttostr): Use verify to cross-check the
27156         inttype_is_signed value and the signedness of the actual type.
27157         * modules/inttostr (Depends-on): Add verify.
27158
27159 2009-10-30  Eric Blake  <ebb9@byu.net>
27160
27161         build: avoid compiler warnings
27162         * lib/fchmodat.c (lchmod): Mark unused variables.
27163         * lib/getopt.c (_getopt_initialize): Likewise.
27164         * lib/mktime.c (__mktime_internal): Provide prototype.
27165         * lib/inttostr.c (inttostr): Avoid compiler warning even with
27166         older gcc that do not understand #pragma GCC diagnostic.
27167         * lib/uinttostr.c (inttype_is_unsigned): Define.
27168         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
27169
27170 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
27171
27172         stat: fix compilation on AIX
27173         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
27174         only see struct stat64.
27175
27176 2009-10-30  Eric Blake  <ebb9@byu.net>
27177
27178         exclude: make more robust
27179         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
27180         rather than masking a coding bug.
27181         Suggested by Bruno Haible.
27182
27183 2009-10-30  Jim Meyering  <meyering@redhat.com>
27184
27185         perl scripts: remove #!/usr/bin/perl in favor of more portable...
27186         Rather than putting #!/usr/bin/perl on the first line,
27187         start with a variant of what's recommended by "man perlrun" that
27188         invokes the first "perl" program from your shell's search path.
27189         * build-aux/gitlog-to-changelog: Replace #!... as above.
27190         Add a "Local Variables" perl mode setting.
27191         Prompted by a patch from Ludovic Courtès.
27192         Improved by Eric Blake.
27193         * build-aux/useless-if-before-free: Likewise.
27194         * build-aux/announce-gen: Likewise.
27195         * build-aux/update-copyright: Likewise.
27196
27197 2009-10-29  Eric Blake  <ebb9@byu.net>
27198
27199         filenamecat-lgpl: adjust clients
27200         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
27201         filenamecat.
27202         * modules/renameat (Depends-on): Likewise.
27203
27204         filenamecat: split into filenamecat-lgpl
27205         * modules/filenamecat-lgpl: New module.
27206         * modules/filenamecat (Files): Move library-safe files into
27207         filenamecat-lgpl.
27208         (Depends-on): Add filenamecat-lgpl.
27209         (configure.ac): Declare witness.
27210         * lib/filenamecat.h (file_name_concat): Only declare when using
27211         GPL module.
27212         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
27213         Move...
27214         * lib/filenamecat-lgpl.c: ...into new file.
27215         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
27216         (gl_FILE_NAME_CONCAT): Use it.
27217         * MODULES.html.sh (File system functions): Mention new module.
27218
27219         argp: avoid memory leak
27220         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
27221         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
27222         base_name, since the latter malloc()s and can call exit().
27223         Leak introduced 2006-07-03.
27224
27225         dirname-lgpl: adjust clients that don't need full dirname
27226         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
27227         * modules/filenamecat (Depends-on): Likewise.
27228         * modules/linkat (Depends-on): Likewise.
27229         * modules/mkancesdirs (Depends-on): Likewise.
27230         * modules/mkdir (Depends-on): Likewise.
27231         * modules/openat (Depends-on): Likewise.
27232         * modules/savewd (Depends-on): Likewise.
27233         * modules/rename (Depends-on): Likewise.
27234         (License): Relax license.
27235         * modules/mkdir-tests (Depends-on): Drop progname.
27236         (Makefile.am): Delete unneeded LDADD.
27237         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
27238
27239         dirname: split into dirname-lgpl
27240         * modules/dirname-lgpl: New module.
27241         * modules/dirname (Files): Move library-safe files into
27242         dirname-lgpl.
27243         (Depends-on): Add dirname-lgpl.
27244         (configure.ac): Declare witness.
27245         * modules/double-slash-root (License): Relax license.
27246         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
27247         module.
27248         * lib/dirname.c (dir_len, mdir_name): Move...
27249         * lib/dirname-lgpl.c: ...into new file.
27250         * lib/basename.c (last_component, base_len): Move...
27251         * lib/basename-lgpl.c: ...into new file.
27252         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
27253         (gl_DIRNAME): Use it.
27254         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
27255         Mention new module.
27256         * modules/dirname-tests (Depends-on): Add progname.
27257         * tests/test-dirname.c (program_name): Delete.
27258
27259         mkdir: make safe for libraries
27260         * modules/mkdir (Depends-on): Drop xalloc.
27261         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
27262         exit.
27263
27264         tests: avoid some compiler warnings
27265         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
27266         literals.
27267         * tests/test-memchr.c (main): Avoid type mismatch.
27268         * tests/test-arpa_inet.c (main): Avoid unused parameters.
27269         * tests/test-base64.c (main): Likewise.
27270         * tests/test-getdelim.c (main): Likewise.
27271         * tests/test-gethostname.c (main): Likewise.
27272         * tests/test-getline.c (main): Likewise.
27273         * tests/test-netinet_in.c (main): Likewise.
27274         * tests/test-select.c (open_server_socket, main): Likewise.
27275         * tests/test-select-stdin.c (main): Likewise.
27276         * tests/test-sockets.c (main): Likewise.
27277         * tests/test-strsignal.c (main): Likewise.
27278         * tests/test-sys_select.c (main): Likewise.
27279         * tests/test-sys_socket.c (main): Likewise.
27280         * tests/test-u64.c (main): Likewise.
27281         * tests/test-xfprintf-posix.c (main): Likewise.
27282         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
27283
27284         sockets: avoid compiler warning
27285         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
27286
27287         maint: detect usage(1) and other suspicious exits
27288         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
27289
27290 2009-10-29  Jim Meyering  <meyering@redhat.com>
27291
27292         timespec: long-to-int truncation could make timespec_cmp malfunction
27293         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
27294         a multiple of 2^32 nanoseconds as no difference.
27295
27296 2009-10-28  Jim Meyering  <meyering@redhat.com>
27297
27298         fprintftime: wrap macro code argument in "do {...} while(0)"
27299         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
27300         cpy macro must be a statement that can be followed by a semicolon.
27301         Now that the else clause contains a comment and is hence longer
27302         than one line, I require curly braces.  That in turn requires
27303         that we wrap this code block in the standard do...while(0).
27304
27305         fprintftime: remove stray semicolon from previous change
27306         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
27307
27308         fprintftime: avoid a warning about ignored fwrite return value
27309         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
27310         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
27311         that is unsafe.
27312         * modules/fprintftime (Depends-on): Add ignore-value.
27313
27314         exclude: avoid an unwarranted warning
27315         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
27316
27317 2009-10-27  Eric Blake  <ebb9@byu.net>
27318
27319         fseek: avoid compilation failure when fflush is replaced
27320         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
27321         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
27322         module is in use.
27323         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
27324         module is not in use; since REPLACE_FSEEK worked otherwise.
27325         (GNULIB_FTELLO): Likewise for ftell.
27326         Reported by Ian Beckwith and others.
27327
27328 2009-10-27  Bruno Haible  <bruno@clisp.org>
27329
27330         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
27331         Reported by Jim Meyering.
27332
27333 2009-10-27  Jim Meyering  <jim@meyering.net>
27334             Bruno Haible  <bruno@clisp.org>
27335
27336         Avoid warning despite dropping the return value of fwrite.
27337         * lib/unicodeio.c: Include ignore-value.h.
27338         (fwrite_success_callback): Explicitly ignore fwrite's return value.
27339         * modules/unicodeio (Depends-on): Add ignore-value.
27340
27341 2009-10-26  Eric Blake  <ebb9@byu.net>
27342
27343         areadlinkat: fix fallback path
27344         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
27345         pointer and zero.
27346
27347 2009-10-22  Pádraig Brady  <P@draigBrady.com>
27348
27349         Use a better IO block size for modern systems
27350         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
27351         * lib/md2.c: Likewise.
27352         * lib/md4.c: Likewise.
27353         * lib/md5.c: Likewise.
27354         * lib/sha1.c: Likewise.
27355         * lib/sha256.c: Likewise.
27356         * lib/sha512.c: Likewise.
27357
27358 2009-10-22  Eric Blake  <ebb9@byu.net>
27359
27360         tests: avoid several compiler warnings
27361         * tests/test-getcwd.c (main): Avoid buffer underflow.
27362         * tests/test-getdate.c (main): String literals are not safe with
27363         putenv, so use setenv.  Declare unused argument.
27364         * modules/getdate-tests (Depends-on): Add setenv.
27365         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
27366         problems with string literals in char *.
27367         * tests/test-hash.c (main): Avoid shadowing declaration.
27368         (insert_new): Treat string literals as char const *.
27369         * tests/test-getopt.h (test_getopt): Likewise.
27370         (getopt_loop): Alter types to minimize casting elsewhere.
27371         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
27372         (test_getopt_long_posix): Likewise.
27373         (do_getopt_long): Add wrapper to minimize casting.
27374         * tests/test-atexit.c (clear_temp_file): Use void.
27375         * tests/test-areadlink-with-size.c (main): Declare unused
27376         arguments.
27377         * tests/test-areadlink.c (main): Likewise.
27378         * tests/test-areadlinkat-with-size.c (main): Likewise.
27379         * tests/test-areadlinkat.c (main): Likewise.
27380         * tests/test-canonicalize-lgpl.c (main): Likewise.
27381         * tests/test-canonicalize.c (main): Likewise.
27382         * tests/test-dirent-safer.c (main): Likewise.
27383         * tests/test-dirname.c (main): Likewise.
27384         * tests/test-dup2.c (main): Likewise.
27385         * tests/test-fchdir.c (main): Likewise.
27386         * tests/test-fcntl-h.c (main): Likewise.
27387         * tests/test-fcntl-safer.c (main): Likewise.
27388         * tests/test-fdopendir.c (main): Likewise.
27389         * tests/test-fdutimensat.c (main): Likewise.
27390         * tests/test-fflush.c (main): Likewise.
27391         * tests/test-filenamecat.c (main): Likewise.
27392         * tests/test-filevercmp.c (main): Likewise.
27393         * tests/test-fopen-safer.c (main): Likewise.
27394         * tests/test-fopen.c (main): Likewise.
27395         * tests/test-fpending.c (main): Likewise.
27396         * tests/test-fpurge.c (main): Likewise.
27397         * tests/test-freading.c (main): Likewise.
27398         * tests/test-fstatat.c (main): Likewise.
27399         * tests/test-fsync.c (main): Likewise.
27400         * tests/test-futimens.c (main): Likewise.
27401         * tests/test-getndelim2.c (main): Likewise.
27402         * tests/test-gettimeofday.c (main): Likewise.
27403         * tests/test-getopt.c (main): Likewise.
27404         * tests/test-i-ring.c (main): Likewise.
27405         * tests/test-inttypes.c (main): Likewise.
27406         * tests/test-link.c (main): Likewise.
27407         * tests/test-lstat.c (main): Likewise.
27408         * tests/test-math.c (main): Likewise.
27409         * tests/test-md5.c (main): Likewise.
27410         * tests/test-memchr2.c (main): Likewise.
27411         * tests/test-memrchr.c (main): Likewise.
27412         * tests/test-mkdir.c (main): Likewise.
27413         * tests/test-mkdirat.c (main): Likewise.
27414         * tests/test-mkfifoat.c (main): Likewise.
27415         * tests/test-open.c (main): Likewise.
27416         * tests/test-openat-safer.c (main): Likewise.
27417         * tests/test-openat.c (main): Likewise.
27418         * tests/test-quotearg.c (main): Likewise.
27419         * tests/test-rawmemchr.c (main): Likewise.
27420         * tests/test-readlink.c (main): Likewise.
27421         * tests/test-remove.c (main): Likewise.
27422         * tests/test-rename.c (main): Likewise.
27423         * tests/test-renameat.c (main): Likewise.
27424         * tests/test-rmdir.c (main): Likewise.
27425         * tests/test-sha1.c (main): Likewise.
27426         * tests/test-signal.c (main): Likewise.
27427         * tests/test-sigaction.c (main): Likewise.
27428         * tests/test-stat.c (main): Likewise.
27429         * tests/test-stat-time.c (main): Likewise.
27430         * tests/test-stddef.c (main): Likewise.
27431         * tests/test-stdint.c (main): Likewise.
27432         * tests/test-stdio.c (main): Likewise.
27433         * tests/test-stdlib.c (main): Likewise.
27434         * tests/test-strchrnul.c (main): Likewise.
27435         * tests/test-strerror.c (main): Likewise.
27436         * tests/test-string.c (main): Likewise.
27437         * tests/test-strtod.c (main): Likewise.
27438         * tests/test-strverscmp.c (main): Likewise.
27439         * tests/test-symlink.c (main): Likewise.
27440         * tests/test-symlinkat.c (main): Likewise.
27441         * tests/test-sys_stat.c (main): Likewise.
27442         * tests/test-sys_time.c (main): Likewise.
27443         * tests/test-time.c (main): Likewise.
27444         * tests/test-unistd.c (main): Likewise.
27445         * tests/test-unlink.c (main): Likewise.
27446         * tests/test-unlinkat.c (main): Likewise.
27447         * tests/test-utimens.c (main): Likewise.
27448         * tests/test-utimensat.c (main): Likewise.
27449         * tests/test-version-etc.c (main): Likewise.
27450         * tests/test-wchar.c (main): Likewise.
27451         * tests/test-wctype.c (main): Likewise.
27452         * tests/test-xprintf-posix.c (main): Likewise.
27453         * tests/test-posixtm.c (main): Likewise.
27454         (STREQ): Delete unused macro.
27455         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
27456         shadowed variables.
27457         * tests/test-memchr.c (main): Likewise.
27458
27459 2009-10-21  Eric Blake  <ebb9@byu.net>
27460
27461         areadlinkat: avoid failure on older glibc
27462         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
27463         rather than mis-comparing 0 against FUNC_RESULT of char*.
27464
27465 2009-10-21  Bruno Haible  <bruno@clisp.org>
27466
27467         * modules/stpncpy (License): Relicense under LGPLv2+.
27468         Reported by David Lutterkort <lutter@redhat.com>.
27469
27470 2009-10-20  Eric Blake  <ebb9@byu.net>
27471
27472         utimensat: work around Solaris 9 bug
27473         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
27474         has trailing slash bugs.
27475         * tests/test-lutimens.h (test_lutimens): Enhance test.
27476         * tests/test-utimens.h (test_utimens): Likewise.
27477         * doc/posix-functions/utime.texi (utime): Enhance documentation.
27478         * doc/posix-functions/utimes.texi (utimes): Likewise.
27479         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
27480         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
27481         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
27482         * doc/posix-functions/futimens.texi (futimens): Likewise.
27483
27484         fdutimensat: new module
27485         * modules/fdutimensat: New file.
27486         * lib/fdutimensat.c (fdutimensat): Likewise.
27487         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
27488         * MODULES.html.sh (File system functions): Mention module.
27489         * modules/fdutimensat-tests: New test.
27490         * tests/test-fdutimensat.c: Likewise.
27491
27492         doc: regenerate INSTALL
27493         * doc/INSTALL: Reflect recent autoconf update.
27494         * doc/INSTALL.ISO: Likewise.
27495         * doc/INSTALL.UTF-8: Likewise.
27496
27497 2009-10-20  Pádraig Brady  <P@draigBrady.com>
27498
27499         acl: warn if ACL support is not detected
27500         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
27501
27502 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
27503
27504         * lib/nproc.h: Add extern "C" block for C++.
27505
27506 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
27507             Bruno Haible  <bruno@clisp.org>
27508
27509         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
27510         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
27511         * doc/posix-functions/isalpha.texi: Likewise.
27512         * doc/posix-functions/isblank.texi: Likewise.
27513         * doc/posix-functions/iscntrl.texi: Likewise.
27514         * doc/posix-functions/isdigit.texi: Likewise.
27515         * doc/posix-functions/isgraph.texi: Likewise.
27516         * doc/posix-functions/islower.texi: Likewise.
27517         * doc/posix-functions/isprint.texi: Likewise.
27518         * doc/posix-functions/ispunct.texi: Likewise.
27519         * doc/posix-functions/isspace.texi: Likewise.
27520         * doc/posix-functions/isupper.texi: Likewise.
27521         * doc/posix-functions/isxdigit.texi: Likewise.
27522
27523 2009-10-18  Bruno Haible  <bruno@clisp.org>
27524
27525         Tests for module 'isblank'.
27526         * modules/isblank-tests: New file.
27527         * tests/test-isblank.c: New file.
27528
27529         New module 'isblank'.
27530         * lib/isblank.c: New file.
27531         * m4/isblank.m4: New file.
27532         * modules/isblank: New file.
27533         * doc/posix-functions/isblank.texi: Mention the new module.
27534
27535 2009-10-18  Bruno Haible  <bruno@clisp.org>
27536
27537         New module 'ctype'.
27538         * lib/ctype.in.h: New file.
27539         * m4/ctype.m4: New file.
27540         * modules/ctype: New file.
27541         * doc/posix-headers/ctype.texi: Mention the new module.
27542
27543 2009-10-18  Jim Meyering  <meyering@redhat.com>
27544
27545         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
27546         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
27547         right after its initialization, rather than farther down.
27548         Keeping these in close proximity makes it easier to ensure
27549         that each such variable is initialized.  E.g.,
27550
27551             LIB_CLOCK_GETTIME=
27552             AC_SUBST([LIB_CLOCK_GETTIME])
27553
27554         This change also increments these serial numbers.
27555         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
27556         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
27557         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
27558
27559 2009-10-18  Bruno Haible  <bruno@clisp.org>
27560
27561         Don't let environment variables perturb build.
27562         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
27563         (gl_PREREQ_GETHRXTIME): ... not here.
27564
27565 2009-10-18  Bruno Haible  <bruno@clisp.org>
27566
27567         Avoid symlink attack in localcharset module.
27568         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
27569         (O_NOFOLLOW): Define fallback.
27570         (get_charset_aliases): Don't open the file if it is a symbolic link.
27571         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
27572         gl_FCNTL_H.
27573         (gl_FCNTL_H): Require it.
27574         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
27575         * modules/localcharset (Files): Add m4/fcntl_h.m4.
27576         Reported by Fergal Glynn <fglynn@veracode.com>.
27577
27578 2009-10-18  Bruno Haible  <bruno@clisp.org>
27579
27580         Implement nproc for mingw.
27581         * lib/nproc.c: Include <windows.h>
27582         (num_processors): On native Windows platforms, try GetSystemInfo.
27583
27584 2009-10-18  Bruno Haible  <bruno@clisp.org>
27585
27586         Implement nproc for IRIX.
27587         * lib/nproc.c: Include <sys/sysmp.h>.
27588         (num_processors): On IRIX systems, try sysmp.
27589         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
27590
27591 2009-10-18  Bruno Haible  <bruno@clisp.org>
27592
27593         Implement nproc for HP-UX.
27594         * lib/nproc.c: Include <sys/pstat.h>
27595         (num_processors): On HP-UX systems, try pstat_getdynamic.
27596         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
27597         pstat_getdynamic.
27598
27599 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
27600             Bruno Haible  <bruno@clisp.org>
27601
27602         Implement nproc for NetBSD, OpenBSD.
27603         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
27604         (ARRAY_SIZE): New macro.
27605         (num_processors): On BSD systems, try sysctl of HW_NCPU.
27606         * m4/nproc.m4: New file.
27607         * modules/nproc (Files): Add m4/nproc.m4.
27608         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
27609         (Makefile.am): Instead, augment lib_SOURCES.
27610
27611 2009-10-18  Bruno Haible  <bruno@clisp.org>
27612
27613         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
27614         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
27615         sys/param.h.
27616
27617 2009-10-16  Eric Blake  <ebb9@byu.net>
27618
27619         utimensat: new module
27620         * modules/utimensat: New file.
27621         * lib/utimensat.c (utimensat): Likewise.
27622         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
27623         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
27624         so we can work around Linux bugs.
27625         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
27626         * modules/sys_stat (Makefile.am): Substitute them.
27627         * lib/sys_stat.in.h (utimensat): Declare it.
27628         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
27629         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
27630         * modules/utimensat-tests: New test.
27631         * tests/test-utimensat.c: Likewise.
27632
27633         utimens: let lutimens work on non-symlinks
27634         * lib/utimens.c (lutimens): Fall back to utimens rather than
27635         failing with ENOSYS, when file is not a symlink.
27636         (utimens): Reduce redirection.
27637         * tests/test-lutimens.h (test_lutimens): Update test to cover
27638         non-symlinks.
27639         * tests/test-utimens.h (test_utimens): Update test to cover
27640         symlinks.
27641         * tests/test-utimens.c (main): Update caller.
27642
27643         utimens: cache whether utimensat syscall works
27644         * lib/utimens.c (utimensat_works_really): New cache variable.
27645         (fdutimens, lutimens): Use it to avoid failing syscall.
27646
27647         test-stat-time, test-utimens: improve portability
27648         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
27649         ext4 on alpha, and for cygwin.
27650         * tests/test-utimens-common.h: New file.
27651         (nap): Factor delays into single function.
27652         * tests/test-lutimens.h (test_lutimens): Use new header.
27653         * tests/test-futimens.h (test_futimens): Likewise.
27654         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
27655         timestamps to occur from same machine, as was done previously for
27656         test_utimens.
27657         * modules/utimens-tests (Files): Ship new file.
27658         * modules/futimens-tests (Files): Likewise.
27659         Reported in part by Jim Meyering.
27660
27661         sys_stat: sort replacement declarations
27662         * lib/sys_stat.in.h: Sort declarations.
27663         * lib/futimens.c (futimens): Fix typo.
27664
27665 2009-10-15  Jim Meyering  <meyering@redhat.com>
27666
27667         don't let environment settings perturb build
27668         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
27669         could cause a configure-time and/or build-time malfunction.
27670         Typically, a configure-time function-in-library test is performed
27671         via code like this:
27672
27673           LIB_VAR=
27674           AC_SUBST([LIB_VAR])
27675           prefix_saved_LIBS=$LIBS
27676             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
27677                        [test "$ac_cv_search_FUNC" = "none required" ||
27678                         LIB_VAR=$ac_cv_search_FUNC])
27679           LIBS=$prefix_saved_LIBS
27680
27681         However, in each of the files affected by this change, the LIB_VAR=
27682         initialization was omitted.  Thus, when set in the environment, its
27683         value would propagate into generated Makefiles when FUNC is not found
27684         in LIB_NAME.
27685         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
27686         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
27687         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
27688
27689 2009-10-14  Eric Blake  <ebb9@byu.net>
27690
27691         fchdir: avoid infinite recursion in mingw
27692         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
27693         recursing.
27694
27695         test-stat-time: port to mingw
27696         * tests/test-stat-time.c (force_unlink): Return a value.
27697         (test_ctime) [W32]: Fix compilation error.
27698         (nap): Don't call usleep with too large an argument.  Use
27699         force_unlink.
27700         * doc/pastposix-functions/usleep.texi (usleep): Document the
27701         portability issue.
27702
27703 2009-10-13  Jim Meyering  <meyering@redhat.com>
27704
27705         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
27706         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
27707         * modules/pipe-filter-ii: Likewise.
27708         * modules/sys_socket-tests: Likewise.
27709         * modules/tsearch-tests: Likewise.
27710         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
27711         (check): Depend on it.
27712
27713 2009-10-12  Eric Blake  <ebb9@byu.net>
27714
27715         utimens-tests: port to NFS file systems
27716         * tests/test-utimens.h (test_utimens): Refactor utimecmp
27717         comparisons to avoid spurious failures from timestamp drift
27718         between NFS machines.
27719
27720 2009-10-12  Eric Blake  <ebb9@byu.net>
27721
27722         stat-time-tests: minor cleanups
27723         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
27724         * tests/test-stat-time.c (nap): Separate assignment from call.
27725         Suggested by Paolo Bonzini and Bruno Haible.
27726
27727         sys_stat: guarantee struct timespec
27728         * lib/sys_stat.in.h (includes): Always include <time.h>
27729         * modules/sys_stat (Depends-on): Add time.
27730         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
27731         mode_t permission values.
27732         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
27733         get at subsecond timestamps.
27734
27735 2009-10-10  Eric Blake  <ebb9@byu.net>
27736
27737         futimens: new module
27738         * modules/futimens: New file.
27739         * lib/futimens.c (futimens): Likewise.
27740         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
27741         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
27742         we can work around Linux bugs.
27743         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
27744         * modules/sys_stat (Makefile.am): Substitute them.
27745         * lib/sys_stat.in.h (futimens): Declare it.
27746         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
27747         * doc/posix-functions/futimens.texi (futimens): Likewise.
27748         * modules/futimens-tests: New test.
27749         * tests/test-futimens.c: Likewise.
27750
27751         utimens: introduce fdutimens
27752         * lib/utimens.h (fdutimens): New prototype.
27753         * lib/utimens.c (gl_futimens): Move guts...
27754         (fdutimens): ...to new interface.
27755         * tests/test-utimens.c (do_fdutimens): Use it.
27756
27757         utimens: add UTIME_NOW and UTIME_OMIT support
27758         * lib/utimens.c (validate_timespec, update_timespec): New helper
27759         functions.
27760         (gl_futimens, lutimens): Use them.
27761         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
27762         stdbool, sys_stat.
27763         (Link): Mention resulting library dependency.
27764         * modules/utimecmp (Link): Likewise.
27765         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
27766         (Makefile.am): Pick up library dependency.
27767         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
27768         definition.
27769         * tests/test-sys_stat.c: Test the definitions.
27770         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
27771         * NEWS: Document library dependency.
27772
27773         utimecmp: support symlink timestamps
27774         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
27775         hashing when possible.  Use pathconf when available.
27776         (SYSCALL_RESOLUTION): Recognize tighter resolution.
27777         * modules/utimecmp (Depends-on): Add lstat.
27778
27779         utimens: add lutimens interface
27780         * lib/utimens.c (lutimens): New function.
27781         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
27782         * lib/utimens.h (lutimens): Declare new interface.
27783         * tests/test-utimens.c (main): Enhance test.
27784         * tests/test-lutimens.h (test_lutimens): New file.
27785         * modules/utimens-tests (Files): Distribute it.
27786         (Depends-on): Add symlink.
27787         (configure.ac): Check for usleep.
27788
27789         utimens: validate futimens usage
27790         * lib/utimens.c (gl_futimens): Require valid fd up front, using
27791         fewer syscalls on failure later on.  Avoid compiler warning on
27792         mingw.
27793         * modules/utimens (Depends-on): Add dup2.
27794
27795         utimens: add test
27796         * modules/utimens-tests: New test.
27797         * tests/test-utimens.h: New file.
27798         * tests/test-futimens.h: Likewise.
27799         * tests/test-utimens.c: Likewise.
27800
27801         doc: mention timestamp portability issues
27802         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
27803         instead.
27804         * doc/posix-functions/utime.texi (utime): Likewise.
27805         * doc/posix-functions/utimes.texi (utimes): Likewise.
27806         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
27807         instead.
27808         * doc/posix-functions/futimens.texi (futimens): Mention utimens
27809         module.
27810         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
27811         Mention weakness with symlink timestamps.
27812         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
27813         to utimensat/futimens instead.
27814         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
27815
27816         test-dup2: enhance test
27817         * tests/test-dup2.c (main): Also check AT_FDCWD.
27818
27819         test-stat-time: avoid more spurious failures
27820         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
27821         xfs; and avoid race if the two timestamps cross quantization edge.
27822
27823         relocatable: prefer 'file system' over 'filesystem'
27824         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
27825         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
27826         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
27827         * doc/relocatable.texi (Enabling Relocatability): Likewise.
27828         * lib/relocatable.c (compute_curr_prefix): Likewise.
27829
27830 2009-10-10  Jim Meyering  <meyering@redhat.com>
27831
27832         stat-time-tests: check for the usleep function
27833         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
27834
27835 2009-10-10  Bruno Haible  <bruno@clisp.org>
27836
27837         * modules/xnanosleep: Put the Link section after the Include section.
27838
27839 2009-10-09  Eric Blake  <ebb9@byu.net>
27840
27841         dup2: work around FreeBSD 6.1 bug
27842         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
27843         * doc/posix-functions/dup2.texi (dup2): Document it.
27844         Reported by Nelson H. F. Beebe and Jim Meyering.
27845
27846         test-stat-time: port to buggy NFS clients
27847         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
27848         (test_ctime): Also skip test if mtime and ctime are skewed.
27849
27850         maint: prefer 'file system' over 'filesystem'
27851         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
27852         * doc/posix-functions/lstat.texi (lstat): Likewise.
27853         * lib/file-has-acl.c (file_has_acl): Likewise.
27854         * lib/fwriteerror.c [TEST]: Likewise.
27855         * tests/test-areadlink.h (test_areadlink): Likewise.
27856         * tests/test-areadlinkat-with-size.c (main): Likewise.
27857         * tests/test-areadlinkat.c (main): Likewise.
27858         * tests/test-canonicalize-lgpl.c (main): Likewise.
27859         * tests/test-canonicalize.c (main): Likewise.
27860         * tests/test-fstatat.c (main): Likewise.
27861         * tests/test-linkat.c (main): Likewise.
27862         * tests/test-lstat.h (test_lstat_func): Likewise.
27863         * tests/test-mkdir.h (test_mkdir): Likewise.
27864         * tests/test-readlink.h (test_readlink): Likewise.
27865         * tests/test-remove.c (main): Likewise.
27866         * tests/test-rename.h (test_rename): Likewise.
27867         * tests/test-renameat.c (main): Likewise.
27868         * tests/test-rmdir.h (test_rmdir_func): Likewise.
27869         * tests/test-symlink.h (test_symlink): Likewise.
27870         * tests/test-symlinkat.c (main): Likewise.
27871         * tests/test-unlink.h (test_unlink_func): Likewise.
27872         * tests/test-unlinkat.c (main): Likewise.
27873
27874         maint: make realtime library usage explicit
27875         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
27876         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
27877         * modules/settime (Link): Likewise.
27878         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
27879
27880         test-stat-time: speed up execution
27881         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
27882         warning on mingw.
27883         (nap): New helper function.
27884         (prepare_test): Use it to reduce sleep time.
27885         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
27886         execution.
27887         * modules/stat-time-tests (configure.ac): Check for usleep.
27888
27889 2009-10-09  Jim Meyering  <meyering@redhat.com>
27890
27891         selinux-h: always use getfilecon wrappers
27892         * lib/getfilecon.c: New file.
27893         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
27894         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
27895         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
27896         (fgetfilecon): Provide a stub.
27897         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
27898         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
27899         file unconditionally.
27900         When <selinux/selinux.h> is found, arrange to use wrappers.
27901         * modules/selinux-h (Files): Add getfilecon.c.
27902         (Makefile.am): Substitute include-next-related bits
27903         into the now-always-generated selinux/selinux.h file.
27904         * doc/glibc-functions/lgetfilecon.texi: New file.
27905         * doc/glibc-functions/fgetfilecon.texi: New file.
27906         * doc/glibc-functions/getfilecon.texi: New file.
27907         * doc/glibc-functions/getfilecon-desc.texi: New file.
27908         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
27909         which to pull in the new files.
27910         * MODULES.html.sh (Misc): Add selinux-h.
27911
27912 2009-10-08  Jim Meyering  <meyering@redhat.com>
27913
27914         unistd: fix comment typo
27915         * lib/unistd.in.h (euidaccess): Fix a comment typo.
27916
27917 2009-10-08  Eric Blake  <ebb9@byu.net>
27918
27919         areadlink: use SIZE_MAX consistently
27920         * modules/areadlink (Depends-on): Add stdint.
27921         * modules/areadlink-with-size (Depends-on): Likewise.
27922         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
27923         gives NULL; drop sys/types, since unistd gives size_t; and add
27924         stdint for SIZE_MAX.
27925         (SIZE_MAX): Rely on headers.
27926         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
27927         and add stdint.
27928         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
27929         (SIZE_MAX): Likewise.
27930         (INITIAL_BUF_SIZE): Turn into enum.
27931         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
27932
27933 2009-10-08  Jim Meyering  <meyering@redhat.com>
27934
27935         areadlinkat: avoid compilation failure
27936         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
27937         Fix typo in comment.
27938
27939 2009-10-07  Eric Blake  <ebb9@byu.net>
27940
27941         areadlinkat-with-size: new module
27942         * modules/areadlinkat-with-size: New module.
27943         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
27944         * lib/areadlink.h (areadlinkat): Declare it.
27945         * MODULES.html.sh (File system functions): Mention it.
27946         * modules/areadlinkat-with-size-tests: New test.
27947         * tests/test-areadlinkat-with-size.c: New file.
27948
27949         xreadlinkat: new module
27950         * modules/xreadlinkat: New module.
27951         * lib/xreadlinkat.c (xreadlinkat): New file.
27952         * lib/xreadlink.h (xreadlinkat): Declare it.
27953         * MODULES.html.sh (File system functions): Mention it.
27954
27955         areadlinkat: new module
27956         * lib/at-func.c (FUNC_FAIL): New define.
27957         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
27958         * modules/areadlinkat: New module.
27959         * lib/linkat.c (areadlinkat): Move...
27960         * lib/areadlinkat.c (areadlinkat): ...to new file.
27961         * lib/areadlink.h (areadlinkat): Declare it.
27962         * modules/linkat (Depends-on): Add areadlinkat.
27963         * MODULES.html.sh (File system functions): Mention it.
27964         * modules/areadlinkat-tests: New test.
27965         * tests/test-areadlinkat.c: New file.
27966
27967         areadlink, areadlink-with-size: add tests
27968         * modules/areadlink-tests: New test.
27969         * modules/areadlink-with-size-tests: Likewise.
27970         * tests/test-areadlink.h: New file.
27971         * tests/test-areadlink.c: Likewise.
27972         * tests/test-areadlink-with-size.c: Likewise.
27973
27974         maint: minor cleanups
27975         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
27976         _UNUSED_PARAMETER_ instead.
27977         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
27978         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
27979         * modules/linkat-tests (Files): Distribute test-link.h.
27980
27981         openat, utimens: whitespace cleanup
27982         * lib/openat.c: Prefer space throughout, rather than mix of 8
27983         spaces vs. tabs.
27984         * lib/at-func.c: Likewise.
27985         * lib/utimens.c: Likewise.
27986
27987         openat: avoid using wrong fd
27988         * lib/openat.c (openat_permissive): Reject user's fd if saving the
27989         working directory chooses same fd.
27990         * lib/at-func.c (AT_FUNC_NAME): Likewise.
27991
27992         mkdir, mkdirat: fix cygwin 1.5.x bug
27993         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
27994         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
27995         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
27996         bug.
27997         (gl_PREREQ_MKDIR): Delete unused macro.
27998         * modules/mkdir (Files): Track file rename.
27999         (configure.ac): Update macro name.
28000         * modules/openat (Depends-on): Add mkdir.
28001         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
28002
28003         mkdir, mkdirat: add tests
28004         * modules/mkdir-tests: New test.
28005         * tests/test-mkdir.h: New file.
28006         * tests/test-mkdir.c: Likewise.
28007         * tests/test-mkdirat.c: Likewise.
28008         * modules/openat-tests (Files): Add new files.
28009         (Makefile.am): Run new test.
28010
28011 2009-10-06  Eric Blake  <ebb9@byu.net>
28012
28013         doc: tweak *at function documentation
28014         * doc/posix-functions/faccessat.texi (faccessat): Mention
28015         known issue with replacement.
28016         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
28017         * doc/posix-functions/linkat.texi (linkat): Likewise.
28018         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
28019         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
28020         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
28021         * doc/posix-functions/renameat.texi (renameat): Likewise.
28022         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
28023
28024         openat: fix GNU/Hurd bug in unlinkat
28025         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
28026         broken.
28027         * doc/posix-functions/unlink.texi (unlink): Document this.
28028         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
28029
28030         fdopendir: fix GNU/Hurd bug
28031         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
28032         allowing non-directory fds.
28033         * lib/fdopendir.c (rpl_fdopendir): Work around it.
28034         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
28035         * modules/dirent (Makefile.am): Substitute it.
28036         * lib/dirent.in.h (fdopendir): Declare replacement.
28037         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
28038         * tests/test-fdopendir.c (main): Test something other than
28039         /dev/null, since on Hurd that behaves like a directory.
28040
28041         test-symlink: port to GNU/Hurd
28042         * tests/test-symlink.h (test_symlink): Relax expected errno.
28043
28044         doc: tweak more cygwin information
28045         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
28046         now compatible with glibc.
28047         * doc/posix-functions/getopt.texi (getopt): Likewise.
28048
28049         getopt-gnu: add another test
28050         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
28051         guarantee behavior relied on by m4.
28052         * tests/test-getopt.c (main): Use it.
28053         * modules/getopt-posix-tests (Depends-on): Add setenv.
28054         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
28055
28056         getopt: fix compilation on darwin
28057         * lib/getopt.in.h (includes): Leave breadcrumbs during system
28058         include.
28059         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
28060         Reported by Ludovic Courtès.
28061
28062 2009-10-06  Bruno Haible  <bruno@clisp.org>
28063
28064         * modules/size_max (Description): Discourage its use.
28065         Reported by Simon Josefsson.
28066
28067 2009-10-06  Jim Meyering  <meyering@redhat.com>
28068
28069         linkat: avoid compilation failure
28070         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
28071
28072 2009-10-05  Eric Blake  <ebb9@byu.net>
28073
28074         linkat: support Linux 2.6.17
28075         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
28076         linkat on Linux, but allow cache variable override.
28077         * lib/linkat.c (rpl_linkat): Define override.
28078         * modules/linkat (Depends-on): Add symlinkat.
28079         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
28080         * modules/unistd (Makefile.am): Substitute it.
28081         * lib/unistd.in.h (linkat): Declare replacement.
28082         Reported by Pádraig Brady.
28083
28084         quotearg: port test to systems with C.UTF-8 locale
28085         * tests/test-quotearg.c (struct result_strings): Add another
28086         member, differentiating between C.ASCII and C.UTF-8 handling.
28087         (compare_strings): Add parameter.
28088         (main): Adjust all callers.
28089
28090         getopt: avoid clash with FreeBSD _getopt_internal
28091         * lib/getopt.in.h (_getopt_internal): Override the name.
28092         * lib/getopt_int.h (includes): Pick up any overrides.
28093         Reported by Reuben Thomas.
28094
28095         hash: allow C89 compilation
28096         * lib/hash.c (check_tuning): Move declaration before statement.
28097         Reported by Reuben Thomas.
28098
28099 2009-10-05  Karl Berry  <karl@gnu.org>
28100
28101         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
28102
28103 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
28104             Bruno Haible  <bruno@clisp.org>
28105
28106         * lib/uname.c (uname): Use a table-driven algorithm to compute
28107         Windows NT versions.
28108
28109 2009-10-04  Bruno Haible  <bruno@clisp.org>
28110
28111         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
28112         program_invocation_short_name.
28113         * modules/progname (configure.ac): Test for presence of
28114         program_invocation_short_name.
28115         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
28116
28117 2009-10-04  Bruno Haible  <bruno@clisp.org>
28118
28119         * lib/progname.c (set_program_name): Fix comment.
28120         Reported by Jim Meyering.
28121
28122 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
28123             Bruno Haible  <bruno@clisp.org>
28124
28125         * lib/uname.c: Include <string.h>.
28126         (uname): Do only one call to GetVersionEx in the common case.
28127
28128 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
28129             Bruno Haible  <bruno@clisp.org>
28130
28131         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
28132         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
28133         (uname): Add support for Windows CE and various non-x86 CPU types.
28134
28135 2009-10-03  Bruno Haible  <bruno@clisp.org>
28136
28137         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
28138         invocation to tests/configure.ac.
28139         Reported by Ian Beckwith <ianb@erislabs.net>.
28140
28141 2009-10-02  Eric Blake  <ebb9@byu.net>
28142
28143         fchdir: avoid compiler warning
28144         * lib/fchdir.c (canonicalize_file_name)
28145         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
28146
28147         test-open: support mingw errno values
28148         * tests/test-open.h (test_open): Relax test.
28149         * tests/test-fopen.h (test_fopen): Likewise.
28150         * tests/test-openat-safer.c (main): Likewise.
28151
28152         open: fix opening directory on mingw
28153         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
28154
28155         test-open: on GNU/Hurd, /dev/null is a directory
28156         * tests/test-fopen.h (main): Rename...
28157         (test_fopen): ...to this.  Use a guaranteed non-directory when
28158         confirming open behavior on trailing slash.
28159         * tests/test-openat-safer.c (main): Likewise.
28160         * tests/test-open.h (main): Likewise....
28161         (test_open): ...to this.
28162         * tests/test-fopen.c (main): Adjust caller.
28163         * tests/test-fopen-safer.c (main): Likewise.
28164         * tests/test-open.c (main): Likewise.
28165         * tests/test-fcntl-safer.c (main): Likewise.
28166         Reported by Samuel Thibault.
28167
28168         rename, fchdir: don't ignore chdir failure
28169         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
28170         * lib/rename.c (rpl_rename) [W32]: Likewise.
28171         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
28172         an empty destination directory if source cannot be renamed,
28173         although there is still possibility for failure.
28174         * doc/posix-functions/rename.texi (rename): Document the race.
28175         Reported by Jim Meyering.
28176
28177         maint: cleanup whitespace in recent commits
28178         * lib/rename.c (rpl_rename): Remove tabs.
28179         * tests/test-link.h (test_link): Likewise.
28180         * lib/fchdir.c (get_name): Likewise.
28181         Reported by Jim Meyering.
28182
28183 2009-10-02  Ben Pfaff  <blp@gnu.org>
28184
28185         relocatable-prog-wrapper: Add missing dependency on
28186         double-slash-root.
28187         * modules/relocatable-prog-wrapper: Add dependency.
28188         Reported by Ian Beckwith <ianb@erislabs.net>.
28189
28190 2009-10-02  Eric Blake  <ebb9@byu.net>
28191
28192         renameat: fix Solaris bugs
28193         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
28194         needed fixing.
28195         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
28196         * modules/stdio (Makefile.am): Substitute it.
28197         * lib/stdio.in.h (renameat): Declare replacement.
28198         * lib/renameat.c (rpl_renameat): Implement fix.
28199
28200         renameat: new module
28201         * modules/renameat: New file.
28202         * lib/renameat.c (renameat): Likewise.
28203         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
28204         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
28205         * modules/stdio (Makefile.am): Substitute them.
28206         * lib/stdio.in.h (renameat): Declare it.
28207         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
28208         * doc/posix-functions/renameat.texi (renameat): Likewise.
28209         * modules/renameat-tests: New test.
28210         * tests/test-renameat.c: Likewise.
28211
28212         rename: fix mingw bugs
28213         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
28214         directory overwrite bugs.
28215
28216         rename: fix another cygwin 1.5 bug
28217         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
28218         checks.
28219         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
28220         unnecessary cygwin workarounds.  Also work around bug with moving
28221         full directory onto an empty one.
28222         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
28223
28224         rename-dest-slash: merge into rename module
28225         * modules/rename-dest-slash (Status): Mark obsolete.
28226         (Depends-on): Add rename.
28227         (Files): Let rename do it all.
28228         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
28229         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
28230         * m4/rename-dest-slash.m4: ...so this file can be deleted.
28231         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
28232         * lib/rename.c (rpl_rename): Update comments.
28233
28234         rename: fix cygwin 1.5.x bugs
28235         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
28236         * lib/rename.c (rpl_rename): Work around them.
28237         * modules/rename (Depends-on): Add same-inode.
28238
28239         rename: fix Solaris 10 bug
28240         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
28241         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
28242         was the only bug.
28243
28244         rename: fix Solaris 9 bug
28245         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
28246         on non-directory.  Avoid calling exit.
28247         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
28248         strdup.
28249         * modules/rename-tests (Depends-on): Drop lstat.
28250         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
28251         (gl_PREREQ_RENAME): Delete unused macro.
28252
28253         rename-dest-slash: fix NetBSD bug
28254         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
28255         links.
28256         * modules/rename-dest-slash (Depends-on): Add same-inode.
28257
28258         rename-tests: new test, exposes several platform bugs
28259         * modules/rename-tests: New file.
28260         * tests/test-rename.h: Likewise.
28261         * tests/test-rename.c: Likewise.
28262         * doc/posix-functions/rename.texi (rename): Improve documentation,
28263         including bugs that will eventually be fixed in gnulib.
28264
28265 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
28266
28267         * lib/uname.c: Include <stdlib.h>
28268         (uname): Assume version info is available.
28269
28270 2009-10-02  Jim Meyering  <meyering@redhat.com>
28271
28272         gnu-web-doc-update: correct --help output
28273         * build-aux/gnu-web-doc-update: Make --help output relevant.
28274
28275         gnu-web-doc-update: add standard options
28276         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
28277
28278         gnu-web-doc-update: New module.
28279         Use this script to automatically update the on-line web documentation
28280         for your GNU project at http://www.gnu.org/software/$pkg/manual/
28281         * modules/gnu-web-doc-update: New file, from coreutils.
28282         * build-aux/gnu-web-doc-update: New script.
28283
28284 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
28285
28286         link: LoadLibrary is not needed.
28287         * lib/link.c: Use GetModuleHandle.
28288
28289 2009-10-01  Eric Blake  <ebb9@byu.net>
28290
28291         getopt: bump serial number
28292         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
28293         change.
28294
28295         tests: tighten link, rmdir, and remove tests
28296         * tests/test-link.h (includes): No need to use <config.h> here.
28297         Clean up if directory hard link was created, otherwise test for
28298         trailing '.'.
28299         * tests/test-linkat.c (main): Simplify.
28300         * tests/test-remove.c (main): Enhance test for trailing '.'.
28301         * tests/test-rmdir.h (test_rmdir_func): Likewise.
28302
28303 2009-10-01  Jim Meyering  <meyering@redhat.com>
28304
28305         maint.mk: requiring "make major" was annoying, for a "minor" release.
28306         What is intended is "stable", to contrast with alpha and beta,
28307         so require "make stable", not "make major".
28308         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
28309         (get_tool_versions): Likewise.
28310         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
28311
28312 2009-09-30  Ben Pfaff  <blp@gnu.org>
28313
28314         Fix broken build of replacement for Windows tmpfile().
28315         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
28316         flags argument added along with the 'mkostemp' module.
28317
28318 2009-09-28  Bruno Haible  <bruno@clisp.org>
28319
28320         Avoid identifier clash with POSIX function 'remove' defined as a macro.
28321         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
28322         to 'remove_elt'.
28323         (gl_list_remove): Update.
28324         * lib/gl_list.c (gl_list_remove): Update.
28325         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
28326         to 'remove_elt'.
28327         (gl_oset_remove): Update.
28328         * lib/gl_list.c (gl_oset_remove): Update.
28329         Reported by Eric Blake.
28330
28331 2009-09-28  Eric Blake  <ebb9@byu.net>
28332
28333         doc: mention yet more cygwin 1.7 status
28334         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
28335         cygwin.
28336         * doc/glibc-functions/execvpe.texi (execvpe): New file.
28337         * doc/gnulib.texi (Glibc unistd.h): Mention it.
28338
28339         argp: fix test failure
28340         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
28341         that are not upper-case.  Pass correct range to tolower.
28342
28343 2009-09-27  Jim Meyering  <meyering@redhat.com>
28344
28345         test-yesno: work around sparc-dash here-document infelicity
28346         Without this change, the literal \177 byte in a here document
28347         would make dash 0.5.5.1-3 access uninitialized memory.
28348         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
28349         Instead, use a marker, "@", and filter through tr to create the desired
28350         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
28351
28352 2009-09-27  Bruno Haible  <bruno@clisp.org>
28353
28354         Disable untested support for new flavours of ACLs on AIX.
28355         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
28356         progress.
28357         * lib/set-mode-acl.c (qset_acl): Likewise.
28358
28359 2008-12-07  Bruno Haible  <bruno@clisp.org>
28360
28361         Add support for new flavours of ACLs on AIX. (Untested.)
28362         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
28363         (file_has_acl): Add support for newer AIX.
28364         * lib/set-mode-acl.c (qset_acl): Likewise.
28365         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
28366         Rainer Tammer <tammer@tammer.net>.
28367
28368 2009-09-26  Eric Blake  <ebb9@byu.net>
28369
28370         argp: fix compilation of getopt
28371         * lib/getopt.in.h (includes): Use different guard than glibc.
28372         Reported by Sergey Poznyakoff.
28373
28374         doc: mention more cygwin 1.7 status
28375         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
28376         bug.
28377         * doc/posix-functions/execl.texi (execl): Likewise.
28378         * doc/posix-functions/execle.texi (execle): Likewise.
28379         * doc/posix-functions/execlp.texi (execlp): Likewise.
28380         * doc/posix-functions/execv.texi (execv): Likewise.
28381         * doc/posix-functions/execve.texi (execve): Likewise.
28382         * doc/posix-functions/execvp.texi (execvp): Likewise.
28383         * doc/glibc-functions/canonicalize_file_name.texi
28384         (canonicalize_file_name): Cygwin 1.7 now provides this.
28385         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
28386         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
28387         on AT_SYMLINK_NOFOLLOW.
28388
28389 2009-09-24  Eric Blake  <ebb9@byu.net>
28390
28391         test-linkat: make test more robust
28392         * tests/test-linkat.c (main): Avoid collision with EEXIST.
28393
28394         getopt: fix inclusion guards for cygwin
28395         * modules/getopt-posix (Depends-on): Add include-next.
28396         (Makefile.am): Substitute more items in replacement header.
28397         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
28398         <getopt.h>.
28399         * lib/getopt.in.h (includes): Use split inclusion guard, and
28400         prefer <getopt.h> over include <unistd.h> when one is present.
28401         (option): Also override name of 'struct option'.
28402
28403         same-inode: revert prior change; it is not yet ready
28404         * NEWS: Undo mention of this change.
28405         * lib/same-inode.h (same-inode.h): Undo tri-state change.
28406         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
28407         * lib/cycle-check.c (cycle_check): Likewise.
28408         * lib/same.c (same_name): Likewise.
28409         * lib/at-func2.c (at_func2): Likewise.
28410
28411 2009-09-23  Eric Blake  <ebb9@byu.net>
28412
28413         linkat: new module
28414         * modules/linkat: New file.
28415         * lib/at-func2.c (at_func2): Likewise.
28416         * lib/linkat.c (linkat): Likewise.
28417         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
28418         * lib/openat-priv.h (at_func2): Add declaration.
28419         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
28420         * modules/unistd (Makefile.am): Substitute them.
28421         * lib/unistd.in.h (linkat): Declare it.
28422         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
28423         * doc/posix-functions/linkat.texi (linkat): Likewise.
28424         * doc/posix-functions/link.texi (link): Tweak wording.
28425         * tests/test-link.c (main): Move guts...
28426         * tests/test-link.h (test_link): ...into new file.
28427         * modules/linkat-tests: New test.
28428         * tests/test-linkat.c: Likewise.
28429         * modules/link-tests (Files): Ship new file.
28430         (Depends-on): Add stdbool.
28431
28432         dirname: add library-safe mdir_name
28433         * lib/dirname.h (mdir_name): New prototype.
28434         * lib/dirname.c (dir_name): Move guts...
28435         (mdir_name): ...to new function that avoids xalloc_die.
28436
28437         fchdir: another mingw fix
28438         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
28439         * lib/fchdir.c (get_name): New helper method; skips canonicalize
28440         on mingw (where it has not yet been ported), and make it optional
28441         elsewhere.
28442         (_gl_register_fd): Use it.
28443
28444         same-inode: make SAME_INODE tri-state, to port to mingw
28445         * NEWS: Mention this change.
28446         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
28447         st_ino always being 0.
28448         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
28449         * lib/cycle-check.c (cycle_check): Likewise.
28450         * lib/same.c (same_name): Likewise.
28451
28452         lstat: avoid mingw compilation error
28453         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
28454         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
28455         lstat ourselves.
28456         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
28457         was adequate.
28458         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
28459         the checks for lstat.
28460         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
28461
28462         link: fix test failure on Solaris 9
28463         * lib/link.c (rpl_link): Don't assume link will catch bogus
28464         trailing slash on source.
28465
28466         test-symlinkat: enhance test
28467         * tests/test-readlink.c (main): Move guts...
28468         * tests/test-readlink.h (test_readlink): ...into new file.
28469         * tests/test-symlink.c (main): Move guts...
28470         * tests/test-symlink.h (test_symlink): ...into new file.
28471         * tests/test-symlinkat.c (main): Use new files for further
28472         coverage.
28473         (do_symlink, do_readlink): New helper functions.
28474         * modules/symlink-tests (Files): Ship new file.
28475         (Depends-on): Add stdbool.
28476         * modules/readlink-tests (Files): Ship new file.
28477         (Depends-on): Add stdbool.
28478         * modules/symlinkat-tests (Files): Use new files.
28479
28480 2009-09-23  Eric Blake  <ebb9@byu.net>
28481
28482         readlink: document portability issue with symlink length
28483         * doc/posix-functions/lstat.texi (lstat): Mention that some file
28484         systems have bogus st_size on symlinks, and mention the
28485         areadlink-with-size module.
28486         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
28487         * doc/posix-functions/readlink.texi (readlink): Mention the
28488         areadlink module, and ERANGE failure.
28489         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
28490         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
28491
28492         readlink: fix Solaris 9 bug with trailing slash
28493         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
28494         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
28495         * doc/posix-functions/readlink.texi (readlink): Document this.
28496         * modules/readlink-tests: New test.
28497         * tests/test-readlink.c: Likewise.
28498
28499         readlink: fix cygwin 1.5.x bug with return type
28500         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
28501         * lib/unistd.in.h (readlink): Use ssize_t.
28502         * lib/readlink.c (readlink): Likewise.
28503         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
28504         * modules/unistd (Makefile.am): Substitute it.
28505         * lib/unistd.in.h (readlink): Declare replacement.
28506         * doc/posix-functions/readlink.texi (readlink): Document this.
28507
28508         symlink: use throughout gnulib
28509         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
28510         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
28511         symlink is not used.
28512         * modules/symlinkat (Depends-on): Add symlink.
28513         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
28514         * modules/canonicalize-tests (Depends-on): Likewise.
28515         * modules/lstat-tests (Depends-on): Likewise.
28516         * modules/openat-tests (Depends-on): Likewise.
28517         * modules/remove-tests (Depends-on): Likewise.
28518         * modules/rmdir-tests (Depends-on): Likewise.
28519         * modules/unlink-tests (Depends-on): Likewise.
28520         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
28521         * tests/test-canonicalize.c (symlink): Likewise.
28522         * tests/test-fstatat.c (symlink): Likewise.
28523         * tests/test-lstat.c (symlink): Likewise.
28524         * tests/test-remove.c (symlink): Likewise.
28525         * tests/test-rmdir.c (symlink): Likewise.
28526         * tests/test-unlink.c (symlink): Likewise.
28527         * tests/test-unlinkat.c (symlink): Likewise.
28528
28529         symlink: new module, for Solaris 9 bug
28530         * modules/symlink: New file.
28531         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
28532         * lib/symlink.c: Likewise.
28533         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
28534         * modules/unistd (Makefile.am): Substitute them.
28535         * lib/unistd.in.h (symlink): Declare replacement.
28536         * MODULES.html.sh (File system functions): Mention it.
28537         * doc/posix-functions/symlink.texi (symlink): Likewise.
28538         * modules/symlink-tests: New test.
28539         * tests/test-symlink.c: Likewise.
28540
28541 2009-09-23  Bruno Haible  <bruno@clisp.org>
28542
28543         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
28544         when needed.
28545         Test case: gnulib-tool --import --with-tests atexit inttypes.
28546         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
28547
28548 2009-09-23  Bruno Haible  <bruno@clisp.org>
28549
28550         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
28551         subcommand, not in a subshell.
28552
28553 2009-09-22  Eric Blake  <ebb9@byu.net>
28554
28555         unistd: sort replacement declarations
28556         * lib/unistd.in.h: Sort declarations.
28557
28558         open, openat: minor optimization
28559         * lib/open.c (open): If open succeeded, len is non-zero.
28560         * lib/openat.c (rpl_openat): Likewise.
28561
28562         link-follow: ensure correct result
28563         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
28564         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
28565         distinguish between possible failures.
28566
28567 2009-09-21  Eric Blake  <ebb9@byu.net>
28568
28569         fts: avoid compiler warning
28570         * lib/fts.c (dirent_inode_sort_may_be_useful)
28571         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
28572
28573 2009-09-19  Bruno Haible  <bruno@clisp.org>
28574
28575         * lib/progreloc.c (canonicalize_file_name): New declaration.
28576
28577 2009-09-19  Eric Blake  <ebb9@byu.net>
28578
28579         link: fix quoting
28580         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
28581
28582         openat: fix openat bugs on Solaris 9
28583         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
28584         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
28585         * modules/openat (Depends-on): Add open.
28586         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
28587         * modules/fcntl-h (Makefile.am): Substitute it.
28588         * lib/fcntl.in.h (openat): Declare replacement.
28589         * doc/posix-functions/openat.texi (openat): Document this.
28590
28591         openat: move fstatat and unlinkat into correct files
28592         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
28593         compiled.
28594         * lib/openat.c (fstatat, unlinkat): Move...
28595         * lib/fstatat.c (fstatat): ...into correct files.
28596         * lib/unlinkat.c (unlinkat): Likewise.
28597
28598         openat: fix unlinkat bugs on Solaris 9
28599         * lib/unlinkat.c (unlinkat): New file.
28600         * modules/openat (Depends-on): Add unlink.
28601         (Files): Distribute it.
28602         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
28603         trailing slash behavior is broken.
28604         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
28605         * modules/unistd (Makefile.am): Substitute it.
28606         * lib/unistd.in.h (unlinkat): Declare replacement.
28607         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
28608
28609         openat: fix fstatat bugs on Solaris 9
28610         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
28611         stat.
28612         * doc/posix-functions/fstatat.texi (fstatat): Document this.
28613
28614         test-unlinkat: enhance test, to expose Solaris 9 bug
28615         * tests/test-unlink.c (main): Factor guts...
28616         * tests/test-unlink.h (test_rmdir_func): ...into new file.
28617         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
28618         * tests/test-rmdir.c (main): Adjust caller.
28619         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
28620         (unlinker): New helper function.
28621         (rmdirat): Enhance check.
28622         * modules/rmdir-tests (Depends-on): Add stdbool.
28623         * modules/unlink-tests (Depends-on): Likewise.
28624         (Files): Add test-unlink.h.
28625         * modules/openat-tests (Files): Likewise.
28626         (Depends-on): Add unlinkdir.
28627
28628         test-fstatat: new test, to expose Solaris 9 bugs
28629         * tests/test-stat.c (main): Factor guts...
28630         * tests/test-stat.h (test_stat_func): ...into new file.
28631         * tests/test-lstat.c (main): Factor guts...
28632         * tests/test-lstat.h (test_lstat_func): ...into new file.
28633         * tests/test-fstatat.c: New file.
28634         * modules/stat-tests (Files): Add test-stat.h.
28635         * modules/lstat-tests (Files): Add test-lstat.h.
28636         (Depends-on): Add stdbool.
28637         * modules/openat-tests (Depends-on): Add pathmax.
28638         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
28639         (Makefile.am): Run new test.
28640
28641         remove: new module, for mingw and Solaris 9 bugs
28642         * modules/remove: New file.
28643         * lib/remove.c: Likewise.
28644         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
28645         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
28646         * modules/stdio (Makefile.am): Use them.
28647         * lib/stdio.in.h (remove): Declare replacement.
28648         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
28649         * doc/posix-functions/remove.texi (remove): Likewise.
28650         * modules/remove-tests: New test.
28651         * tests/test-remove.c: Likewise.
28652
28653         unlink: new module, for Solaris 9 bug
28654         * modules/unlink: New file.
28655         * lib/unlink.c: Likewise.
28656         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
28657         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
28658         * modules/unistd (Makefile.am): Use them.
28659         * lib/unistd.in.h (stat): Declare replacement.
28660         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
28661         * doc/posix-functions/unlink.texi (unlink): Likewise.
28662         * modules/unlink-tests: New test.
28663         * tests/test-unlink.c: Likewise.
28664
28665         lstat: fix Solaris 9 bug
28666         * lib/lstat.c (lstat): Also check for trailing slash on
28667         non-symlink, non-directories.  Use stat module to simplify logic.
28668         * doc/posix-functions/lstat.texi (lstat): Document it.
28669         * modules/lstat-tests (Depends-on): Add errno, same-inode.
28670         (configure.ac): Check for symlink.
28671         * tests/test-lstat.c (main): Add more tests.
28672
28673         stat: add as dependency to other modules
28674         * modules/chown (Depends-on): Add stat.
28675         * modules/euidaccess (Depends-on): Likewise.
28676         * modules/fchdir (Depends-on): Likewise.
28677         * modules/isdir (Depends-on): Likewise.
28678         * modules/link (Depends-on): Likewise.
28679         * modules/lstat (Depends-on): Likewise.
28680         * modules/mkdir-p (Depends-on): Likewise.
28681         * modules/modechange (Depends-on): Likewise.
28682         * modules/open (Depends-on): Likewise.
28683         * modules/readlink (Depends-on): Likewise.
28684         * modules/same (Depends-on): Likewise.
28685
28686         stat: fix Solaris 9 bug
28687         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
28688         slash.
28689         * lib/stat.c (rpl_stat): Work around it.
28690         * doc/posix-functions/stat.texi (stat): Update documentation.
28691
28692         stat: new module, for mingw bug
28693         * modules/stat: New file.
28694         * lib/stat.c: Likewise.
28695         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
28696         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
28697         * modules/sys_stat (Makefile.am): Use them.
28698         * lib/sys_stat.in.h (stat): Declare replacement.
28699         * lib/openat.c (fstatat): Deal with lstat and stat being function
28700         macros.
28701         * modules/openat (Depends-on): Add inline.
28702         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
28703         * doc/posix-functions/stat.texi (stat): Likewise.
28704         * modules/stat-tests: New test.
28705         * tests/test-stat.c: Likewise.
28706
28707 2009-09-19  Jim Meyering  <meyering@redhat.com>
28708
28709         syntax-check: detect unnecessary inclusion of canonicalize.h
28710         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
28711
28712 2009-09-19  Eric Blake  <ebb9@byu.net>
28713
28714         canonicalize-lgpl: adjust clients to use correct header
28715         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
28716         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
28717         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
28718         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
28719         * lib/progreloc.c (includes): Likewise.
28720
28721 2009-09-19  Jim Meyering  <meyering@redhat.com>
28722
28723         test-posixtm.c: correct a comment
28724         * tests/test-posixtm.c: Correct first-line comment.
28725         Spotted by Eric Blake.
28726
28727 2009-09-16  Jim Meyering  <meyering@redhat.com>
28728
28729         posixtm-tests: make T const-correct; add a test case
28730         * tests/test-posixtm.c (T): Declare const.
28731         Add a test for -(2^31+1).
28732         Remove useless can-succeed-only-in-2002 test.
28733
28734         posixtm-tests: adjust the sole failing test
28735         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
28736         expected output matches what mktime now produces.  Cross-checked via
28737         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
28738
28739         posixtm: move #ifdef'd tests into a new module
28740         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
28741         * tests/test-posixtm.c: ... this new file.
28742         * modules/posixtm-tests: New module.
28743
28744 2009-09-19  Eric Blake  <ebb9@byu.net>
28745
28746         openat: simplify use of at-func.c
28747         * lib/at-func.c (includes): Include prerequisites here, to
28748         simplify requirements on client files.
28749         * lib/openat-priv.h: Add double-inclusion guard.
28750         * lib/faccessat.c (includes): Simplify.
28751         * lib/fchmodat.c (includes): Likewise.
28752         * lib/fchownat.c (includes): Likewise.
28753         * lib/mkdirat.c (includes): Likewise.
28754         * lib/mkfifoat.c (includes): Likewise.
28755         * lib/symlinkat.c (includes): Likewise.
28756
28757         openat: allow return of fd 0
28758         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
28759         * modules/save-cwd (Depends-on): Replace fcntl-safer with
28760         unistd-safer.
28761         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
28762         <fcntl.h>; this module does not leak fds.
28763         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
28764         must be allowed to return 0, leaving openat_safer to add the
28765         safety.
28766         (openat_permissive): Avoid writing to just-opened fd 2 if
28767         restoring the current directory fails.
28768         * lib/openat-die.c (openat_restore_fail): Add comment.
28769         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
28770         (save_cwd): Guarantee safe fd, but without use of open_safer.
28771         * tests/test-openat.c: New test.
28772         * modules/openat-tests (Files, Makefile.am): Distribute and build
28773         new file.
28774
28775         relocatable-prog-wrapper: fix build
28776         * modules/relocatable-prog-wrapper (Files): Update name of
28777         canonicalize m4 file, broken on 2009-09-17.
28778         Reported by emad hajjar <aleppos@hotmail.com>.
28779
28780 2009-09-19  Bruno Haible  <bruno@clisp.org>
28781
28782         * lib/safe-alloc.h: Use the standard header with GPL copyright.
28783         * lib/safe-alloc.c: Likewise.
28784         Reported by Ian Beckwith <ianb@erislabs.net>.
28785
28786 2009-09-18  Bruno Haible  <bruno@clisp.org>
28787
28788         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
28789         Reported by <erobles@sensacd.com.mx>.
28790
28791 2009-09-17  Eric Blake  <ebb9@byu.net>
28792
28793         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
28794         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
28795         slashes when checking if last component is missing.
28796         * tests/test-canonicalize.c (main): Test this.
28797
28798         canonicalize, canonicalize-lgpl: honor // if distinct from /
28799         * modules/canonicalize (Files): Add double-slash-root.m4.
28800         * modules/canonicalize-lgpl (Files): Likewise.
28801         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
28802         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
28803         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
28804         fallback definition.
28805         (canonicalize_filename_mode): Use it to protect //.
28806         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
28807         (__realpath): Likewise.
28808         * tests/test-canonicalize.c (main): Test this.
28809         * tests/test-canonicalize-lgpl.c (main): Likewise.
28810         * modules/canonicalize-tests (Depends-on): Add same-inode.
28811         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
28812
28813         canonicalize-lgpl: fix glibc bug with trailing slash
28814         * m4/canonicalize-lgpl.m4: Move contents...
28815         * m4/canonicalize.m4: ...here.
28816         (gl_CANONICALIZE_LGPL): Factor realpath check...
28817         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
28818         glibc 2.3.5 bug, fixed 2005-04-27.
28819         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
28820         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
28821         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
28822         * modules/canonicalize-lgpl (Files): Manage file rename.
28823         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
28824         * modules/stdlib (Makefile.am): Substitute witness.
28825         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
28826         is needed.
28827         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
28828         replacement is required.
28829         * lib/canonicalize.c (canonicalize_file_name): Likewise.
28830         * doc/glibc-functions/canonicalize_file_name.texi
28831         (canonicalize_file_name): Document this.
28832         * doc/posix-functions/realpath.texi (realpath): Likewise.
28833
28834         canonicalize-lgpl: reject non-directory with trailing slash
28835         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
28836         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
28837         catches failures in glibc 2.3.5.
28838         * tests/test-canonicalize.c (main): Likewise.
28839
28840         canonicalize-lgpl: use native realpath if it works
28841         * lib/canonicalize-lgpl.c (realpath): Guard with
28842         FUNC_REALPATH_WORKS.
28843         * lib/stdlib.in.h (realpath): Make declaration optional based on
28844         HAVE_REALPATH.
28845         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
28846         native realpath works.
28847         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
28848         * modules/stdlib (Makefile.am): Substitute witness.
28849
28850         canonicalize, canonicalize-lgpl: use <stdlib.h>
28851         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
28852         (Include): Mention <stdlib.h>.
28853         (configure.ac): Mention functions we provide.
28854         * modules/canonicalize (configure.ac): Likewise.
28855         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
28856         realpath if canonicalize_file_name is missing.
28857         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
28858         * modules/stdlib (Makefile.am): Substitute witnesses.
28859         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
28860         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
28861         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
28862         * NEWS: Document this.
28863         * doc/glibc-functions/canonicalize_file_name.texi
28864         (canonicalize_file_name): Likewise.
28865         * doc/posix-functions/realpath.texi (realpath): Likewise.
28866         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
28867
28868         test-canonicalize: consolidate into single C program
28869         * tests/test-canonicalize.sh: Delete; move setup into...
28870         * tests/test-canonicalize.c (main): ...the program, making it
28871         easier to run in debugger.  Add some tests.
28872         * modules/canonicalize-tests (Files): Remove unused file.
28873         (Depends-on): Add progname.
28874         (configure.ac, Makefile.am): Simplify.
28875
28876         test-canonicalize-lgpl: consolidate into single C program
28877         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
28878         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
28879         easier to run in debugger.  Add some tests.
28880         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
28881         (configure.ac, Makefile.am): Simplify.
28882
28883         canonicalize: avoid resolvepath
28884         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
28885         unnecessary checks.
28886         * lib/canonicalize.c (includes): Simplify.
28887         (canonicalize_file_name): Drop resolvepath implementation.
28888         * modules/canonicalize (Depends-on): Drop filenamecat.
28889
28890         canonicalize: don't lose errno
28891         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
28892         over calls to free.
28893
28894         canonicalize: simplify errno handling
28895         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
28896         assignment.
28897
28898         canonicalize, canonicalize-lgpl: update module dependencies
28899         * modules/canonicalize (Depends-on): Add extensions, lstat,
28900         pathmax, stdlib.
28901         (Files): Drop pathmax.h.
28902         (configure.ac): Adjust macro name.
28903         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
28904         lstat, stdlib, sys_stat.
28905         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
28906         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
28907         extensions.
28908         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
28909         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
28910         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
28911         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
28912         declaration, if available.
28913         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
28914         we can rely on the readlink module.
28915         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
28916         (includes): Use <unistd.h> unconditionally.
28917
28918 2009-09-17  Eric Blake  <ebb9@byu.net>
28919
28920         maint: make Include sections of modules consistent
28921         * modules/alloca: Use only header name; no need to list #include.
28922         * modules/alloca-opt: Likewise.
28923         * modules/arpa_inet: Likewise.
28924         * modules/canon-host: Likewise.
28925         * modules/configmake: Likewise.
28926         * modules/dirent: Likewise.
28927         * modules/eealloc: Likewise.
28928         * modules/environ: Likewise.
28929         * modules/fchdir: Likewise.
28930         * modules/fcntl: Likewise.
28931         * modules/fcntl-h: Likewise.
28932         * modules/gethrxtime: Likewise.
28933         * modules/gettime: Likewise.
28934         * modules/ignore-value: Likewise.
28935         * modules/inet_ntop: Likewise.
28936         * modules/inet_pton: Likewise.
28937         * modules/inttypes: Likewise.
28938         * modules/isnand-nolibm: Likewise.
28939         * modules/isnanf-nolibm: Likewise.
28940         * modules/mbchar: Likewise.
28941         * modules/mbfile: Likewise.
28942         * modules/mbiter: Likewise.
28943         * modules/mbuiter: Likewise.
28944         * modules/netdb: Likewise.
28945         * modules/netinet_in: Likewise.
28946         * modules/nproc: Likewise.
28947         * modules/pagealign_alloc: Likewise.
28948         * modules/poll: Likewise.
28949         * modules/printf-frexp: Likewise.
28950         * modules/pthread: Likewise.
28951         * modules/putenv: Likewise.
28952         * modules/random_r: Likewise.
28953         * modules/relocatable-prog: Likewise.
28954         * modules/search: Likewise.
28955         * modules/select: Likewise.
28956         * modules/selinux-h: Likewise.
28957         * modules/settime: Likewise.
28958         * modules/signal: Likewise.
28959         * modules/size_max: Likewise.
28960         * modules/socklen: Likewise.
28961         * modules/ssize_t: Likewise.
28962         * modules/stdarg: Likewise.
28963         * modules/stdbool: Likewise.
28964         * modules/stddef: Likewise.
28965         * modules/stdint: Likewise.
28966         * modules/stdio: Likewise.
28967         * modules/stdlib: Likewise.
28968         * modules/string: Likewise.
28969         * modules/strings: Likewise.
28970         * modules/sys_file: Likewise.
28971         * modules/sys_ioctl: Likewise.
28972         * modules/sys_select: Likewise.
28973         * modules/sys_socket: Likewise.
28974         * modules/sys_stat: Likewise.
28975         * modules/sys_time: Likewise.
28976         * modules/sys_times: Likewise.
28977         * modules/sys_utsname: Likewise.
28978         * modules/sys_wait: Likewise.
28979         * modules/sysexits: Likewise.
28980         * modules/time: Likewise.
28981         * modules/times: Likewise.
28982         * modules/tmpfile: Likewise.
28983         * modules/trim: Likewise.
28984         * modules/unistd: Likewise.
28985         * modules/wchar: Likewise.
28986         * modules/wctype: Likewise.
28987
28988 2009-09-17  Bruno Haible  <bruno@clisp.org>
28989
28990         Make getdate.y compile on QNX and NetBSD 5 / i386.
28991         * m4/getdate.m4 (gl_GETDATE): Conditionally define
28992         TIME_T_FITS_IN_LONG_INT.
28993         * lib/getdate.y (long_time_t): New type.
28994         (relative_time): Change type of 'seconds' field to long_time_t.
28995         (get_date): Update types of local variables. Check against overflow
28996         during conversion from long_time_t to time_t.
28997         Reported by Matt Kraai <kraai@ftbfs.org>
28998         and Hasso Tepper <hasso@netbsd.org>.
28999
29000 2009-09-17  Bruno Haible  <bruno@clisp.org>
29001
29002         * modules/COPYING: Update copyright years.
29003         * modules/README: Likeiwse.
29004         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
29005         Reported by Ian Beckwith <ianb@erislabs.net>.
29006
29007 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
29008
29009         * users.txt: Update references for gnuit package.
29010
29011 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
29012
29013         * m4/getdelim.m4: Fix typo in copyright line.
29014
29015 2009-09-17  Bruno Haible  <bruno@clisp.org>
29016
29017         * lib/atoll.c: Use the standard header with GPL copyright.
29018         * lib/argz.in.h: Likewise.
29019         * lib/glob.c: Likewise.
29020         * lib/glob-libc.h: Likewise.
29021         * lib/random_r.c: Likewise.
29022         * lib/siglist.h: Likewise.
29023         * lib/strsignal.c: Likewise.
29024         Reported by Ian Beckwith <ianb@erislabs.net>.
29025
29026 2009-09-17  Eric Blake  <ebb9@byu.net>
29027
29028         rmdir: ensure correct dependency order
29029         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
29030
29031 2009-09-17  Bruno Haible  <bruno@clisp.org>
29032
29033         Disable assertion that fails on NetBSD 5 / i386.
29034         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
29035         Reported by Sam Steingold <sds@gnu.org>
29036         and Hasso Tepper <hasso@netbsd.org>.
29037
29038 2009-09-16  Eric Blake  <ebb9@byu.net>
29039
29040         unlinkdir: port to mingw
29041         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
29042         on which no one can unlink a directory.
29043
29044         stdlib: sort witness names
29045         * modules/stdlib (Makefile.am): Sort replacements.
29046         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
29047         * lib/stdlib.in.h: Likewise.
29048
29049         parse-duration-tests: avoid link failure
29050         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
29051         LIBINTL.
29052         Reported by Tom G. Christensen.
29053
29054         openat-tests: ensure unlinkat behaves like rmdir
29055         * tests/test-rmdir.c (main): Factor guts...
29056         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
29057         * modules/rmdir-tests (Files): Ship new file.
29058         * modules/openat-tests: New test.
29059         * tests/test-unlinkat.c: Likewise.
29060
29061         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
29062         * modules/rmdir-errno (Status, Notice): Now obsolete.
29063
29064         rmdir: work around cygwin 1.5.x and mingw bugs
29065         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
29066         * lib/rmdir.c (rmdir): Work around it.
29067         * modules/rmdir (Status, Notice): No longer obsolete.
29068         (Files): Add dos.m4.
29069         (Depends-on): Add unistd.
29070         (configure.ac): Set witnesses.
29071         (License): Relax to LGPLv2+.
29072         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
29073         * modules/unistd (Makefile.am): Substitute witnesses.
29074         * lib/unistd.in.h (rmdir): Declare replacement.
29075         * doc/posix-functions/rmdir.texi (rmdir): Document this.
29076         * modules/rmdir-tests: New tests.
29077         * tests/test-rmdir.c: Likewise.
29078
29079 2009-09-15  Eric Blake  <ebb9@byu.net>
29080
29081         fchdir: improve use of replacement functions
29082         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
29083         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
29084         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
29085         REPLACE_CLOSEDIR.
29086         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
29087         * modules/sys_stat (Makefile.am): Substitute correct witness.
29088         * modules/dirent (Makefile.am): Likewise.
29089         * modules/unistd (Makefile.am): Likewise.
29090         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
29091         * lib/unistd.in.h (dup): Likewise.
29092         * lib/sys_stat.in.h (fstat): Likewise.
29093
29094         maint: ignore gnulib-tool temp files
29095         * .gitignore: Ignore files created during gnulib-tool --test.
29096
29097 2009-09-13  Jim Meyering  <meyering@redhat.com>
29098
29099         posixtm: don't reject a time that specify "60" as the number of seconds
29100         * lib/posixtm.c (posixtime): The code to reject invalid dates
29101         would also reject a time specified with the .60 suffix.
29102         But POSIX allows that, in order to accommodate leap seconds.
29103         So don't reject it.
29104         (main): Adjust tests accordingly.
29105         * modules/posixtm (Depends-on): Add stpcpy.
29106
29107 2009-09-11  Jim Meyering  <meyering@redhat.com>
29108
29109         announce-gen: include [$release_type] in emitted Subject:
29110         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
29111         e.g., [stable] in the emitted Subject: line.
29112
29113 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29114
29115         Remove obsolete macros from several modules.
29116         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
29117         obsolete Autoconf macros with their modern counterparts.
29118         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
29119         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
29120         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
29121         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
29122         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
29123         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
29124         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
29125         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
29126         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
29127         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
29128         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
29129         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
29130         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
29131         * m4/sockets.m4 (gl_SOCKETS): Likewise.
29132         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
29133         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
29134         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
29135         * m4/time_r.m4 (gl_TIME_R): Likewise.
29136         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
29137         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
29138         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
29139
29140         Fix copyright header in build-aux scripts.
29141         * build-aux/git-version-gen: Fix copyright header to match GPLv3
29142         recommendation.
29143         * build-aux/ncftpput-ftp: Likewise.
29144         * build-aux/update-copyright: Likewise.
29145
29146 2009-09-09  Eric Blake  <ebb9@byu.net>
29147
29148         test-link: allow Linux choice of errno
29149         * tests/test-link.c (main): Relax test for alternate error.
29150
29151         strndup: fix improper m4 caching
29152         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
29153         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
29154         (gl_PREREQ_STRNDUP): Delete.
29155         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
29156         * modules/string (Makefile.am): Substitute it.
29157         * lib/string.in.h (strndup): Modernize prototype.
29158
29159         getcwd: port to mingw
29160         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
29161         different from the POSIX assumptions made throughout the getcwd
29162         module; fortunately, the mingw getcwd does not need replacement.
29163         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
29164         * modules/getcwd-tests: New test.
29165         * tests/test-getcwd.c: Likewise.
29166
29167         link: fix platform bugs
29168         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
29169         * lib/link.c (link): Work around them.  Fix related mingw bug.
29170         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
29171         * modules/unistd (Makefile.am): Substitute it.
29172         * lib/unistd.in.h (link): Declare replacement.
29173         * doc/posix-functions/link.texi (link): Document this.
29174         * modules/link (Depends-on): Add strdup-posix, sys_stat.
29175
29176         test-link: consolidate into single C program, test more cases
29177         * tests/test-link.sh: Delete.
29178         * tests/test-link.c: Test more error conditions.  Exposes bugs on
29179         at least Cygwin and Solaris.
29180         * modules/link-tests (Files): Remove unused file.
29181         (Depends-on): Add errno, sys_stat.
29182         (Makefile.am): Simplify.
29183
29184 2009-09-08  Bruno Haible  <bruno@clisp.org>
29185
29186         Work around towlower, towupper bug on mingw.
29187         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
29188         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
29189         * doc/posix-functions/towlower.texi: Mention the mingw bug.
29190         * doc/posix-functions/towupper.texi: Likewise.
29191         Reported by Eric Blake.
29192
29193 2009-09-08  Jim Meyering  <meyering@redhat.com>
29194
29195         build: don't try to run autoheader if we don't use it
29196         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
29197         is not used in configure.ac.
29198
29199 2009-09-08  Eric Blake  <ebb9@byu.net>
29200
29201         euidaccess: fix compilation error
29202         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
29203
29204         rawmemchr: relax license
29205         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
29206         okay.
29207         Reported by Jim Meyering.
29208
29209         mkfifoat: new module
29210         * modules/mkfifoat: New file.
29211         * lib/mkfifoat.c: Likewise.
29212         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
29213         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
29214         * modules/sys_stat (Makefile.am): Use them.
29215         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
29216         * MODULES.html.sh (File system functions): Mention module.
29217         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
29218         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
29219         * modules/mkfifoat-tests: New test.
29220         * tests/test-mkfifoat.c: Likewise.
29221
29222         strchrnul: relax license
29223         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
29224         okay.
29225         Reported by Jim Meyering.
29226
29227 2009-09-08  Eric Blake  <ebb9@byu.net>
29228
29229         fstatat: fix compilation on Solaris
29230         * lib/fstatat.c (includes): Add fcntl.h.
29231         Reported by Pádraig Brady.
29232
29233 2009-09-07  Eric Blake  <ebb9@byu.net>
29234
29235         rename: modernize replacement
29236         * modules/rename (Depends-on): Add stdio.
29237         (configure.ac): Declare witness.
29238         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
29239         stdio take care of replacement.
29240         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
29241         * modules/stdio (Makefile.am): Substitute them.
29242         * lib/stdio.in.h (rename): Declare replacement.
29243         * lib/rename.c (includes): Allow cross-compilation to non-windows
29244         machines.
29245         * doc/posix-functions/rename.texi (rename): Improve
29246         documentation.
29247
29248         stdio: sort witness names
29249         * modules/stdio (Makefile.am): Sort replacements.
29250         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
29251         * lib/stdio.in.h: Likewise.
29252
29253         getcwd: minor cleanups
29254         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
29255         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
29256
29257         openat: provide more convenience names
29258         * modules/faccessat (configure.ac): Add C witness.
29259         * lib/unistd.in.h (readlinkat): Fix typo.
29260         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
29261         convenience wrappers.
29262         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
29263         wrappers in syntax checks.
29264
29265 2009-09-06  Eric Blake  <ebb9@byu.net>
29266
29267         doc: fix comments in recent patches
29268         * lib/faccessat.c: Mention correct function.
29269         * lib/fchmodat.c: Likewise.
29270         * lib/fchownat.c: Likewise.
29271         * lib/symlinkat.c: Likewise.
29272         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
29273         constants.
29274
29275         faccessat, symlinkat: continue cleanup of previous patch
29276         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
29277         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
29278         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
29279         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
29280         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
29281         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
29282         set.
29283
29284 2009-09-06  Bruno Haible  <bruno@clisp.org>
29285
29286         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
29287         (fstatat): Declare if GNULIB_FSTATAT is set.
29288         (mkdirat): Declare if GNULIB_MKDIRAT is set.
29289         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
29290         (unlinkat): Declare if GNULIB_UNLINKAT is set.
29291         * modules/fcntl-h (Files): Remove m4/openat.m4.
29292         * modules/sys_stat (Files): Remove m4/openat.m4.
29293         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
29294         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
29295         * modules/unistd (Files): Remove m4/openat.m4.
29296         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
29297         GNULIB_OPENAT.
29298         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
29299         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
29300         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
29301         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
29302         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
29303         gl_OPENAT_DEFAULTS.
29304         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
29305         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
29306         Don't require gl_OPENAT_DEFAULTS.
29307         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
29308         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
29309         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
29310         (gl_OPENAT_DEFAULTS): Remove macro.
29311
29312 2009-09-06  Bruno Haible  <bruno@clisp.org>
29313
29314         * modules/openat (configure.ac): Remove unneeded witness.
29315
29316 2009-09-06  Bruno Haible  <bruno@clisp.org>
29317
29318         Set errno to ENOSYS when a function is entirely unsupported.
29319         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
29320         EOPNOTSUPP.
29321         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
29322         * modules/chown (Depends-on): Remove errno.
29323
29324 2009-09-06  Bruno Haible  <bruno@clisp.org>
29325
29326         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
29327
29328 2009-09-06  Bruno Haible  <bruno@clisp.org>
29329
29330         * lib/sys_stat.in.h: Fix preprocessor command indentation.
29331
29332 2009-09-06  Ben Pfaff  <blp@gnu.org>
29333             Bruno Haible  <bruno@clisp.org>
29334
29335         Work around a glibc bug in strtok_r.
29336         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
29337         Undefine if UNDEFINE_STRTOK_R is set.
29338         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
29339         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
29340         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
29341         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
29342         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
29343         UNDEFINE_STRTOK_R.
29344         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
29345
29346 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
29347
29348         exclude: minor fix
29349         * lib/exclude.c: Include wctype.h
29350
29351 2009-09-06  Akim Demaille  <demaille@gostai.com>
29352
29353         bootstrap: improve error message
29354         * build-aux/bootstrap (find_tool): Upon failure, report the list
29355         of candidates.
29356         Honor the initial value of the envvar.
29357
29358 2009-09-05  Eric Blake  <ebb9@byu.net>
29359
29360         symlinkat: new module
29361         * modules/symlinkat: New file.
29362         * lib/symlinkat.c: Likewise.
29363         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
29364         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
29365         * modules/unistd (Makefile.am): Use them.
29366         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
29367         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
29368         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
29369         * MODULES.html.sh (File system functions): Mention module.
29370         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
29371         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
29372         * modules/symlinkat-tests: New test.
29373         * tests/test-symlinkat.c: Likewise.
29374
29375         test-openat-safer: add more checks
29376         * tests/test-openat-safer.c (main): Check more code paths.
29377
29378 2009-09-05  Jim Meyering  <meyering@redhat.com>
29379
29380         syntax-check: detect unnecessary inclusion of openat.h
29381         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
29382
29383 2009-09-05  Bruno Haible  <bruno@clisp.org>
29384
29385         Support towlower, towupper.
29386         * doc/posix-functions/towlower.texi: Mention module wctype.
29387         * doc/posix-functions/towupper.texi: Likewise.
29388         * lib/wctype.in.h (towlower, towupper): New functions.
29389         * tests/test-wctype.c: Include stdio.h, stdlib.h.
29390         (ASSERT): New macro.
29391         (e): New variable.
29392         (main): Test also towlower, towupper. Test WEOF argument.
29393         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
29394
29395 2009-09-05  Bruno Haible  <bruno@clisp.org>
29396
29397         Fix conversion behaviour when the input is invalid.
29398         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
29399         mark occurring in first pass of indirect conversion.
29400         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
29401         input.
29402         Found by clang's static analyzer.
29403
29404 2009-09-05  Bruno Haible  <bruno@clisp.org>
29405
29406         * tests/test-striconveh.c (main): Test indirect conversion on platforms
29407         where direct conversion is possible.
29408
29409 2009-09-04  Eric Blake  <ebb9@byu.net>
29410
29411         openat: fail with ENOENT on empty name
29412         * lib/openat-proc.c (openat_proc_name): Special-case the empty
29413         buffer.
29414
29415         link-follow: fix logic bug in prior patch
29416         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
29417         reversed sense of yes and no in prior patch.  Avoid confusing
29418         compilation failure with desired semantics.
29419
29420         link-follow: accomodate mingw and cross-compilation
29421         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
29422         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
29423         cross-compilation results to -1, to make linkat easier to
29424         implement when cross-compiling.  Trivially support mingw.
29425         * modules/link-follow (configure.ac): Call new name.
29426         * NEWS: Mention this.
29427
29428 2009-09-03  Eric Blake  <ebb9@byu.net>
29429
29430         faccessat: compile replacement
29431         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
29432         needed.
29433
29434         fts: fix compilation error
29435         * lib/fts.c (includes): Re-add "openat.h", for
29436         openat_needs_fchdir.
29437
29438         faccessat: new module
29439         * modules/faccessat: New file.
29440         * lib/faccessat.c: Likewise.
29441         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
29442         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
29443         * modules/unistd (Makefile.am): Use it.
29444         * lib/unistd.in.h (faccessat): Declare it.
29445         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
29446         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
29447         * MODULES.html.sh (File system functions): Mention it.
29448         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
29449         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
29450
29451         euidaccess: prefer POSIX over non-standard implementation
29452         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
29453         * lib/euidaccess.c (euidaccess): Use it if available.
29454
29455         openat: make template easier to use
29456         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
29457         AT_FUNC_F2 to be undefined.
29458         (VALIDATE_FLAG): New macro; use it to reject bad flags.
29459         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
29460         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
29461         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
29462         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
29463         Likewise.
29464         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
29465         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
29466         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
29467         Likewise.
29468
29469         openat: declare in POSIX headers
29470         * NEWS: Mention this.
29471         * modules/openat (configure.ac): Declare witnesses.
29472         (Depends-on): Add fcntl-h, sys_stat, unistd.
29473         (Include): Mention correct headers.
29474         * modules/fcntl-h (Depends-on): Add link-warning.
29475         (Files): Add openat.m4.
29476         (Makefile.am): Substitute witnesses.
29477         * modules/sys_stat (Files, Makefile.am): Likewise.
29478         * modules/unistd (Files, Makefile.am): Likewise.
29479         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
29480         (gl_OPENAT_DEFAULTS): New macro.
29481         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
29482         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
29483         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
29484         (SYS_STAT_H): Remove unused variable.
29485         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
29486         * lib/fcntl--.h (includes): Remove unneeded header.
29487         * lib/openat-safer.c (includes): Likewise.
29488         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
29489         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
29490         appropriate headers.
29491         (__OPENAT_PREFIX): Delete.
29492         * lib/fcntl.in.h (openat): Provide declaration.
29493         (AT_FDCWD): Fix Solaris bug.
29494         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
29495         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
29496         * lib/fchmodat.c (includes):  Adjust to find declaration.
29497         * lib/fchownat.c (includes): Likewise.
29498         * lib/mkdirat.c (includes): Likewise.
29499         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
29500         still visible.
29501
29502 2009-09-02  Eric Blake  <ebb9@byu.net>
29503
29504         errno: use consistently
29505         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
29506         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
29507         * lib/canonicalize.c (ELOOP): Likewise.
29508         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
29509         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
29510         * lib/lchown.c (EOPNOTSUPP): Likewise.
29511         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
29512         * lib/savewd.c (ESTALE): Likewise.
29513         * lib/settime.c (ENOSYS): Likewise.
29514         * lib/utimens.c (ENOSYS): Likewise.
29515         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
29516         * lib/chdir-safer.c (ELOOP): Likewise.
29517         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
29518         * modules/c-stack (Depends-on): Add errno.
29519         * modules/canonicalize (Depends-on): Likewise.
29520         * modules/chdir-safer (Depends-on): Likewise.
29521         * modules/fdopendir (Depends-on): Likewise.
29522         * modules/inet_ntop (Depends-on): Likewise.
29523         * modules/inet_pton (Depends-on): Likewise.
29524         * modules/lchown (Depends-on): Likewise.
29525         * modules/openat (Depends-on): Likewise.
29526         * modules/savewd (Depends-on): Likewise.
29527         * modules/settime (Depends-on): Likewise.
29528         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
29529
29530         fts: avoid leaking fds
29531         * modules/fts (Depends-on): Add cloexec.
29532         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
29533         flag.
29534
29535         fts: make directory fds more robust
29536         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
29537         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
29538
29539         backupfile, chdir-long, fts, savedir: make safer
29540         * lib/backupfile.c (includes): Use "dirent--.h", since
29541         numbered_backup can write to stderr during readdir.
29542         * lib/savedir.c (includes): Likewise.
29543         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
29544         emulation can write to stderr on failure.
29545         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
29546         * lib/getcwd.c: Document why opendir_safer is unused.
29547         * lib/glob.c: Likewise.
29548         * lib/scandir.c: Likewise.
29549         * lib/openat-proc.c: Likewise, for open_safer.
29550         * modules/backupfile (Depends-on): Add dirent-safer.
29551         * modules/savedir (Depends-on): Likewise.
29552         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
29553         * modules/chdir-long (Depends-on): Add openat-safer.
29554
29555         openat-safer: new module
29556         * modules/openat-safer: New file.
29557         * lib/openat-safer.c: Likewise.
29558         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
29559         * lib/fcntl-safer.h (openat_safer): Declare.
29560         * lib/fcntl--.h (openat): Override.
29561         * MODULES.html.sh (File descriptor based I/O): Mention it.
29562         * lib/openat.h: Add double-inclusion guards.
29563         * lib/openat.c (includes): Only include "fcntl-safer.h", not
29564         "fcntl--.h", so we can implement openat.
29565         * modules/openat-safer-tests: New test.
29566         * tests/test-openat-safer.c: New file.
29567
29568         dirent-safer: new module
29569         * modules/dirent-safer: New file.
29570         * lib/dirent--.h: Likewise.
29571         * lib/dirent-safer.h: Likewise.
29572         * lib/opendir-safer.c: Likewise.
29573         * m4/dirent-safer.m4: Likewise.
29574         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
29575         * modules/dirent-safer-tests: New test.
29576         * tests/test-dirent-safer.c: New file.
29577         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
29578
29579         fdopendir: optimize on mingw
29580         * lib/unistd.in.h (_gl_directory_name): New prototype.
29581         * lib/fchdir.c (_gl_directory_name): Implement it.
29582         (fchdir): Use it to simplify implementation.
29583         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
29584         fchdir, when available, to avoid calling [f]chdir().
29585
29586         fdopendir: split into its own module
29587         * lib/openat.c (fdopendir): Move...
29588         * lib/fdopendir.c: ...into new file.
29589         * modules/fdopendir: New module.
29590         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
29591         * modules/openat (Depends-on): Add fdopendir.
29592         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
29593         fdopendir here.
29594         * modules/savedir (Depends-on): Only need fdopendir, not full
29595         openat.
29596         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
29597         * lib/openat.h (fdopendir): Drop prototype.
29598         * lib/dirent.in.h (fdopendir): Provide prototype.
29599         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
29600         * modules/dirent (Makefile.am): Substitute them.
29601         * MODULES.html.sh (File system functions): Mention it.
29602         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
29603         * modules/fdopendir-tests: New file.
29604         * tests/test-fdopendir.c: Likewise.
29605
29606         fchdir: use more consistent macro convention
29607         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
29608         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
29609         REPLACE_FCHDIR, rather than relying on config.h macros.
29610         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
29611         inside a single make-time REPLACE_FCHDIR block, rather than using
29612         the config.h FCHDIR_REPLACEMENT.
29613         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
29614         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
29615         Manage fstat replacement.
29616         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
29617         REPLACE_FCHDIR.
29618         * modules/sys_stat (Files): Add m4/unistd_h.m4.
29619         (Makefile.am): Substitute REPLACE_FCHDIR.
29620         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
29621         FCHDIR_REPLACEMENT.
29622         * lib/dup-safer.c (dup_safer): Likewise.
29623         * lib/dup2.c (rpl_dup2): Likewise.
29624         * lib/dup3.c (rpl_dup3): Likewise.
29625         * lib/open.c (rpl_open): Likewise.
29626
29627         fchdir: simplify error handling, and support dup3
29628         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
29629         stdbool, malloc-posix, realloc-posix.
29630         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
29631         (ensure_dirs_slot): Return false on allocation failure.
29632         (rpl_dup2): Delete.
29633         (_gl_register_dup): New function.
29634         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
29635         (_gl_register_fd): Close fd on allocation failure.
29636         * lib/fcntl.in.h (_gl_register_fd): Update signature.
29637         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
29638         prototype.
29639         (rpl_dup2_fchdir): Delete prototype.
29640         * lib/open.c (open): Update caller.
29641         * lib/dup2.c (dup2): Track fchdir metadata.
29642         * lib/dup3.c (dup3): Likewise.
29643         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
29644         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
29645
29646 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29647
29648         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
29649         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
29650         don't pass arguments to AC_OUTPUT.
29651
29652 2009-09-02  Bruno Haible  <bruno@clisp.org>
29653
29654         * modules/mkdtemp (License): Relicense under LGPLv2+.
29655         Reported by Paolo Bonzini.
29656
29657 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29658
29659         Replace uses of obsolete autoconf macros in Jim's modules.
29660         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
29661         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
29662         can evoke a warning from autoconf when run with -Wobsolete
29663         enabled.  They were declared obsolete for good reasons (see
29664         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
29665         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
29666         should not continue using the deprecated macros.
29667         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
29668         obsolete Autoconf macros with modern counterparts.
29669         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
29670         * m4/dos.m4 (gl_AC_DOS): Likewise.
29671         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
29672         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
29673         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
29674         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
29675         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
29676         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
29677         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
29678         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
29679         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
29680         Likewise.
29681         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
29682         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
29683         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
29684         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
29685         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
29686         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
29687
29688 2009-09-01  Eric Blake  <ebb9@byu.net>
29689
29690         fchdir: fix off-by-one bug in previous patch
29691         * lib/fchdir.c (rpl_fstat): Use correct bounds.
29692         (_gl_unregister_fd): Delete useless if.
29693
29694 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
29695
29696         maint.mk: sort the list of syntax-check rules
29697         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
29698         easier to get a sense of progress when the rules are run sequentially
29699         and take a long time.
29700
29701 2009-09-01  Simon Josefsson  <simon@josefsson.org>
29702
29703         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
29704         * modules/netinet_in: Likewise.
29705         * modules/sys_file: Likewise.
29706         * modules/sys_ioctl: Likewise.
29707         * modules/sys_select: Likewise.
29708         * modules/sys_socket: Likewise.
29709         * modules/sys_stat: Likewise.
29710         * modules/sys_time: Likewise.
29711         * modules/sys_times: Likewise.
29712         * modules/sys_utsname: Likewise.
29713         * modules/sys_wait: Likewise.
29714
29715 2009-09-01  Jim Meyering  <meyering@redhat.com>
29716
29717         fts: help ensure that return values are not ignored
29718         * lib/fts_.h (__GNUC_PREREQ): Define.
29719         (__attribute_warn_unused_result__): Define.
29720         (fts_children, fts_close, fts_open, fts_read): Declare with
29721         __attribute_warn_unused_result__.
29722
29723         fts: fts_close now fails also when closing a dir file descriptor fails
29724         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
29725         and propagate to caller, along with errno.
29726
29727         announce-gen: correct formatting in --help output
29728         * build-aux/announce-gen (usage): Move the one-line description in
29729         --help output "up", to where it belongs, just after Usage:.
29730
29731 2009-08-31  Eric Blake  <ebb9@byu.net>
29732
29733         fchdir: port to mingw
29734         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
29735         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
29736         opened, then use a substitute.
29737         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
29738         replacement.
29739         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
29740         (_gl_register_fd): No need to check stat if open already filters
29741         all directories.
29742         (fchdir): Fix error condition to match POSIX.
29743         * modules/fchdir (Depends-on): Add sys_stat.
29744         * doc/posix-functions/open.texi (open): Document the limitation.
29745         * modules/fchdir-tests: New file.
29746         * tests/test-fchdir.c: Likewise.
29747
29748         canonicalize: allow cross-testing from cygwin to mingw
29749         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
29750         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
29751         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
29752         Likewise.
29753         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
29754         target does not support symlinks.
29755         * tests/test-canonicalize-lgpl.sh: Likewise.
29756
29757         chown: avoid compilation warning on mingw
29758         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
29759         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
29760         mingw.
29761         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
29762         * modules/chown (Depends-on): Add errno.
29763
29764 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
29765
29766         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
29767         command.
29768
29769 2009-08-31  Jim Meyering  <meyering@redhat.com>
29770
29771         canonicalize: remove useless initialization
29772         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
29773         initialization of local, "end".
29774
29775 2009-08-30  Bruno Haible  <bruno@clisp.org>
29776
29777         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
29778         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
29779         ENOSYS.
29780
29781 2009-08-30  Bruno Haible  <bruno@clisp.org>
29782
29783         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
29784         /usr/xpg4/bin/tr when it exists.
29785         * tests/test-pipe-filter-gi1.sh: Likewise.
29786
29787 2009-08-30  Bruno Haible  <bruno@clisp.org>
29788
29789         Work around deficient /usr/bin/id program on Solaris.
29790         * tests/test-file-has-acl.sh (ID): New variable.
29791         * tests/test-set-mode-acl.sh (ID): Likewise.
29792         * tests/test-copy-acl.sh (ID): Likewise.
29793         * tests/test-copy-file.sh (ID): Likewise.
29794
29795 2009-08-30  Bruno Haible  <bruno@clisp.org>
29796
29797         New module 'xstriconveh'.
29798         * lib/xstriconveh.h: New file.
29799         * lib/xstriconveh.c: New file.
29800         * modules/xstriconveh: New file.
29801
29802 2009-08-30  Bruno Haible  <bruno@clisp.org>
29803
29804         Make it easier to use mem_cd_iconveh.
29805         * lib/striconveh.h (iconveh_t): New type.
29806         (iconveh_open, iconveh_close): New declarations.
29807         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
29808         with a single 'const iconveh_t *' argument.
29809         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
29810         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
29811         with a single 'const iconveh_t *' argument.
29812         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
29813         * tests/test-striconveh.c (main): Update.
29814         * NEWS: Mention the change.
29815
29816 2009-08-30  Bruno Haible  <bruno@clisp.org>
29817
29818         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
29819         problem.
29820
29821 2009-08-30  Bruno Haible  <bruno@clisp.org>
29822
29823         Work around iconv_open problem on Solaris.
29824         * lib/iconv_open-solaris.gperf: New file.
29825         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
29826         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
29827         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
29828         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
29829         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
29830         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
29831
29832 2009-08-29  Jim Meyering  <meyering@redhat.com>
29833
29834         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
29835         * top/maint.mk (cvs-check): Remove target; it was just an alias
29836         to the better-named vc-diff-check.
29837         (maintainer-distcheck): Remove rule.  It was used only from
29838         the (alpha/beta/major) target, and all of its commands but one
29839         were coreutils-specific.
29840         (vc-dist): Remove rule.
29841         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
29842         Run vc-diff-check, not vc-dist.
29843         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
29844
29845 2009-08-27  Bruno Haible  <bruno@clisp.org>
29846
29847         * tests/test-bitrotate.c (main): Remove test that uses a shift count
29848         of 0.
29849
29850 2009-08-27  Bruno Haible  <bruno@clisp.org>
29851
29852         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
29853         compilers.
29854         * doc/func.texi: Document the SunPRO C bug.
29855
29856 2009-08-27  Bruno Haible  <bruno@clisp.org>
29857
29858         Fix link error on Solaris.
29859         * tests/test-parse-duration.c (xstrdup): Remove function.
29860
29861 2009-08-26  Pádraig Brady  <P@draigbrady.com>
29862
29863         ignore-value: handle pointer types, too
29864         * lib/ignore-value.h (__attribute__): Remove definition.
29865         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
29866         of a more concise and more-often effective "(void) i" statement.
29867         (ignore_ptr): New function to suppress warnings from functions that
29868         return pointers, and to make it explicit that one function doesn't
29869         handle all cases.
29870
29871 2009-08-25  Bruno Haible  <bruno@clisp.org>
29872
29873         dup2: work around a Linux bug.
29874         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
29875         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
29876         * doc/posix-functions/dup2.texi: Mention the Linux bug.
29877         Reported by Simon Josefsson.
29878
29879 2009-08-25  Jim Meyering  <meyering@redhat.com>
29880
29881         libguestfs uses gnulib
29882         * users.txt: Add libguestfs.
29883
29884 2009-08-24  Eric Blake  <ebb9@byu.net>
29885
29886         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
29887         * lib/pipe2.c (includes): Add binary-io.h.
29888         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
29889
29890 2009-08-24  Bruno Haible  <bruno@clisp.org>
29891
29892         Tolerate declared but missing accept4 syscall.
29893         * lib/accept4.c (accept4): Invoke original accept4 function first, if
29894         available.
29895         * lib/sys_socket.in.h (accept4): If the function is already present,
29896         override it.
29897         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
29898         * modules/accept4 (Makefile.am): Compile accept4.c always.
29899         Reported by Paolo Bonzini and Eric Blake.
29900
29901 2009-08-23  Bruno Haible  <bruno@clisp.org>
29902
29903         New module 'accept4'.
29904         * lib/sys_socket.in.h (accept4): New declaration.
29905         * lib/accept4.c: New file.
29906         * m4/accept4.m4: New file.
29907         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
29908         GNULIB_ACCEPT4, HAVE_ACCEPT4.
29909         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
29910         HAVE_ACCEPT4.
29911         * modules/accept4: New file.
29912         * doc/glibc-functions/accept4.texi: Mention the new module.
29913
29914 2009-08-24  Jim Meyering  <meyering@redhat.com>
29915
29916         progname: also set global program_invocation_name, when possible
29917         Before this change, a libtool-enabled program that calls glibc's
29918         error function would report the program name as
29919         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
29920         * modules/progname (configure.ac): Check for a declaration of
29921         program_invocation_name.
29922         * lib/progname.c:  Include <errno.h>.
29923         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
29924         Set program_invocation_name.
29925
29926 2009-08-23  Bruno Haible  <bruno@clisp.org>
29927
29928         * lib/dup3.c: Include <string.h>.
29929
29930 2009-08-23  Bruno Haible  <bruno@clisp.org>
29931
29932         * lib/dup3.c (dup3): Test only once whether the system actually exists.
29933         * lib/pipe2.c (pipe2): Likewise.
29934         Suggested by Eric Blake.
29935
29936 2009-08-23  Bruno Haible  <bruno@clisp.org>
29937
29938         Tolerate declared but missing dup3 syscall.
29939         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
29940         * lib/unistd.in.h (dup3): If the function is already present,
29941         override it.
29942         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
29943         * modules/dup3 (Makefile.am): Compile dup3.c always.
29944         Reported by Paolo Bonzini.
29945
29946 2009-08-23  Bruno Haible  <bruno@clisp.org>
29947
29948         Tolerate declared but missing pipe2 syscall.
29949         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
29950         available.
29951         * lib/unistd.in.h (pipe2): If the function is already present,
29952         override it.
29953         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
29954         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
29955         Reported by Paolo Bonzini.
29956
29957 2009-08-23  Bruno Haible  <bruno@clisp.org>
29958
29959         * lib/pipe2.c (pipe2): Move #ifs inside function.
29960
29961 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
29962
29963         quotearg: document limitations of quote_these_too
29964         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
29965         those limitations are created.
29966         * lib/quotearg.h (set_char_quoting): Document that digits and
29967         letters that are special after backslash are not permitted.
29968         (quotearg_char): Cross-reference set_char_quoting documentation.
29969
29970 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
29971
29972         quotearg: implement custom_quoting_style
29973         * lib/quotearg.c: (struct quoting_options): Add left_quote and
29974         right_quote fields.
29975         (set_custom_quoting): New public function.
29976         (quotearg_buffer_restyled): Add left_quote and right_quote
29977         arguments, handle them very much like locale quoting, and update
29978         all uses.
29979         (quotearg_n_custom): New public function.
29980         (quotearg_n_custom_mem): New public function.
29981         (quotearg_custom): New public function.
29982         (quotearg_custom_mem): New public function.
29983         * lib/quotearg.h: Prototype and document new public functions.
29984         (enum quoting_style): For escape_quoting_style and
29985         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
29986         ignored even though they're otherwise like c_quoting_style.
29987         Add custom_quoting_style member and document with comparison to
29988         clocale_quoting_style.
29989         * tests/test-quotearg.c (custom_quotes): New array.
29990         (custom_results): New array.
29991         (main): Extend to test custom quoting.
29992
29993 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
29994
29995         quotearg: fix right quote escaping when it's in quote_these_too
29996         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
29997         quote, be sure to prepend only one backslash.
29998         * tests/test-quotearg.c (use_quote_double_quotes): New function.
29999         (main): Test it.
30000
30001 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
30002
30003         quotearg-tests: test escaping of embedded locale quotes
30004         * tests/test-quotearg.c (struct result_strings): Add member for
30005         new input.
30006         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
30007         (inputs): Add new input.
30008         (results_g): Add expected results.
30009         (flag_results): Likewise.
30010         (locale_results): Likewise.
30011         (compare_strings): Check those.
30012
30013 2009-08-23  Bruno Haible  <bruno@clisp.org>
30014
30015         Tests for module 'dup3'.
30016         * modules/dup3-tests: New file.
30017         * tests/test-dup3.c: New file.
30018
30019         New module 'dup3'.
30020         * lib/unistd.in.h (dup3): New declaration.
30021         * lib/dup3.c: New file.
30022         * m4/dup3.m4: New file.
30023         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
30024         HAVE_DUP3.
30025         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
30026         * modules/dup3: New file.
30027         * doc/glibc-functions/dup3.texi: Mention the new module.
30028
30029 2009-08-23  Bruno Haible  <bruno@clisp.org>
30030
30031         Tweak the dup2 test.
30032         * tests/test-dup2.c (main): Create the test file empty. Verify that an
30033         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
30034         the test file is still empty. Fix argument order of lseek.
30035
30036 2009-08-23  Bruno Haible  <bruno@clisp.org>
30037
30038         Avoid test link errors when the modules getopt-gnu, gettext are used.
30039         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
30040         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
30041
30042 2009-08-23  Bruno Haible  <bruno@clisp.org>
30043
30044         Fix getdtablesize() on mingw.
30045         * lib/getdtablesize.c (getdtablesize): Implement differently.
30046         * lib/unistd.in.h (getdtablesize): Improve comment.
30047
30048 2009-08-23  Bruno Haible  <bruno@clisp.org>
30049
30050         New module 'mkostemp'.
30051         Based on Ulrich Drepper's 2007-08-10 change in glibc.
30052         * lib/stdlib.in.h (mksotemp): New declaration.
30053         * lib/mkostemp.c: New file, from glibc with modifications.
30054         * lib/tempname.h (GT_FILE): Remove outdated comment.
30055         (gen_tempname): Add flags argument.
30056         * lib/tempname.c (__GT_BIGFILE): Remove macro.
30057         (__GT_FILE): Map to 1.
30058         (small_open, large_open): Remove macros.
30059         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
30060         * lib/mkstemp.c (mkstemp): Update.
30061         * lib/mkdtemp.c (mkdtemp): Likewise.
30062         * m4/mkostemp.m4: New file.
30063         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
30064         HAVE_MKOSTEMP.
30065         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
30066         HAVE_MKOSTEMP.
30067         * modules/mkostemp: New file, based on modules/mkstemp.
30068         * doc/glibc-functions/mkostemp.texi: Mention the new module.
30069         * NEWS: Mention the change.
30070
30071 2009-08-23  Bruno Haible  <bruno@clisp.org>
30072
30073         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
30074         Reported by Eric Blake.
30075
30076 2009-08-23  Bruno Haible  <bruno@clisp.org>
30077
30078         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
30079         Reported by Eric Blake.
30080
30081 2009-08-23  Bruno Haible  <bruno@clisp.org>
30082
30083         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
30084         * modules/pipe2 (Depends-on): Likewise.
30085
30086 2009-08-23  Eric Blake  <ebb9@byu.net>
30087
30088         fcntl-h: add O_TTY_INIT support
30089         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
30090         * tests/test-fcntl-h.c (o): Test it.
30091         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
30092
30093         fcntl-h: rename from fcntl, in preparation for fcntl(2)
30094         * modules/fcntl: Move <fcntl.h> header replacement...
30095         * modules/fcntl-h: ...to new name, so as not to collide with
30096         like-named function.
30097         * tests/test-fcntl.c: Rename...
30098         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
30099         * modules/fcntl-tests: Rename...
30100         * modules/fcntl-h-tests: ...to this.  Update test file name.
30101         * modules/chdir-long (Depends-on): Update clients.
30102         * modules/chdir-safer (Depends-on): Likewise.
30103         * modules/fcntl-safer (Depends-on): Likewise.
30104         * modules/fts (Depends-on): Likewise.
30105         * modules/mkancesdirs (Depends-on): Likewise.
30106         * modules/mkdir-p (Depends-on): Likewise.
30107         * modules/open (Depends-on): Likewise.
30108         * modules/savewd (Depends-on): Likewise.
30109         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
30110         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
30111
30112 2009-08-22  Bruno Haible  <bruno@clisp.org>
30113
30114         * modules/binary-io (License): Relicense under LGPL.
30115         * modules/pipe2 (License): Likewise.
30116
30117 2009-08-22  Bruno Haible  <bruno@clisp.org>
30118
30119         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
30120         return value.
30121         * lib/pipe-filter-gi.c (filter_init): Likewise.
30122         Reported by Eric Blake.
30123
30124 2009-08-22  Bruno Haible  <bruno@clisp.org>
30125
30126         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
30127         * modules/pipe (Depends-on): Add pipe2.
30128
30129 2009-08-22  Bruno Haible  <bruno@clisp.org>
30130
30131         Tests for module 'pipe2'.
30132         * modules/pipe2-tests: New file.
30133         * tests/test-pipe2.c: New file.
30134
30135         New module 'pipe2'.
30136         * lib/unistd.in.h (pipe2): New declaration.
30137         * lib/pipe2.c: New file.
30138         * m4/pipe2.m4: New file.
30139         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
30140         HAVE_PIPE2.
30141         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
30142         * modules/pipe2: New file.
30143         * doc/glibc-functions/pipe2.texi: Mention the new module.
30144
30145 2009-08-22  Bruno Haible  <bruno@clisp.org>
30146
30147         Reference some new glibc functions.
30148         * doc/glibc-functions/accept4.texi: New file.
30149         * doc/glibc-functions/dup3.texi: New file.
30150         * doc/glibc-functions/mkostemp.texi: New file.
30151         * doc/glibc-functions/pipe2.texi: New file.
30152         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
30153         (Glibc sys/socket.h): Refer to accept4.
30154         (Glibc unistd.h): Refer to dup3, pipe2.
30155         Reported by Eric Blake.
30156
30157 2009-08-22  Jim Meyering  <meyering@redhat.com>
30158             Bruno Haible  <bruno@clisp.org>
30159
30160         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
30161         This makes it so packages using automake-1.11's silent-rules option
30162         can print e.g., a single "GEN    configmake.h" line, rather than
30163         the 30+ statements that perform the job.  If you want to see the
30164         actual commands, you can still run "make V=1".
30165         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
30166         so that make output is abbreviated when those variables are defined
30167         appropriately.
30168         * modules/argz: Likewise.
30169         * modules/arpa_inet: Likewise.
30170         * modules/byteswap: Likewise.
30171         * modules/configmake: Likewise.
30172         * modules/dirent: Likewise.
30173         * modules/errno: Likewise.
30174         * modules/fcntl: Likewise.
30175         * modules/float: Likewise.
30176         * modules/fnmatch: Likewise.
30177         * modules/getopt-posix: Likewise.
30178         * modules/glob: Likewise.
30179         * modules/iconv_open: Likewise.
30180         * modules/inttypes: Likewise.
30181         * modules/localcharset: Likewise.
30182         * modules/locale: Likewise.
30183         * modules/math: Likewise.
30184         * modules/netdb: Likewise.
30185         * modules/netinet_in: Likewise.
30186         * modules/poll: Likewise.
30187         * modules/posix_spawnp-tests: Likewise.
30188         * modules/sched: Likewise.
30189         * modules/search: Likewise.
30190         * modules/selinux-h: Likewise.
30191         * modules/signal: Likewise.
30192         * modules/spawn: Likewise.
30193         * modules/stdarg: Likewise.
30194         * modules/stdbool: Likewise.
30195         * modules/stddef: Likewise.
30196         * modules/stdint: Likewise.
30197         * modules/stdio: Likewise.
30198         * modules/stdlib: Likewise.
30199         * modules/string: Likewise.
30200         * modules/strings: Likewise.
30201         * modules/sys_file: Likewise.
30202         * modules/sys_ioctl: Likewise.
30203         * modules/sys_select: Likewise.
30204         * modules/sys_socket: Likewise.
30205         * modules/sys_stat: Likewise.
30206         * modules/sys_time: Likewise.
30207         * modules/sys_times: Likewise.
30208         * modules/sys_utsname: Likewise.
30209         * modules/sys_wait: Likewise.
30210         * modules/sysexits: Likewise.
30211         * modules/time: Likewise.
30212         * modules/unistd: Likewise.
30213         * modules/wchar: Likewise.
30214         * modules/wctype: Likewise.
30215
30216 2009-08-22  Jim Meyering  <meyering@redhat.com>
30217
30218         announce-gen: detect write failure
30219         * build-aux/announce-gen: Add Coda at end.
30220         Remove equivalent-but-more-verbose block at top.
30221
30222 2009-08-19  Akim Demaille  <demaille@gostai.com>
30223
30224         bootstrap: --help to stdout.
30225         * bootstrap (usage): Don't send --help to stderr.
30226         Use a here doc instead of a long string.
30227
30228 2009-08-21  Eric Blake  <ebb9@byu.net>
30229
30230         test-popen-safer: split from test-popen
30231         * tests/test-popen.c (main): Move...
30232         * tests/test-popen.h: ...into new file.
30233         * tests/test-popen-safer2.c: New file.
30234         * modules/popen-tests (Files): Add test-popen.h.
30235         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
30236         Suggested by Bruno Haible.
30237
30238         test-fcntl-safer: split from test-open
30239         * tests/test-open.c (main): Move...
30240         * tests/test-open.h: ...into new file.
30241         * tests/test-fcntl-safer.c: New file.
30242         * modules/open-tests (Files): Add test-open.h.
30243         * modules/fcntl-safer-tests: New file.
30244         Suggested by Bruno Haible.
30245
30246         test-fopen-safer: split from test-fopen
30247         * tests/test-fopen.c (main): Move...
30248         * tests/test-fopen.h: ...into new file.
30249         * tests/test-fopen-safer.c: New file.
30250         * modules/fopen-tests (Files): Add test-fopen.h.
30251         * modules/fopen-safer-tests: New file.
30252         Suggested by Bruno Haible.
30253
30254 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
30255
30256         popen-safer: test O_CLOEXEC at run-time.
30257         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
30258
30259 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
30260
30261         fcntl: move more flags to the header
30262         * lib/cloexec.c: Do not define FD_CLOEXEC here.
30263         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
30264         * lib/fcntl.in.h: Do both things here.
30265
30266 2009-08-21  Jim Meyering  <meyering@redhat.com>
30267
30268         consistently remove $@-t before redirecting to it
30269         * modules/argz: Remove $@-t and $@ before redirecting to the former.
30270         * modules/alloca-opt: Likewise.
30271         * modules/byteswap: Likewise.
30272         * modules/fnmatch: Likewise.
30273         * modules/getopt-posix: Likewise.
30274         * modules/glob: Likewise.
30275         * modules/poll: Likewise.
30276         * modules/posix_spawnp-tests: Likewise.
30277         * modules/sys_socket: Likewise.
30278         * modules/sysexits: Likewise.
30279
30280 2009-08-21  Eric Blake  <ebb9@byu.net>
30281
30282         popen: simplify access to original popen
30283         * lib/popen.c (rpl_popen): No need to worry about popen being a
30284         macro.
30285         Reported by Bruno Haible.
30286
30287 2009-08-20  Eric Blake  <ebb9@byu.net>
30288
30289         build: avoid some compiler warnings
30290         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
30291         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
30292         type.
30293         (new_exclude_segment, excluded_file_pattern_p)
30294         (excluded_file_name_p): Reduce scope.
30295         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
30296         old-style declaration.
30297
30298 2009-08-20  Simon Josefsson  <simon@josefsson.org>
30299
30300         * tests/test-exclude1.sh: Handle Windows EOL.
30301         * tests/test-exclude2.sh: Likewise.
30302         * tests/test-exclude3.sh: Likewise.
30303         * tests/test-exclude4.sh: Likewise.
30304         * tests/test-exclude5.sh: Likewise.
30305         * tests/test-exclude6.sh: Likewise.
30306         * tests/test-exclude7.sh: Likewise.
30307
30308 2009-08-19  Akim Demaille  <demaille@gostai.com>
30309
30310         bootstrap: find sha1sum when named gsha1sum.
30311         * bootstrap (find_tool): New.
30312         ($SHA1SUM): New.
30313         Use it.
30314
30315 2009-08-20  Jim Meyering  <meyering@redhat.com>
30316
30317         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
30318         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
30319         expression that converts "." in a file name to "\." in the resulting
30320         regexp.  Start with a dummy statement, so that prior shell variable
30321         definitions are expanded portably.  Reported by Simon Josefsson.
30322
30323 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
30324
30325         Fix polling for writeability of a screen buffer.
30326         * lib/poll.c: Distinguish input and screen buffers for the
30327         Win32 implementation.
30328         * lib/select.c: Likewise.
30329
30330 2009-08-19  Eric Blake  <ebb9@byu.net>
30331
30332         popen-safer: prevent popen from clobbering std descriptors
30333         * modules/popen-safer: New file.
30334         * lib/popen-safer.c: Likewise.
30335         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
30336         * lib/stdio--.h (popen): Provide override.
30337         * lib/stdio-safer.h (popen_safer): Provide declaration.
30338         * tests/test-popen.c (includes): Partially test this.
30339         * modules/popen-safer-tests: New file, for more tests.
30340         * tests/test-popen-safer.c: Likewise.
30341         * MODULES.html.sh (file stream based Input/Output): Mention it.
30342
30343         tests: test some of the *-safer modules
30344         * modules/fopen-safer (Depends-on): Add fopen.
30345         * modules/fcntl-safer (Depends-on): Add fcntl.
30346         * modules/stdlib-safer (Depends-on): Add stdlib.
30347         (configure.ac): Set indicator.
30348         * modules/unistd-safer (configure.ac): Likewise.
30349         * modules/tmpfile-safer (configure.ac): Likewise.
30350         (Depends-on): Add tmpfile.
30351         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
30352         active.
30353         * tests/test-fopen.c (includes): Test safer versions when they are
30354         in use.
30355         * tests/test-open.c (includes): Likewise.
30356
30357         popen: fix cygwin 1.5 bug when stdin closed
30358         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
30359         * modules/popen: New file.
30360         * modules/popen-tests: Likewise.
30361         * tests/test-popen.c: Likewise.
30362         * m4/popen.m4: Likewise.
30363         * lib/popen.c: Likewise.
30364         * lib/stdio.in.h (popen): New declaration.
30365         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
30366         * modules/stdio (Makefile.am): Likewise.
30367         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
30368
30369 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
30370
30371         maint.mk: give full control over update-copyright exclusions
30372         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
30373         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
30374         (update-copyright): Don't force inclusion of top-level
30375         ChangeLog.  Don't force exclusion of all COPYING files, but make
30376         them the default exclusion instead.
30377
30378 2009-08-16  Bruno Haible  <bruno@clisp.org>
30379
30380         Fix test failures on Solaris 10.
30381         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
30382         tests when Solaris iconv() is used.
30383         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
30384         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
30385         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
30386         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
30387         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
30388
30389 2009-08-16  Bruno Haible  <bruno@clisp.org>
30390
30391         Fix test failures on Solaris 10.
30392         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
30393         'tr' program and pass it as first argument.
30394         * tests/test-pipe-filter-gi1.sh: Likewise.
30395         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
30396         program as first argument.
30397         * tests/test-pipe-filter-gi1.c (main): Likewise.
30398
30399 2009-08-16  Eric Blake  <ebb9@byu.net>
30400
30401         fpurge: fix previous commits
30402         * modules/fpurge (Makefile.am): Make replacement conditional,
30403         partially reverting 2007-04-29 change; missed in previous
30404         attempt.
30405         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
30406         is missing.
30407
30408 2009-08-16  Bruno Haible  <bruno@clisp.org>
30409
30410         Clarify fpurge's effect on the file position.
30411         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
30412         * tests/test-fpurge.c (main): Make a second pass for checking the file
30413         position.
30414
30415 2009-08-16  Bruno Haible  <bruno@clisp.org>
30416
30417         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
30418         declaration of fpurge is missing.
30419         * tests/test-fpurge.c (main): Check that the file has not more contents
30420         than expected. Close the file before removing it.
30421
30422 2009-08-15  Eric Blake  <ebb9@byu.net>
30423
30424         fpurge: don't wrap working cygwin implementation
30425         * lib/fpurge.c (fpurge): Fix comment typo.
30426         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
30427         1.7 to avoid replacement.
30428         * tests/test-fpurge.c (main): Enhance test.
30429
30430 2009-08-15  Eric Blake  <ebb9@byu.net>
30431         and Jim Meyering  <meyering@redhat.com>
30432
30433         test-update-copyright: skip if perl is insufficient
30434         * tests/test-update-copyright.sh: Failure to run maintainer tool
30435         should not cause testsuite failure on cygwin 1.5.
30436
30437 2009-08-14  Eric Blake  <ebb9@byu.net>
30438
30439         doc: mention more functions added in cygwin 1.7.0
30440         * doc/posix-headers/limits.texi (limits.h): Update for recent
30441         cygwin additions.
30442         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
30443         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
30444         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
30445         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
30446         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
30447
30448 2009-08-14  Eric Blake  <ebb9@byu.net>
30449
30450         maint.mk: simplify update-copyright rule
30451         * top/maint.mk (update-copyright-local): Delete, and document how
30452         to do it in cfg.mk instead.
30453         (update-copyright-exclude-regexp): Delete, and document how to do
30454         it in .x-update-copyright instead.
30455         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
30456         exclude ChangeLog.
30457
30458 2009-08-14  Bruno Haible  <bruno@clisp.org>
30459
30460         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
30461
30462 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
30463
30464         maint.mk: support update-copyright-env
30465         * top/maint.mk (update-copyright-env): Define place-holder.
30466         (update-copyright): Expand $(update-copyright-env) before
30467         invoking update-copyright.
30468
30469 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
30470
30471         update-copyright: implement forced reformatting
30472         * build-aux/update-copyright: Implement and document
30473         UPDATE_COPYRIGHT_FORCE.
30474         * tests/test-update-copyright.sh: Test it.
30475
30476 2009-08-14  Eric Blake  <ebb9@byu.net>
30477         and Bruno Haible  <bruno@clisp.org>
30478
30479         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
30480         * tests/test-locale.c: Revert previous patch related to NULL.
30481         * tests/test-stdio.c: Likewise.
30482         * tests/test-stdlib.c: Likewise.
30483         * tests/test-string.c: Likewise.
30484         * tests/test-unistd.c: Likewise.
30485         * modules/time-tests (Depends-on): Add verify.
30486         * modules/wchar-tests (Depends-on): Likewise.
30487         * tests/test-time.c: Test for NULL compliance.
30488         * tests/test-wchar.c: Likewise.
30489         * modules/locale (Depends-on): Add stddef.
30490         * modules/stdio (Depends-on): Likewise.
30491         * modules/stdlib (Depends-on): Likewise.
30492         * modules/string (Depends-on): Likewise.
30493         * modules/time (Depends-on): Likewise.
30494         * modules/unistd (Depends-on): Likewise.
30495         * modules/wchar (Depends-on): Likewise.
30496         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
30497         * lib/stdlib.in.h (includes): Likewise.
30498         * lib/string.in.h (includes): Likewise.
30499         * lib/time.in.h (includes): Likewise.
30500         * lib/unistd.in.h (includes): Likewise.
30501         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
30502         replaced.
30503         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
30504         * m4/stddef_h.m4: New file.
30505         * modules/stddef: Likewise.
30506         * lib/stddef.in.h: Likewise.
30507         * modules/stddef-tests: Likewise.
30508         * tests/test-stddef.c: Likewise.
30509         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
30510         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
30511         * doc/posix-headers/locale.texi (locale.h): Likewise.
30512         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
30513         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
30514         * doc/posix-headers/string.texi (string.h): Likewise.
30515         * doc/posix-headers/time.texi (time.h): Likewise.
30516         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
30517         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
30518
30519 2009-08-14  Eric Blake  <ebb9@byu.net>
30520
30521         doc: improve git diff of texinfo files
30522         * .gitattributes: Add rule for *.texi files, with hint on how to
30523         use it.
30524         Copied from m4, and based on a report by Bruno Haible.
30525
30526 2009-08-14  Bruno Haible  <bruno@clisp.org>
30527
30528         Disable multithread support by default on Cygwin 1.5.x for real.
30529         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
30530
30531 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
30532
30533         update-copyright: much ado about intervals
30534         * build-aux/update-copyright: Implement and document
30535         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
30536         of copyright year intervals.
30537         Also, document UPDATE_COPYRIGHT_YEAR.
30538         * tests/test-update-copyright.sh: Test it.
30539
30540         update-copyright: convert 2-digit to 4-digit years
30541         * build-aux/update-copyright: Implement and document.
30542         * tests/test-update-copyright.sh: Update.
30543
30544 2009-08-14  Jim Meyering  <meyering@redhat.com>
30545
30546         test-exclude: avoid coreutils "make check" failure
30547         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
30548         just as in test-argmatch.c.
30549
30550 2009-08-13  Eric Blake  <ebb9@byu.net>
30551
30552         test-dup2: fix bad assumption
30553         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
30554         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
30555
30556         test-version-etc: fix CRLF portability issue
30557         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
30558         recognize \r.
30559         * tests/test-argp-version-etc-1.sh: Likewise.
30560
30561         getopt: update client modules
30562         * modules/argp (Depends-on): Use getopt-gnu.
30563         * modules/git-merge-changelog (Depends-on): Likewise.
30564         * modules/long-options (Depends-on): Likewise.
30565         * modules/xstrtol (Depends-on): Likewise.
30566
30567 2009-08-13  Simon Josefsson  <simon@josefsson.org>
30568
30569         * tests/test-version-etc.sh: Don't fail on different
30570         project/version.  Don't fail on CRLF differences.  Rewrite to use
30571         multiple -e instead of multiple sed forks, suggested by Eric Blake
30572         <ebb9@byu.net>.
30573         * tests/test-argp-version-etc-1.sh: Likewise.
30574
30575 2009-08-13  Simon Josefsson  <simon@josefsson.org>
30576
30577         * tests/test-version-etc.sh: Don't fail on different
30578         project/version.
30579
30580 2009-08-12  Bruno Haible  <bruno@clisp.org>
30581
30582         Tests for modules 'getopt-posix', 'getopt-gnu'.
30583         * modules/getopt-posix-tests: New file.
30584         * tests/test-getopt.c: New file.
30585         * tests/test-getopt.h: New file.
30586         * tests/test-getopt_long.h: New file.
30587
30588         New modules 'getopt-posix', 'getopt-gnu'.
30589         * modules/getopt-gnu: New file, renamed from modules/getopt.
30590         * modules/getopt-posix: New file.
30591         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
30592         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
30593         (gl_GETOPT): Remove macro.
30594         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
30595         Disable the test against BSD systems that declare optreset. Test
30596         against mingw bug. Test against lack of support of optional arguments
30597         on many platforms.
30598         * doc/glibc-headers/getopt.texi: Update module name and list of
30599         relevant platforms.
30600         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
30601         'getopt-gnu' and more portability problems.
30602         * NEWS: Mention the changes.
30603
30604 2009-08-12  Bruno Haible  <bruno@clisp.org>
30605
30606         Ensure that optarg etc. get declared by <unistd.h>.
30607         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
30608         AC_USE_SYSTEM_EXTENSIONS.
30609         * modules/getopt (Depends-on): Add 'extensions'.
30610
30611 2009-08-12  Bruno Haible  <bruno@clisp.org>
30612
30613         Avoid test link errors.
30614         * modules/pipe-filter-ii-tests (Makefile.am): Define
30615         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
30616         * modules/pipe-filter-gi-tests (Makefile.am): Define
30617         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
30618         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
30619
30620 2009-08-12  Bruno Haible  <bruno@clisp.org>
30621
30622         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
30623         gl_GETOPT_SUBSTITUTE before.
30624         (gl_GETOPT): Use it.
30625         * m4/argp.m4 (gl_ARGP): Update.
30626         Reported by Sergey Poznyakoff.
30627
30628         * m4/getopt.m4: Reorder macros.
30629         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
30630         (gl_GETOPT_SUBSTITUTE): Remove macro.
30631
30632 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
30633
30634         Minor improvement in gitlog-to-changelog
30635
30636         * build-aux/gitlog-to-changelog: New option `--format' makes
30637         output format string configurable.
30638
30639 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
30640
30641         Optimize exclude: use hash tables for non-wildcard patterns.
30642
30643         * lib/exclude.c: Include hash.h and mbuiter.h
30644         (struct exclude_pattern, exclude_segment): New data types.
30645         (struct exclude): Rewrite.
30646         (fnmatch_pattern_has_wildcards): New function.
30647         (new_exclude_segment, free_exclude_segment): New functions.
30648         (excluded_file_pattern_p, excluded_file_name_p): New functions.
30649         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
30650         * lib/exclude.h (is_fnmatch_pattern): New prototype.
30651         * modules/exclude: Depend on hash and mbuiter.
30652
30653         * modules/exclude-tests: New file.
30654         * tests/test-exclude.c: New file.
30655         * tests/test-exclude1.sh: New file.
30656         * tests/test-exclude2.sh: New file.
30657         * tests/test-exclude3.sh: New file.
30658         * tests/test-exclude4.sh: New file.
30659         * tests/test-exclude5.sh: New file.
30660         * tests/test-exclude6.sh: New file.
30661         * tests/test-exclude7.sh: New file.
30662
30663 2009-08-12  Bruno Haible  <bruno@clisp.org>
30664
30665         Ensure that getopt() gets declared by <unistd.h>.
30666         * lib/unistd.in.h: Conditionally include getopt.h.
30667         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
30668         Set GNULIB_UNISTD_H_GETOPT.
30669         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
30670         GNULIB_UNISTD_H_GETOPT.
30671         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
30672
30673 2009-08-12  Bruno Haible  <bruno@clisp.org>
30674
30675         Clarify logic.
30676         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
30677         gl_replace_getopt instead of GETOPT_H.
30678
30679 2009-08-12  Bruno Haible  <bruno@clisp.org>
30680
30681         * m4/getopt.m4: Add comments.
30682
30683 2009-08-12  Bruno Haible  <bruno@clisp.org>
30684
30685         Disable multithread support by default on Cygwin 1.5.x.
30686         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
30687         set gl_use_threads=no if not specified otherwise.
30688
30689 2009-08-11  Bruno Haible  <bruno@clisp.org>
30690
30691         Avoid compilation error on NetBSD 5.0.
30692         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
30693         * tests/test-stdio.c: Likewise.
30694         * tests/test-stdlib.c: Likewise.
30695         * tests/test-string.c: Likewise.
30696         * tests/test-unistd.c: Likewise.
30697         Reported by Greg Troxel <gdt@ir.bbn.com>
30698         at <https://savannah.gnu.org/support/?106973>.
30699
30700 2009-08-11  Bruno Haible  <bruno@clisp.org>
30701
30702         * modules/dup2-tests (Depends-on): Remove close.
30703
30704         Undo 2009-07-19 commit.
30705         * modules/acl-tests (Depends-on): Remove close.
30706         * modules/binary-io-tests (Depends-on): Likewise.
30707         * modules/closein-tests (Depends-on): Likewise.
30708         * modules/flock-tests (Depends-on): Likewise.
30709         * modules/fsync-tests (Depends-on): Likewise.
30710         * modules/lseek-tests (Depends-on): Likewise.
30711         * modules/pipe-tests (Depends-on): Likewise.
30712         * modules/posix_spawn-tests (Depends-on): Likewise.
30713         * modules/posix_spawnp-tests (Depends-on): Likewise.
30714         * modules/stat-time-tests (Depends-on): Likewise.
30715         * modules/yesno-tests (Depends-on): Likewise.
30716
30717 2009-08-10  Bruno Haible  <bruno@clisp.org>
30718
30719         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
30720
30721 2009-08-10  Bruno Haible  <bruno@clisp.org>
30722
30723         Fix a gcc warning.
30724         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
30725
30726 2009-08-10  Bruno Haible  <bruno@clisp.org>
30727
30728         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
30729         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
30730         not only the first time.
30731         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
30732         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
30733         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
30734         is 1, not only the the first time.
30735
30736 2009-08-10  Bruno Haible  <bruno@clisp.org>
30737
30738         Make it possible to use module 'gethostname' without module 'close'.
30739         * lib/unistd.in.h (close): Evoke a link error only if
30740         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
30741         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
30742         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
30743         * modules/unistd (Makefile.am): Substitute
30744         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
30745         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
30746         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
30747         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
30748         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
30749         * modules/sys_ioctl (Makefile.am): Substitute
30750         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
30751         * modules/socket (configure.ac): On native Windows, set
30752         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
30753         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
30754         Reported by Sam Steingold <sds@gnu.org>.
30755
30756 2009-08-10  Bruno Haible  <bruno@clisp.org>
30757
30758         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
30759         * modules/ioctl (configure.ac): Likewise.
30760
30761 2009-08-10  Bruno Haible  <bruno@clisp.org>
30762
30763         Avoid collision between gnulib wrapper and libintl wrapper.
30764         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
30765         already defined in intl/printf.c.
30766         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
30767         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
30768
30769 2009-08-09  Bruno Haible  <bruno@clisp.org>
30770
30771         Make <sys/select.h> really self-contained, also on Solaris 10.
30772         * lib/sys_select.in.h: Include <string.h>.
30773         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
30774         Solaris 10 problem.
30775         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
30776         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
30777         Reported by Jim Meyering.
30778
30779 2009-08-09  Bruno Haible  <bruno@clisp.org>
30780
30781         Avoid warnings from 'aclocal' that are due to a use of macro name
30782         AM_XGETTEXT_OPTION that is not defined in automake.
30783         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
30784         automake.
30785         * modules/error (configure.ac): Likewise.
30786         * modules/propername (configure.ac): Likewise.
30787         * modules/vasprintf (configure.ac): Likewise.
30788         * modules/verror (configure.ac): Likewise.
30789         * modules/xprintf (configure.ac): Likewise.
30790         * modules/xvasprintf (configure.ac): Likewise.
30791
30792 2009-08-08  Bruno Haible  <bruno@clisp.org>
30793
30794         Avoid compilation error in C++ mode.
30795         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
30796         Reported by Sam Steingold <sds@gnu.org>.
30797
30798 2009-08-08  Bruno Haible  <bruno@clisp.org>
30799
30800         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
30801         for the various Unix platforms.
30802         * doc/posix-headers/limits.texi: Update platforms list regarding
30803         HOST_NAME_MAX.
30804         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
30805
30806 2009-08-07  Jim Meyering  <meyering@redhat.com>
30807
30808         selinux-at: fix typo in a comment
30809         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
30810         Spotted by Paolo Bonzini.
30811
30812         selinux-at: remove redundant m4 code, add documentation
30813         * modules/selinux-at (configure.ac): Remove redundant code.
30814         LIB_SELINUX is already set via the dependent module, selinux-h.
30815         (Include): Add quotes around selinux-at.h.
30816         * lib/selinux-at.h: Add documentation.
30817         Reported by Bruno Haible in
30818         http://marc.info/?l=gnulib-bug&m=124958988300749
30819
30820 2009-08-07  Bruno Haible  <bruno@clisp.org>
30821
30822         Avoid link error on MacOS X 10.3 and 10.4.
30823         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
30824         on non-ELF systems.
30825         * lib/argp-pv.c (argp_program_version): Likewise.
30826         Reported by Simon Josefsson.
30827
30828 2009-08-07  Simon Josefsson  <simon@josefsson.org>
30829
30830         * tests/test-version-etc.sh: Use $EXEEXT.
30831
30832 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
30833
30834         update-copyright: update documentation to point to maint.mk
30835         * build-aux/update-copyright: Here.
30836
30837 2009-08-06  Jim Meyering  <meyering@redhat.com>
30838
30839         maint.mk: support update-copyright-local
30840         * top/maint.mk (update-copyright-local): Define place-holder.
30841         (update-copyright): Depend on $(update-copyright-local).
30842
30843 2009-08-06  Jim Meyering  <meyering@redhat.com>
30844
30845         selinux-at: new module
30846         Initially written for coreutils, this module will soon be
30847         used by findutils, too.
30848         * MODULES.html.sh [Misc]: Add selinux-at.
30849         * lib/selinux-at.h: New file, from coreutils.
30850         * lib/selinux-at.c: Likewise.
30851         * modules/selinux-at: Likewise.
30852         (License): Change from LGPL to GPL, since it depends
30853         on the GPL'd openat module.
30854
30855         doc: update README
30856         * README: Remove references to cogito.
30857         Remove cvs-repo-updating instructions from 2007.
30858         Don't imply that CVS is better if you have limited disk space.
30859
30860 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
30861
30862         update-copyright: support C-style comments
30863         * build-aux/update-copyright: Implement and document.
30864         * tests/test-update-copyright.sh: Test.
30865
30866 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
30867
30868         update-copyright: support omitted "(C)"
30869         * build-aux/update-copyright: Implement and document.  Also,
30870         allow variable whitespace before "(C)".
30871         * tests/test-update-copyright.sh: Test.
30872
30873 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
30874
30875         update-copyright: don't trip on non-FSF copyright statements
30876         * build-aux/update-copyright: Fix so that the first correctly
30877         formatted FSF copyright statement is recognized no matter what
30878         appears before it.  Update documentation.
30879         * tests/test-update-copyright.sh: Test that.
30880
30881 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
30882
30883         update-copyright: clean up code a little
30884         * build-aux/update-copyright: Append "_re" to the name of any
30885         variable holding a regular expression.
30886         Replace "old" and "new" with "stmt" in variable names.
30887         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
30888         handled correctly.
30889         Format code more consistently.
30890
30891 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
30892
30893         update-copyright-tests: improve portability
30894         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
30895         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
30896
30897 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
30898
30899         update-copyright: support @copyright{} and &copy;
30900         * build-aux/update-copyright: Implement and document.
30901         * tests/test-update-copyright.sh: Test.
30902
30903 2009-08-04  Jim Meyering  <meyering@redhat.com>
30904
30905         update-copyright-tests: correctly test EOL=\r\n handling
30906         * tests/test-update-copyright.sh: Put \r at the end of some lines
30907         for the dos-eol tests.  Based on a patch by Joel E. Denny.
30908
30909         maint.mk: make update-copyright exclusion list more configurable
30910         * top/maint.mk (update-copyright): Default to excluding COPYING,
30911         but allow an override, in case someone does want to update that file.
30912
30913         maint.mk: don't update copyright date in COPYING
30914         * top/maint.mk (update-copyright): Exclude COPYING.
30915
30916         maint.mk: add a copyright-updating rule
30917         * top/maint.mk (update-copyright): New rule.
30918         Derived from coreutils/Makefile.am.
30919
30920         update-copyright: rename some variables
30921         * build-aux/update-copyright: Rename a few variables for clarity.
30922         Tweak syntax.  List Joel E. Denny as coauthor.
30923
30924 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
30925
30926         update-copyright: fix bug for 2-digit last year and add tests
30927         * build-aux/update-copyright: Fix bug.
30928         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
30929         specified.
30930         * modules/update-copyright-tests: New
30931         * tests/test-update-copyright.sh: New.
30932
30933 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
30934
30935         update-copyright: handle leading tabs in line prefix
30936         * build-aux/update-copyright: Count leading tabs as 8 spaces
30937         when computing margin.  This helps with the formatting of
30938         ChangeLogs, for example.
30939         Fix documentation a little.
30940
30941 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
30942
30943         update-copyright: support EOL=\r\n
30944         * build-aux/update-copyright: Implement that.
30945
30946 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
30947
30948         update-copyright: automatically format copyright statements
30949         * build-aux/update-copyright: Implement that.
30950         Also, be a little more predictable and safer by always failing
30951         when the full copyright format is not perfectly recognized as an
30952         unbroken whole.  Discussed at
30953         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
30954         Rewrite documentation.
30955
30956 2009-08-03  Bruno Haible  <bruno@clisp.org>
30957
30958         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
30959
30960 2009-08-02  Bruno Haible  <bruno@clisp.org>
30961
30962         Tests for module 'uname'.
30963         * modules/uname-tests: New file.
30964         * tests/test-uname.c: New file.
30965
30966         New module 'uname'.
30967         * lib/uname.c: New file.
30968         * m4/uname.m4: New file.
30969         * modules/uname: New file.
30970         * doc/posix-functions/uname.texi: Mention the new module.
30971
30972 2009-08-02  Bruno Haible  <bruno@clisp.org>
30973
30974         Tests for module 'sys_utsname'.
30975         * modules/sys_utsname-tests: New file.
30976         * tests/test-sys_utsname.c: New file.
30977
30978         New module 'sys_utsname'.
30979         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
30980         * m4/sys_utsname_h.m4: New file.
30981         * modules/sys_utsname: New file.
30982         * doc/posix-headers/sys_utsname.texi: Mention the new module.
30983
30984 2009-08-02  Bruno Haible  <bruno@clisp.org>
30985
30986         Implicitly initialize the sockets library.
30987         * lib/gethostname.c: Include sockets.h.
30988         (rpl_gethostname): Invoke gl_sockets_startup.
30989         * lib/socket.c: Include sockets.h.
30990         (rpl_socket): Invoke gl_sockets_startup.
30991         * modules/gethostname (Depends-on): Add sockets.
30992         * modules/socket (Depends-on): Likewise.
30993         * tests/test-poll.c: Don't include sockets.h.
30994         (main): Don't invoke gl_sockets_startup.
30995         * tests/test-select.c: Don't include sockets.h.
30996         (main): Don't invoke gl_sockets_startup.
30997
30998 2009-08-02  Bruno Haible  <bruno@clisp.org>
30999
31000         Allow multiple calls to gl_sockets_startup.
31001         * lib/sockets.c (initialized_sockets_version): New variable.
31002         (gl_sockets_startup): Do nothing if already called for this or a higher
31003         version.
31004         (gl_sockets_cleanup): Reset initialized_sockets_version.
31005
31006 2009-08-03  Simon Josefsson  <simon@josefsson.org>
31007
31008         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
31009         different project/version.
31010
31011 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
31012             Bruno Haible  <bruno@clisp.org>
31013
31014         Tests for module 'pipe-filter-gi'.
31015         * modules/pipe-filter-gi-tests: New file.
31016         * tests/test-pipe-filter-gi1.sh: New file.
31017         * tests/test-pipe-filter-gi1.c: New file.
31018         * tests/test-pipe-filter-gi2.sh: New file.
31019         * tests/test-pipe-filter-gi2-main.c: New file.
31020         * tests/test-pipe-filter-gi2-child.c: New file.
31021
31022         New module 'pipe-filter-gi'.
31023         * lib/pipe-filter-gi.c: New file.
31024         * modules/pipe-filter-gi: New file.
31025
31026 2009-08-02  Bruno Haible  <bruno@clisp.org>
31027             Paolo Bonzini  <bonzini@gnu.org>
31028
31029         Tests for module 'pipe-filter-ii'.
31030         * modules/pipe-filter-ii-tests: New file.
31031         * tests/test-pipe-filter-ii1.sh: New file.
31032         * tests/test-pipe-filter-ii1.c: New file.
31033         * tests/test-pipe-filter-ii2.sh: New file.
31034         * tests/test-pipe-filter-ii2-main.c: New file.
31035         * tests/test-pipe-filter-ii2-child.c: New file.
31036
31037         New module 'pipe-filter-ii'.
31038         * lib/pipe-filter.h: New file.
31039         * lib/pipe-filter-ii.c: New file.
31040         * lib/pipe-filter-aux.h: New file.
31041         * modules/pipe-filter-ii: New file.
31042
31043 2009-08-02  Simon Josefsson  <simon@josefsson.org>
31044
31045         * lib/gc-libgcrypt.c: Change copyright to FSF.
31046         * lib/gc-gnulib.c: Likewise.
31047
31048 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
31049
31050         * lib/gethostname.c: Include limits.h.
31051
31052 2009-08-02  Simon Josefsson  <simon@josefsson.org>
31053             Bruno Haible  <bruno@clisp.org>
31054
31055         Ensure HOST_NAME_MAX as part of the gethostname module.
31056         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
31057         define also HOST_NAME_MAX.
31058         * tests/test-gethostname.c: Include <limits.h>.
31059         (main): Check also HOST_NAME_MAX.
31060         * doc/posix-headers/limits.texi: Document the mingw problem.
31061
31062 2009-08-02  Bruno Haible  <bruno@clisp.org>
31063
31064         * lib/gethostname.c (gethostname): Fix handling of large len argument.
31065         Add comments.
31066
31067 2009-03-31  Simon Josefsson  <simon@josefsson.org>
31068
31069         * lib/gethostname.c: Add Windows wrapper.
31070         * m4/gethostname.m4: Look for gethostname in -lws2_32.
31071         * modules/gethostname: Depend on sys_socket & errno, for also
31072         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
31073         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
31074
31075 2009-07-31  Jim Meyering  <meyering@redhat.com>
31076
31077         getloadavg: fix symbol name in comment
31078         * lib/getloadavg.c: Correct a typo I introduced when adding
31079         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
31080         Matt Kraai spotted the problem.
31081
31082 2009-07-29  Matt Kraai  <mkraai@beckman.com>
31083
31084         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
31085         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
31086         code also if ! defined N_NAME_POINTER.
31087         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
31088         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
31089         but the n_name member is a 12-byte array.
31090
31091 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
31092
31093         update-copyright: generalize comment handling
31094         * build-aux/update-copyright: Handle copyright statements
31095         within more comment styles.
31096         Document usage.
31097         Report any file with an external copyright holder or parse failure.
31098
31099 2009-07-29  Jim Meyering  <meyering@redhat.com>
31100
31101         mktime: correct setting of REPLACE_MKTIME
31102         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
31103
31104         update-copyright: new module
31105         * modules/update-copyright: New file.
31106         * build-aux/update-copyright: New file.
31107         * MODULES.html.sh (maint+release support): Add update-copyright.
31108
31109 2009-07-27  Bruno Haible  <bruno@clisp.org>
31110
31111         Fix compilation error when <ctime> is used and mktime is replaced.
31112         * lib/time.in.h (mktime): New declaration.
31113         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
31114         REPLACE_MKTIME instead of defining mktime in config.h.
31115         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
31116         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
31117         Reported by Ross McFarland <rwmcfa1@neces.com>.
31118
31119 2009-07-27  Bruno Haible  <bruno@clisp.org>
31120
31121         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
31122         Reported by Matt Kraai <mkraai@beckman.com>.
31123
31124 2009-07-25  Jim Meyering  <meyering@redhat.com>
31125
31126         maint.mk: avoid warnings about missing files
31127         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
31128         diagnostic when .prev-version does not exist.
31129         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
31130         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
31131         nonexistent cfg.mk.
31132         Suggestions from Simon Josefsson.
31133
31134 2009-07-25  Bruno Haible  <bruno@clisp.org>
31135
31136         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
31137         defined as macros. Needed on QNX 6.4.1.
31138         Reported by Matt Kraai <mkraai@beckman.com>.
31139
31140 2009-07-23  Jim Meyering  <meyering@redhat.com>
31141
31142         maint.mk: invoke "make dist" with a working value of XZ_OPT
31143         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
31144
31145 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
31146
31147         Make fseeko.c compile on QNX.
31148         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
31149
31150 2009-07-22  Peter Simons  <simons@cryp.to>
31151
31152         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
31153         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
31154         * lib/md4.h: Likewise.
31155         * lib/md5.h: Likewise.
31156         * lib/sha1.h: Likewise.
31157         * lib/sha256.h: Likewise.
31158         * lib/sha512.h: Likewise.
31159
31160         tests-sha1: don't assign literal string to 'char *' variable
31161         * tests/test-sha1.c (main): Declare locals with "const" to match
31162         attributes of the right hand side.
31163
31164 2009-07-21  Eric Blake  <ebb9@byu.net>
31165
31166         dup2: fix more mingw problems
31167         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
31168         fd to itself.
31169         * doc/posix-functions/dup2.texi (dup2): Document the bug.
31170         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
31171         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
31172         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
31173         care of mingw bugs.
31174
31175 2009-07-21  Jim Meyering  <meyering@redhat.com>
31176
31177         vc-list-files: avoid failure when /bin/sh is dash
31178         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
31179         On some Debian based systems, /bin/sh is a symlink to dash, and running
31180         this command would omit the "/" following each 'tests' prefix:
31181           dash -x build-aux/vc-list-files -C . tests
31182         That is because bash and dash work differently:
31183           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
31184           bash ok
31185           dash odd
31186
31187 2009-07-21  Eric Blake  <ebb9@byu.net>
31188
31189         dup2-tests: test previous patch
31190         * modules/dup2-tests: New file.
31191         * tests/test-dup2.c: Likewise.
31192         * tests/test-open.c (main): Avoid unspecified behavior.
31193         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
31194         test.
31195
31196         dup2: work around mingw and cygwin 1.5 bug
31197         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
31198         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
31199         * modules/unistd (Makefile.am): Substitute it.
31200         * lib/unistd.in.h (dup2): Declare the replacement.
31201         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
31202         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
31203         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
31204         * modules/execute (Depends-on): Add dup2.
31205         * modules/fseterr (Depends-on): Likewise.
31206         * modules/pipe (Depends-on): Likewise.
31207         * modules/posix_spawn-internal (Depends-on): Likewise.
31208
31209 2009-07-21  Bruno Haible  <bruno@clisp.org>
31210
31211         * modules/.gitattributes: New file.
31212
31213 2009-07-20  Bruno Haible  <bruno@clisp.org>
31214
31215         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
31216         (main): Use it.
31217
31218 2009-07-20  Eric Blake  <ebb9@byu.net>
31219
31220         test-pipe: make a bit more robust.
31221         * tests/test-pipe.c (myerr): Allow error messages regardless of
31222         what we do to stderr.
31223         (test_pipe): Rearrange to avoid deadlock.
31224         (child_main): Try a larger read, to ensure we avoided deadlock.
31225         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
31226         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
31227         if misused.
31228
31229 2009-07-19  Jim Meyering  <meyering@redhat.com>
31230
31231         fts: avoid false-positive cycle-detection
31232         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
31233         for each new command line argument.
31234
31235 2009-07-19  Bruno Haible  <bruno@clisp.org>
31236
31237         Fix build error on mingw with the modules sys_select and unistd.
31238         * modules/acl-tests (Depends-on): Add close.
31239         * modules/binary-io-tests (Depends-on): Likewise.
31240         * modules/closein-tests (Depends-on): Likewise.
31241         * modules/flock-tests (Depends-on): Likewise.
31242         * modules/fsync-tests (Depends-on): Likewise.
31243         * modules/lseek-tests (Depends-on): Likewise.
31244         * modules/pipe-tests (Depends-on): Likewise.
31245         * modules/posix_spawn-tests (Depends-on): Likewise.
31246         * modules/posix_spawnp-tests (Depends-on): Likewise.
31247         * modules/stat-time-tests (Depends-on): Likewise.
31248         * modules/yesno-tests (Depends-on): Likewise.
31249
31250 2009-07-19  Bruno Haible  <bruno@clisp.org>
31251
31252         Unify conditionals.
31253         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
31254         macros, not at the compiler macros.
31255         * lib/pipe.c: Likewise.
31256         * lib/execute.c: Likewise.
31257         * lib/spawni.c: Likewise.
31258
31259 2009-07-19  Bruno Haible  <bruno@clisp.org>
31260
31261         Fix handling of closed stdin/stdout/stderr on mingw.
31262         * lib/w32spawn.h: Include unistd.h.
31263         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
31264         file descriptor with O_NOINHERIT flag.
31265         (fd_safer_noinherit): New function, based on fd-safer.c.
31266         (dup_safer_noinherit): New function, based on dup-safer.c.
31267         (undup_safer_noinherit): New function.
31268         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
31269         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
31270         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
31271         instead of fd_safer.
31272         * tests/test-pipe.c: Include <windows.h>.
31273         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
31274         result.
31275
31276         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
31277         from main.
31278         (test_pipe): Pass an extra argument for disambiguation.
31279         (main): Invoke parent_main or child_main.
31280
31281         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
31282         consistently.
31283
31284 2009-07-18  Eric Blake  <ebb9@byu.net>
31285
31286         test-pipe: fix mingw build
31287         * tests/test-pipe.c (main): Avoid fcntl on mingw.
31288
31289 2009-07-18  Bruno Haible  <bruno@clisp.org>
31290
31291         * modules/pipe-tests (Makefile.am): Fix typo.
31292
31293 2009-07-18  Eric Blake  <ebb9@byu.net>
31294
31295         error: fix mingw build
31296         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
31297         Reported by Bruno Haible.
31298
31299         error: avoid undefined use of stdout
31300         * lib/error.c (error, error_at_line): Check that fd 1 is open
31301         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
31302         is handling faults and the close_stdout module wants to report the
31303         detection of closed stdout as an error.
31304
31305 2009-07-17  Eric Blake  <ebb9@byu.net>
31306
31307         pipe: be robust in face of closed fds
31308         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
31309         should cause child to misbehave.
31310         * modules/pipe-tests: New module.
31311         * tests/test-pipe.c: New file.
31312         * tests/test-pipe.sh: New file.
31313         Reported by Akim Demaille.
31314
31315 2009-07-14  Bruno Haible  <bruno@clisp.org>
31316
31317         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
31318         Reported by anonymous kc.
31319
31320 2009-07-07  Jim Meyering  <meyering@redhat.com>
31321
31322         maint.mk: don't look for translatable strings in *.m4 or *.mk
31323         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
31324         when searching for translatable strings.
31325
31326 2009-07-05  Jim Meyering  <meyering@redhat.com>
31327
31328         remove superfluous parentheses in STREQ definition
31329         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
31330         * lib/getugroups.c (STREQ): Likewise.
31331         * lib/fnmatch.c (STREQ): Likewise.
31332         Spotted by Bruno Haible.
31333
31334 2009-07-04  Jim Meyering  <meyering@redhat.com>
31335
31336         argv-iter: new module
31337         * MODULES.html.sh: Add argv-iter.
31338         * lib/argv-iter.c, lib/argv-iter.h: New files.
31339         * modules/argv-iter: New file.
31340         * modules/argv-iter-tests: New file.
31341         * tests/test-argv-iter.c: Test it.
31342
31343 2009-07-04  Bruno Haible  <bruno@clisp.org>
31344
31345         Fix assertion.
31346         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
31347         contains more exact copies of a given entry than file2, leave the extra
31348         copies unpaired rather than aborting.
31349         Reported by Eric Blake.
31350
31351 2009-07-02  Bruno Haible  <bruno@clisp.org>
31352
31353         Speedup git-merge-changelog for git cherry-pick.
31354         * lib/git-merge-changelog.c (struct entries_mapping): New type.
31355         (entries_mapping_get): New function, extracted from compute_mapping.
31356         (entries_mapping_reverse_get): New function.
31357         (compute_mapping): Add a 'full' argument. Return the result in a
31358         'struct entries_mapping'.
31359         (main): Update. Access the mappings through entries_mapping_get.
31360         Reported by Eric Blake.
31361
31362 2009-07-02  Bruno Haible  <bruno@clisp.org>
31363
31364         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
31365         best_i.
31366
31367 2009-07-02  Bruno Haible  <bruno@clisp.org>
31368
31369         Speed up approximate search for matching ChangeLog entries.
31370         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
31371         argument. Call fstrcmp_bounded instead of fstrcmp.
31372         (compute_mapping, try_split_merged_entry, main): Update callers.
31373
31374 2009-07-02  Bruno Haible  <bruno@clisp.org>
31375
31376         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
31377
31378 2009-06-30  Bruno Haible  <bruno@clisp.org>
31379
31380         Reduce the number of uc_is_cased calls.
31381         * lib/unicase.h (casing_suffix_context_t): Add
31382         'first_char_except_ignorable' field.
31383         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
31384         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
31385         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
31386         Update initializer.
31387         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
31388         case-ignorable characters.
31389         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
31390         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
31391         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
31392         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
31393         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
31394
31395 2009-06-30  Bruno Haible  <bruno@clisp.org>
31396
31397         Tests for module 'unicase/ignorable'.
31398         * modules/unicase/ignorable-tests: New file.
31399         * tests/unicase/test-ignorable.c: New file, generated by
31400         gen-uni-tables.
31401
31402         Tests for module 'unicase/cased'.
31403         * modules/unicase/cased-tests: New file.
31404         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
31405         * tests/unicase/test-predicate-part1.h: New file, derived from
31406         tests/unictype/test-predicate-part1.h.
31407         * tests/unicase/test-predicate-part2.h: New file, same as
31408         tests/unictype/test-predicate-part2.h.
31409
31410         Fix evaluation of "Before C" condition of FINAL_SIGMA.
31411         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
31412         (output_casing_properties): New function.
31413         (main): Call it.
31414         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
31415         * lib/unicase/cased.c: Include unictype/bitmap.h.
31416         (uc_is_cased): Define through a bitmap lookup.
31417         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
31418         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
31419         (uc_is_case_ignorable): Define through a bitmap lookup.
31420         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
31421         lib/unictype/bitmap.h.
31422         (Depends-on): Add inline. Clean up.
31423         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
31424         lib/unictype/bitmap.h.
31425         (Depends-on): Add inline. Clean up.
31426         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
31427         recognition.
31428         * tests/unicase/test-u16-tolower.c (main): Likewise.
31429         * tests/unicase/test-u32-tolower.c (main): Likewise.
31430
31431 2009-06-30  Bruno Haible  <bruno@clisp.org>
31432
31433         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
31434         * lib/unicase/u16-casemap.c: Likewise.
31435         * lib/unicase/u32-casemap.c: Likewise.
31436
31437 2009-06-29  Bruno Haible  <bruno@clisp.org>
31438
31439         Define u32_casefold as a wrapper around u32_ct_casefold.
31440         * lib/unicase/u32-casefold.c: Update.
31441         * modules/unicase/u32-casefold (Depends-on): Add
31442         unicase/u32-ct-casefold, unicase/empty-prefix-context,
31443         unicase/empty-suffix-context. Clean up.
31444
31445         Define u16_casefold as a wrapper around u16_ct_casefold.
31446         * lib/unicase/u16-casefold.c: Update.
31447         * modules/unicase/u16-casefold (Depends-on): Add
31448         unicase/u16-ct-casefold, unicase/empty-prefix-context,
31449         unicase/empty-suffix-context. Clean up.
31450
31451         Define u8_casefold as a wrapper around u8_ct_casefold.
31452         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
31453         * lib/unicase/u8-casefold.c: Update.
31454         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
31455         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
31456
31457         Define u32_totitle as a wrapper around u32_ct_totitle.
31458         * lib/unicase/u32-totitle.c: Update.
31459         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
31460         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
31461
31462         Define u16_totitle as a wrapper around u16_ct_totitle.
31463         * lib/unicase/u16-totitle.c: Update.
31464         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
31465         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
31466
31467         Define u8_totitle as a wrapper around u8_ct_totitle.
31468         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
31469         functions.
31470         (FUNC): Delegate to U_CT_TOTITLE.
31471         * lib/unicase/u8-totitle.c: Update.
31472         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
31473         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
31474
31475         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
31476         invocation.
31477         * modules/unicase/u32-tolower (Depends-on): Add
31478         unicase/empty-prefix-context, unicase/empty-suffix-context.
31479
31480         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
31481         invocation.
31482         * modules/unicase/u16-tolower (Depends-on): Add
31483         unicase/empty-prefix-context, unicase/empty-suffix-context.
31484
31485         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
31486         * modules/unicase/u8-tolower (Depends-on): Add
31487         unicase/empty-prefix-context, unicase/empty-suffix-context.
31488
31489         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
31490         invocation.
31491         * modules/unicase/u32-toupper (Depends-on): Add
31492         unicase/empty-prefix-context, unicase/empty-suffix-context.
31493
31494         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
31495         invocation.
31496         * modules/unicase/u16-toupper (Depends-on): Add
31497         unicase/empty-prefix-context, unicase/empty-suffix-context.
31498
31499         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
31500         * modules/unicase/u8-toupper (Depends-on): Add
31501         unicase/empty-prefix-context, unicase/empty-suffix-context.
31502
31503         New module 'unicase/u32-ct-casefold'.
31504         * lib/unicase/u32-ct-casefold.c: New file.
31505         * modules/unicase/u32-ct-casefold: New file.
31506
31507         New module 'unicase/u16-ct-casefold'.
31508         * lib/unicase/u16-ct-casefold.c: New file.
31509         * modules/unicase/u16-ct-casefold: New file.
31510
31511         New module 'unicase/u8-ct-casefold'.
31512         * lib/unicase/u8-ct-casefold.c: New file.
31513         * lib/unicase/u-ct-casefold.h: New file, derived from
31514         lib/unicase/u-casefold.h.
31515         * modules/unicase/u8-ct-casefold: New file.
31516
31517         New module 'unicase/u32-ct-totitle'.
31518         * lib/unicase/u32-ct-totitle.c: New file.
31519         * modules/unicase/u32-ct-totitle: New file.
31520
31521         New module 'unicase/u16-ct-totitle'.
31522         * lib/unicase/u16-ct-totitle.c: New file.
31523         * modules/unicase/u16-ct-totitle: New file.
31524
31525         New module 'unicase/u8-ct-totitle'.
31526         * lib/unicase/u8-ct-totitle.c: New file.
31527         * lib/unicase/u-ct-totitle.h: New file, derived from
31528         lib/unicase/u-totitle.h.
31529         * modules/unicase/u8-ct-totitle: New file.
31530
31531         New module 'unicase/u32-ct-tolower'.
31532         * lib/unicase/u32-ct-tolower.c: New file.
31533         * modules/unicase/u32-ct-tolower: New file.
31534
31535         New module 'unicase/u16-ct-tolower'.
31536         * lib/unicase/u16-ct-tolower.c: New file.
31537         * modules/unicase/u16-ct-tolower: New file.
31538
31539         New module 'unicase/u8-ct-tolower'.
31540         * lib/unicase/u8-ct-tolower.c: New file.
31541         * modules/unicase/u8-ct-tolower: New file.
31542
31543         New module 'unicase/u32-ct-toupper'.
31544         * lib/unicase/u32-ct-toupper.c: New file.
31545         * modules/unicase/u32-ct-toupper: New file.
31546
31547         New module 'unicase/u16-ct-toupper'.
31548         * lib/unicase/u16-ct-toupper.c: New file.
31549         * modules/unicase/u16-ct-toupper: New file.
31550
31551         New module 'unicase/u8-ct-toupper'.
31552         * lib/unicase/u8-ct-toupper.c: New file.
31553         * modules/unicase/u8-ct-toupper: New file.
31554
31555         Add context arguments to u*_casemap functions.
31556         * lib/unicase/unicasemap.h: Include unicase.h.
31557         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
31558         suffix_context arguments.
31559         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
31560         functions.
31561         (FUNC): Add prefix_context and suffix_context arguments. Use
31562         uc_is_cased and uc_is_case_ignorable.
31563         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
31564         * lib/unicase/u16-casemap.c: Likewise.
31565         * lib/unicase/u32-casemap.c: Likewise.
31566         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
31567         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
31568         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
31569         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
31570         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
31571         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
31572
31573         New module 'unicase/u32-suffix-context'.
31574         * lib/unicase/u32-suffix-context.c: New file.
31575         * modules/unicase/u32-suffix-context: New file.
31576
31577         New module 'unicase/u16-suffix-context'.
31578         * lib/unicase/u16-suffix-context.c: New file.
31579         * modules/unicase/u16-suffix-context: New file.
31580
31581         New module 'unicase/u8-suffix-context'.
31582         * lib/unicase/u8-suffix-context.c: New file.
31583         * lib/unicase/u-suffix-context.h: New file.
31584         * modules/unicase/u8-suffix-context: New file.
31585
31586         New module 'unicase/empty-suffix-context'.
31587         * lib/unicase/empty-suffix-context.c: New file.
31588         * modules/unicase/empty-suffix-context: New file.
31589
31590         New module 'unicase/u32-prefix-context'.
31591         * lib/unicase/u32-prefix-context.c: New file.
31592         * modules/unicase/u32-prefix-context: New file.
31593
31594         New module 'unicase/u16-prefix-context'.
31595         * lib/unicase/u16-prefix-context.c: New file.
31596         * modules/unicase/u16-prefix-context: New file.
31597
31598         New module 'unicase/u8-prefix-context'.
31599         * lib/unicase/u8-prefix-context.c: New file.
31600         * lib/unicase/u-prefix-context.h: New file.
31601         * lib/unicase/context.h: New file.
31602         * modules/unicase/u8-prefix-context: New file.
31603
31604         New module 'unicase/empty-prefix-context'.
31605         * lib/unicase/empty-prefix-context.c: New file.
31606         * modules/unicase/empty-prefix-context: New file.
31607
31608         New module 'unicase/ignorable'.
31609         * lib/unicase/ignorable.c: New file.
31610         * modules/unicase/ignorable: New file.
31611
31612         New module 'unicase/cased'.
31613         * lib/unicase/caseprop.h: New file.
31614         * lib/unicase/cased.c: New file.
31615         * modules/unicase/cased: New file.
31616
31617         New functions for case mapping of substrings.
31618         * lib/unicase.h (casing_prefix_context_t): New type.
31619         (unicase_empty_prefix_context): New variable.
31620         (u8_casing_prefix_context, u16_casing_prefix_context,
31621         u32_casing_prefix_context, u8_casing_prefixes_context,
31622         u16_casing_prefixes_context, u32_casing_prefixes_context): New
31623         declarations.
31624         (casing_suffix_context_t): New type.
31625         (unicase_empty_suffix_context): New variable.
31626         (u8_casing_suffix_context, u16_casing_suffix_context,
31627         u32_casing_suffix_context, u8_casing_suffixes_context,
31628         u16_casing_suffixes_context, u32_casing_suffixes_context,
31629         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
31630         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
31631         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
31632         declarations.
31633
31634 2009-06-28  Jim Meyering  <meyering@redhat.com>
31635
31636         boostrap: indent only with spaces
31637         * build-aux/bootstrap: Indent only with spaces, never TABs.
31638
31639         bootstrap: split long lines
31640         * build-aux/bootstrap: Keep line length < 80.
31641
31642         bootstrap: sync from coreutils
31643         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
31644         just as autoreconf does.  Verify a list of prerequisite
31645         package-name,version-number pairs if defined in bootstrap.conf.
31646         Refer to README-prereq, if prerequisites are not satisfied.
31647
31648 2009-06-27  Eric Blake  <ebb9@byu.net>
31649
31650         tests: add test for bogus NULL definition
31651         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
31652         * tests/test-stdlib.c: Likewise.
31653         * tests/test-string.c: Likewise.
31654         * tests/test-locale.c: Likewise.
31655         * tests/test-unistd.c: Likewise.
31656         * modules/stdio-tests (Depends-on): Add verify.
31657         * modules/stdlib-tests (Depends-on): Likewise.
31658         * modules/string-tests (Depends-on): Likewise.
31659         * modules/locale-tests (Depends-on): Likewise.
31660         * modules/unistd-tests (Depends-on): Likewise.
31661
31662 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
31663
31664         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
31665         self-explaining comment.
31666         * m4/selinux-selinux-h: Update serial.
31667         (gl_LIBSELINUX): New macro, adding a warning for missing development
31668         packages to code extracted from...
31669         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
31670         Add warning for missing development packages here, too.
31671
31672 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
31673
31674         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
31675
31676 2009-06-25  Eric Blake  <ebb9@byu.net>
31677
31678         version-etc: fix regression
31679         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
31680         gcc.
31681         (version_etc): Use it, to catch bugs with trailing NULL.
31682         * lib/version-etc.c (version_etc_arn): Delete unused argument.
31683         (version_etc_va): Fix logic bug.
31684         * modules/version-etc-tests: Add test.
31685         * tests/test-version-etc.c: New file.
31686         * tests/test-version-etc.sh: Likewise.
31687
31688 2009-06-25  Sam Steingold  <sds@gnu.org>
31689
31690         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
31691         mbtowc declaration.
31692
31693 2009-06-25  Eric Blake  <ebb9@byu.net>
31694
31695         fpurge: migrate into <stdio.h>
31696         * lib/fpurge.h: Delete...
31697         * lib/stdio.in.h (fpurge): ...and declare here, instead.
31698         * lib/fpurge.c (fpurge): Change declaring header.
31699         * modules/fpurge (Files): Drop deleted file.
31700         (Depends-on): Add stdio.
31701         (configure.ac): Set witness.
31702         * modules/stdio (Makefile.am): Support fpurge macros.
31703         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
31704         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
31705         * lib/fflush.c: Update client.
31706         * tests/test-fpurge.c: Likewise.
31707         * NEWS: Mention the change.
31708
31709 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
31710
31711         * lib/argp-version-etc.c (program_authors): Add const
31712         qualifier.
31713         * lib/version-etc.c: Fix typos in the comments.
31714         * modules/argp-version-etc: Depends on version-etc.
31715
31716 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
31717
31718         argp-version-etc: new module.
31719
31720         * lib/argp-version-etc.c: New file.
31721         * lib/argp-version-etc.h: New file.
31722         * modules/argp-version-etc: New file.
31723         * modules/argp-version-etc-tests: New file.
31724         * tests/test-argp-version-etc.c: New test.
31725         * tests/test-argp-version-etc-1.sh: New test.
31726
31727 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
31728
31729         Provide additional interfaces and documentation for version-etc
31730         module.
31731
31732         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
31733         interfaces.
31734         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
31735         prototypes.
31736
31737 2009-06-24  Bruno Haible  <bruno@clisp.org>
31738
31739         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
31740         HAVE_LIB${NAME} macro.
31741         Reported by Sam Steingold <sds@gnu.org>.
31742
31743 2009-06-23  Simon Josefsson  <simon@josefsson.org>
31744
31745         * modules/hash-tests (test_hash_LDADD): Link to libintl when
31746         needed.
31747
31748 2009-06-21  Bruno Haible  <bruno@clisp.org>
31749
31750         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
31751         work.
31752         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
31753         together with LIB${NAME}, LTLIB${NAME}.
31754         Reported by Sam Steingold <sds@gnu.org>.
31755
31756 2009-06-20  Jim Meyering  <meyering@redhat.com>
31757
31758         tests: make sc_require_test_exit_idiom more generic
31759         * top/maint.mk (Exit_witness_file): New overridable variable.
31760         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
31761         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
31762
31763 2009-06-19  Jim Meyering  <meyering@redhat.com>
31764
31765         hash: reverse order of src/dst parameters in an internal interface
31766         * lib/hash.c (transfer_entries): Reverse order of parameters to
31767         put DST before SRC.  Adjust callers.
31768
31769         tests: test-hash: avoid wholesale duplication
31770         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
31771         Instead, use a loop and add a single conditional.
31772
31773         tests: test-hash: allow seed selection via a command line argument
31774         * tests/test-hash.c (get_seed): New function.
31775         (main): Use it.
31776
31777 2009-06-19  Eric Blake  <ebb9@byu.net>
31778
31779         hash: avoid memory leak on allocation failure
31780         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
31781         failure.  Factor repeated algorithm...
31782         (transfer_entries): ...into new helper routine.
31783         (hash_delete): React to hash_rehash return value.
31784
31785         hash: reduce memory pressure in hash_rehash no-op case
31786         * lib/hash.c (next_prime): Avoid overflow.
31787         (hash_initialize): Factor bucket size computation...
31788         (compute_bucket_size): ...into new helper function.
31789         (hash_rehash): Use new function and open coding to reduce memory
31790         pressure, and avoid a memory leak in USE_OBSTACK code.
31791         Reported by Jim Meyering.
31792
31793 2009-06-18  Eric Blake  <ebb9@byu.net>
31794
31795         hash: make rotation more obvious
31796         * modules/hash (Depends-on): Add bitrotate and stdint.
31797         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
31798         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
31799         (SIZE_MAX): Rely on headers for definition.
31800         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
31801         (raw_hasher): Use rotr_sz.
31802         Suggested by Jim Meyering.
31803
31804         hash: fix memory leak in last patch
31805         * lib/hash.c (hash_rehash): Avoid memory leak.
31806
31807         hash: avoid no-op rehashing
31808         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
31809
31810         hash: provide default callback functions
31811         * lib/hash.c (raw_hasher, raw_comparator): New functions.
31812         (hash_initialize): Use them as defaults.
31813         * tests/test-hash.c (main): Test this.
31814
31815         hash: minor optimization
31816         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
31817         when possible.
31818         (hash_initialize): Document this promise.
31819         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
31820         * tests/test-hash.c (hash_compare_strings): Test this.
31821
31822 2009-06-18  Bruno Haible  <bruno@clisp.org>
31823
31824         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
31825         going to be replaced anyway.
31826
31827 2009-06-18  Bruno Haible  <bruno@clisp.org>
31828
31829         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
31830         in one place.
31831         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
31832         be replaced anyway.
31833
31834 2009-06-18  Eric Blake  <ebb9@byu.net>
31835
31836         hash: check for resize before insertion
31837         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
31838         threshold before insertion, so that a pathological hash_rehash
31839         that fills every bucket can still trigger another rehash.
31840
31841 2009-06-18  Jim Meyering  <meyering@redhat.com>
31842
31843         hash-tests: add a loop around the small tests
31844         * tests/test-hash.c (main): Repeat small tests with selected
31845         small initial table sizes.
31846
31847 2009-06-17  Eric Blake  <ebb9@byu.net>
31848
31849         hash: minor cleanups
31850         * lib/hash.h (hash_entry): Make opaque, by moving...
31851         * lib/hash.c (hash_entry): ...here.
31852         (hash_insert): Clarify restrictions on what can be inserted.
31853         (hash_get_next): Clarify when it is safe to remove an element
31854         during traversal.
31855         (check_tuning): Skip verification when tuning is known safe.
31856         (hash_initialize): Clarify restrictions on tuning.
31857
31858 2009-06-17  Jim Meyering  <jim@meyering.net>
31859         and Eric Blake  <ebb9@byu.net>
31860
31861         hash-tests: new module
31862         * modules/hash-tests: New file.
31863         * tests/test-hash.c: New file.
31864
31865 2009-06-17  Eric Blake  <ebb9@byu.net>
31866
31867         strstr-simple: document new module
31868         * MODULES.html.sh: Document new module.
31869
31870         strstr, strcasestr: replace on platforms with broken memchr
31871         * modules/strstr: Split into...
31872         * modules/strstr-simple: ...new module that does not care about
31873         performance, but does care about glibc bug.
31874         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
31875         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
31876         if platform memchr is broken, per Debian bug 521737.
31877         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
31878         memchr.
31879         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
31880         * doc/posix-functions/strstr.texi (strstr): Document the fix.
31881         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
31882         * modules/mountlist (Depends-on): Add strstr-simple.
31883         * modules/gen-uni-tables (Depends-on): Likewise.
31884         * modules/argz (Depends-on): Add strstr.
31885
31886 2009-06-17  Bruno Haible  <bruno@clisp.org>
31887
31888         * modules/posix_spawn-internal (Depends-on): Add errno.
31889
31890 2009-06-17  Bruno Haible  <bruno@clisp.org>
31891
31892         Define missing ESTALE on Interix 3.5.
31893         * lib/errno.in.h (ESTALE): Assign a value if missing.
31894         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
31895         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
31896         missing.
31897         * doc/posix-headers/errno.texi: Mention the Interix bug.
31898         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
31899
31900 2009-06-15  Eric Blake  <ebb9@byu.net>
31901
31902         memchr, memchr2: add valgrind exception
31903         * lib/memchr.valgrind: New file.
31904         * lib/memchr2.valgrind: New file.
31905         * modules/memchr (Files): Distribute valgrind file.
31906         * modules/memchr2 (Files): Likewise.
31907
31908         docs: memchr is no longer obsolete
31909         * MODULES.html.sh: Move memchr from obsolete to string.h section.
31910         * lib/string.in.h (memchr): Simplify logic.
31911
31912 2009-06-14  Jim Meyering  <meyering@redhat.com>
31913
31914         link-follow: fix the "checking..." message to not mention trailing slash
31915         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
31916         never considered trailing slashes.
31917
31918 2009-06-14  Bruno Haible  <bruno@clisp.org>
31919
31920         * m4/memchr.m4: Mention also the bug on IA-64.
31921         * doc/posix-functions/memchr.texi: Likewise.
31922
31923 2009-06-12  Eric Blake  <ebb9@byu.net>
31924
31925         memchr: detect broken x86_64 and alpha implementations
31926         * modules/memchr-tests (Depends-on): Move mmap detection...
31927         * modules/memchr (Depends-on): ...here.
31928         (configure.ac): Set indicator.
31929         * lib/string.in.h (memchr): Declare replacement.
31930         * modules/string (Makefile.am): Trigger replacement.
31931         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
31932         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
31933         bugs.
31934         * doc/posix-functions/memchr.texi (memchr): Document the bug.
31935         * modules/getpagesize (License): Relax license.
31936
31937 2009-06-11  Bruno Haible  <bruno@clisp.org>
31938
31939         * lib/idpriv.h: Add more references.
31940
31941 2009-06-08  Bruno Haible  <bruno@clisp.org>
31942
31943         Tests for module 'idpriv-droptemp'.
31944         * modules/idpriv-droptemp-tests: New file.
31945         * tests/test-idpriv-droptemp.sh: New file.
31946         * tests/test-idpriv-droptemp.su.sh: New file.
31947         * tests/test-idpriv-droptemp.c: New file.
31948
31949         New module 'idpriv-droptemp'.
31950         * lib/idpriv-droptemp.c: New file.
31951         * modules/idpriv-droptemp: New file.
31952
31953 2009-06-08  Bruno Haible  <bruno@clisp.org>
31954
31955         Tests for module 'idpriv-drop'.
31956         * modules/idpriv-drop-tests: New file.
31957         * tests/test-idpriv-drop.sh: New file.
31958         * tests/test-idpriv-drop.su.sh: New file.
31959         * tests/test-idpriv-drop.c: New file.
31960
31961         New module 'idpriv-drop'.
31962         * lib/idpriv.h: New file.
31963         * lib-idpriv-drop.c: New file.
31964         * m4/idpriv.m4: New file.
31965         * modules/idpriv-drop: New file.
31966
31967 2009-06-08  Bruno Haible  <bruno@clisp.org>
31968
31969         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
31970         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
31971         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
31972         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
31973         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
31974         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
31975         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
31976
31977 2009-06-08  Eric Blake  <ebb9@byu.net>
31978
31979         test-strstr: use memory fence, when possible
31980         * tests/test-strstr.c (main): Use memory fence, in order to be
31981         more likely to trigger Debian bug 521737.
31982         * modules/strstr-tests (Files): Pull in additional files.
31983
31984         memchr: no longer obsolete, for wider field testing
31985         * modules/memchr (Status, Notice): Delete, this module is no
31986         longer obsolete.
31987         * modules/vasnprintf (Depends-on): Add memchr.
31988
31989 2009-06-07  Jim Meyering  <meyering@redhat.com>
31990
31991         hash: declare some functions with the warn_unused_result attribute
31992         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
31993
31994 2009-06-07  Bruno Haible  <bruno@clisp.org>
31995
31996         * tests/test-alignof.c: Don't test int64_t if it does not exist.
31997         Reported by Eric Blake.
31998
31999 2009-06-06  Eric Blake  <ebb9@byu.net>
32000
32001         test-alignof: fix typo with long double
32002         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
32003         compiler error.
32004
32005 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
32006
32007         Escape non-texinfo { and }s.
32008         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
32009         markup error.
32010
32011 2009-06-04  Jim Meyering  <meyering@redhat.com>
32012
32013         gitlog-to-changelog: don't infloop on an empty commit log
32014         * build-aux/gitlog-to-changelog: Warn about an empty log message.
32015         Reported by Boris Petersen <transacid@centerim.org>.
32016
32017 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
32018
32019         version-etc: extend for packagers
32020         Add three new configure options, intended for packagers:
32021           --with-packager="packager name"
32022           --with-packager-version="packager-specific version"
32023           --with-packager-bug-reports="packager bug reporting"
32024         An example with coreutils:
32025           $ ./configure \
32026             --with-packager=Gentoo \
32027             --with-packager-bug-report=http://bugs.gentoo.org/ \
32028             --with-packager-version="patchset 1.6"
32029           $ ./src/ls --version | head -n2
32030           ls (GNU coreutils) 7.1-dirty
32031           Packaged by Gentoo (patchset 1.6)
32032         Note that the bug reporting info via --help doesn't show up because
32033         coreutils uses its own custom emit_bug_reporting_address() implementation
32034         in src/system.h.  If it didn't, it'd look like:
32035           $ ./src/ls --help | tail -n4
32036           Report bugs to <bug-coreutils@gnu.org>.
32037           Report Gentoo bugs to <http://bugs.gentoo.org/>.
32038           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
32039           General help using GNU software: <http://www.gnu.org/gethelp/>.
32040         * lib/version-etc.c: Print new information, if provided.
32041         * m4/version-etc.m4: New file.
32042         * modules/version-etc (Files): Add m4/version-etc.m4.
32043         (configure.ac): Add gl_VERSION_ETC.
32044
32045 2009-05-31  Bruno Haible  <bruno@clisp.org>
32046
32047         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
32048         and 'int64_t'.
32049         * modules/alignof-tests (Dependencies): Add stdint.
32050         Reported by Eric Blake.
32051
32052 2009-05-31  Bruno Haible  <bruno@clisp.org>
32053
32054         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
32055         restriction due to compiler bugs.
32056         Reported by Eric Blake.
32057
32058 2009-05-31  Simon Josefsson  <simon@josefsson.org>
32059             Bruno Haible  <bruno@clisp.org>
32060
32061         Fix test-alignof failure.
32062         * lib/alignof.h (alignof_slot): New macro.
32063         (alignof_type): New macro, with the same semantics as the previous
32064         'alignof'.
32065         (alignof): Alias to alignof_slot.
32066         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
32067         check that the results are usable as constant expressions.
32068
32069 2009-05-31  Bruno Haible  <bruno@clisp.org>
32070
32071         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
32072         * tests/test-memchr.c (main): Check that memchr does not read past the
32073         first occurrence of the byte.
32074         * tests/test-strstr.c (main): Update comment.
32075         Suggested by Eric Blake.
32076
32077 2009-05-30  Bruno Haible  <bruno@clisp.org>
32078
32079         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
32080         detail how to use dumpbin.
32081         Reported by David Byron <dbyron@dbyron.com>.
32082
32083 2009-06-02  Simon Josefsson  <simon@josefsson.org>
32084
32085         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
32086
32087 2009-06-02  Simon Josefsson  <simon@josefsson.org>
32088
32089         * m4/manywarnings.m4: Add GCC 4.4 warnings.
32090
32091 2009-05-28  Bruno Haible  <bruno@clisp.org>
32092
32093         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
32094         build-aux/ files.
32095
32096 2009-05-28  Simon Josefsson  <simon@josefsson.org>
32097
32098         * gnulib-tool (func_import): Transform license on build-aux/ files too.
32099
32100 2009-05-27  Simon Josefsson  <simon@josefsson.org>
32101
32102         * gnulib-tool (sed_transform_main_lib_file)
32103         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
32104         regexps.
32105
32106 2009-05-26  Simon Josefsson  <simon@josefsson.org>
32107
32108         * tests/test-strstr.c: Add another self-test.
32109         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
32110         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
32111
32112 2009-05-23  Bruno Haible  <bruno@clisp.org>
32113
32114         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
32115         change.
32116
32117 2009-05-21  Bruno Haible  <bruno@clisp.org>
32118
32119         Simplify use of mode_t varargs.
32120         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
32121         uses 'mode_t' or 'int'.
32122         * lib/openat.c (openat): Likewise.
32123         * lib/open-safer.c (open_safer): Likewise.
32124         * m4/mode_t.m4: New file.
32125         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
32126         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
32127         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
32128         * modules/open (Files): Add m4/mode_t.m4.
32129         * modules/openat (Files): Likewise.
32130         * modules/fcntl-safer (Files): Likewise.
32131         Suggested by Eric Blake.
32132
32133 2009-05-21  Pádraig Brady  <P@draigbrady.com>
32134
32135         * doc/glibc-functions/fallocate.texi: New file.
32136         * doc/gnulib.texi: Include it.
32137
32138 2009-05-21  Eric Blake  <ebb9@byu.net>
32139             Bruno Haible  <bruno@clisp.org>
32140
32141         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
32142         invocations.
32143         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
32144
32145 2009-05-21  Eric Blake  <ebb9@byu.net>
32146             Bruno Haible  <bruno@clisp.org>
32147
32148         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
32149         include_next. Fix of 2008-11-20 commit.
32150         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
32151         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
32152         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
32153         NEXT_MATH_H.
32154         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
32155         instead of NEXT_MATH_H.
32156
32157 2009-05-21  Bruno Haible  <bruno@clisp.org>
32158
32159         Avoid redefinition warnings for SIZE_MAX.
32160         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
32161         Reported by Simon Josefsson.
32162
32163 2009-05-21  Bruno Haible  <bruno@clisp.org>
32164
32165         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
32166         AC_CACHE_VAL.
32167
32168 2009-05-20  Bruno Haible  <bruno@clisp.org>
32169
32170         Make zeroptr.h work on mingw.
32171         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
32172         mprotect.
32173         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
32174         * modules/memchr2-tests (configure.ac): Likewise.
32175         * modules/memcmp-tests (configure.ac): Likewise.
32176         * modules/memmem-tests (configure.ac): Likewise.
32177         * modules/memrchr-tests (configure.ac): Likewise.
32178         Reported by Simon Josefsson.
32179
32180 2009-05-20  Simon Josefsson  <simon@josefsson.org>
32181
32182         * tests/test-glob.c: Include string.h for strcmp prototype.
32183
32184 2009-05-20  Simon Josefsson  <simon@josefsson.org>
32185
32186         * modules/getdelim (Depends-on): Add explicit stdint, although it
32187         was implicitly already pulled in via realloc-posix.
32188         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
32189
32190 2009-05-20  Simon Josefsson  <simon@josefsson.org>
32191
32192         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
32193         G. Christensen" <tgc@jupiterrise.com>.
32194         * m4/sys_socket_h.m4: Check for sa_family_t.
32195         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
32196         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
32197         * tests/test-sys_socket.c: Check that sa_family_t works.
32198
32199 2009-05-18  Eric Blake  <ebb9@byu.net>
32200
32201         maint.mk: allow gnulib_dir in VPATH build
32202         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
32203
32204 2009-05-15  Jim Meyering  <meyering@redhat.com>
32205
32206         maint.mk: Give gnulib_dir a default definition.
32207         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
32208         Thus, most packages no longer need to specify this variable in cfg.mk
32209
32210 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
32211
32212         rename.m4: fix typos that would make non-mingw cross-configure fail
32213         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
32214
32215 2009-05-13  Eric Blake  <ebb9@byu.net>
32216
32217         mmap-anon: avoid out-of-order autoconf expansion
32218         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
32219         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
32220         * modules/memchr-tests (Depends-on): Add extensions.
32221         * modules/memchr2-tests (Depends-on): Add extensions.
32222         * modules/memcmp-tests (Depends-on): Add extensions.
32223         * modules/memmem-tests (Depends-on): Add extensions.
32224         * modules/memrchr-tests (Depends-on): Add extensions.
32225
32226 2009-05-13  Bruno Haible  <bruno@clisp.org>
32227
32228         Make some tests ISO C 99 compliant.
32229         * tests/zerosize-ptr.h: New file.
32230         * tests/test-memchr.c: Include zerosize-ptr.h.
32231         (main): Use a zero-size object pointer instead of NULL.
32232         * tests/test-memchr2.c: Include zerosize-ptr.h.
32233         (main): Use a zero-size object pointer instead of NULL.
32234         * tests/test-memcmp.c: Include zerosize-ptr.h.
32235         (main): Use a zero-size object pointer instead of NULL.
32236         * tests/test-memmem.c: Include zerosize-ptr.h.
32237         (main): Use a zero-size object pointer instead of NULL.
32238         * tests/test-memrchr.c: Include zerosize-ptr.h.
32239         (main): Use a zero-size object pointer instead of NULL.
32240         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
32241         m4/mmap-anon.m4.
32242         (Depends-on): Add getpagesize.
32243         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
32244         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
32245         m4/mmap-anon.m4.
32246         (Depends-on): Add getpagesize.
32247         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
32248         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
32249         m4/mmap-anon.m4.
32250         (Depends-on): Add getpagesize.
32251         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
32252         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
32253         m4/mmap-anon.m4.
32254         (Depends-on): Add getpagesize.
32255         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
32256         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
32257         m4/mmap-anon.m4.
32258         (Depends-on): Add getpagesize.
32259         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
32260
32261 2009-05-12  Bruno Haible  <bruno@clisp.org>
32262
32263         Tests for module 'alignof'.
32264         * modules/alignof-tests: New file.
32265         * tests/test-alignof.c: New file.
32266
32267 2009-05-12  Bruno Haible  <bruno@clisp.org>
32268
32269         Fix alignof macro.
32270         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
32271         vendor compilers that are always correct.
32272
32273 2009-05-12  Bruno Haible  <bruno@clisp.org>
32274
32275         Make the MAP_ANONYMOUS detection work on HP-UX 11.
32276         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
32277         not whether its fully works.
32278
32279 2009-05-12  Bruno Haible  <bruno@clisp.org>
32280
32281         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
32282
32283 2009-05-12  Jim Meyering  <meyering@redhat.com>
32284
32285         * top/maint.mk: Adjust backslash alignment.
32286
32287 2009-05-11  Simon Josefsson  <simon@josefsson.org>
32288
32289         * top/maint.mk: Make $(srcdir)/build-aux configurable.
32290
32291 2009-05-11  Eric Blake  <ebb9@byu.net>
32292
32293         argp: avoid undefined behavior
32294         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
32295         macros.
32296
32297 2009-05-08  Simon Josefsson  <simon@josefsson.org>
32298
32299         * tests/test-vc-list-files-git.sh: Do git config of user.email and
32300         user.name to prevent git commit from complaining.
32301
32302 2009-05-10  Bruno Haible  <bruno@clisp.org>
32303
32304         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
32305         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
32306         it rewrites every file name only once.
32307         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
32308
32309 2009-05-08  Bruno Haible  <bruno@clisp.org>
32310
32311         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
32312         instead of 'max'.
32313
32314 2009-05-08  Simon Josefsson  <simon@josefsson.org>
32315
32316         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
32317         sockaddr_storage test.
32318
32319 2009-05-07  Simon Josefsson  <simon@josefsson.org>
32320
32321         * modules/sys_socket (Makefile.am): Substitute
32322         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
32323         * m4/sys_socket_h.m4: Check for sockaddr_storage.
32324         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
32325         * tests/test-sys_socket.c: Check sockaddr_storage.
32326
32327 2009-05-08  Bruno Haible  <bruno@clisp.org>
32328
32329         New module 'alignof'.
32330         * lib/alignof.h: New file.
32331         * modules/alignof: New file.
32332
32333 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
32334             Bruno Haible  <bruno@clisp.org>
32335
32336         Fix test-file-has-acl on FreeBSD.
32337         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
32338         mask is implicitly added.
32339         * tests/test-file-has-acl.c: Include <signal.h>.
32340         (main): Terminate the test after 5 seconds.
32341         * modules/acl-tests (configure.ac): Check for alarm function.
32342
32343 2009-05-04  Bruno Haible  <bruno@clisp.org>
32344
32345         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
32346         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
32347         * modules/errno (configure.ac): Drop AC_REQUIRE.
32348         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
32349         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
32350
32351 2009-05-04  Simon Josefsson  <simon@josefsson.org>
32352
32353         * modules/glob-tests: New module.
32354         * tests/test-glob.c: Add.
32355
32356 2009-05-04  Simon Josefsson  <simon@josefsson.org>
32357
32358         * modules/fnmatch-tests: New module.
32359         * tests/test-fnmatch.c: Add.
32360
32361 2009-05-04  Eric Blake  <ebb9@byu.net>
32362
32363         maint: make the new no-submodule-changes rule VPATH-safe
32364         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
32365
32366 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
32367             Bruno Haible  <bruno@clisp.org>
32368
32369         acl: Fix infinite loop on FreeBSD.
32370         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
32371         of return value from acl_get_entry.
32372         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
32373         Likewise.
32374
32375 2009-05-03  Bruno Haible  <bruno@clisp.org>
32376
32377         * lib/acl-internal.h (acl_entries): Clarify return value.
32378         * lib/acl_entries.c (acl_entries): Likewise.
32379
32380 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
32381
32382         Bug fix in acl module.
32383         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
32384
32385 2009-05-03  Bruno Haible  <bruno@clisp.org>
32386
32387         Create gperf-generated file in the source dir, not in the build dir.
32388         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
32389         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
32390         * modules/unicase/locale-language (unicase/locale-languages.h):
32391         Likewise.
32392         * modules/unicase/special-casing (unicase/special-casing-table.h):
32393         Likewise.
32394         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
32395         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
32396         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
32397         Reported by Ralf Wildenhues.
32398
32399 2009-05-03  Bruno Haible  <bruno@clisp.org>
32400
32401         * modules/fnmatch (Description, configure.ac): Taken from
32402         fnmatch-posix.
32403         * modules/fnmatch-posix: Turn into a symbolic reference to the
32404         'fnmatch' module, and deprecate.
32405         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
32406
32407 2009-05-03  Bruno Haible  <bruno@clisp.org>
32408
32409         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
32410         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
32411         Reported by Ralf Wildenhues.
32412
32413 2009-05-04  Simon Josefsson  <simon@josefsson.org>
32414
32415         * m4/fnmatch.m4: Fix fnmatch re-define.
32416
32417 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
32418
32419         priv-set: new module and tests; adapt write-any-file
32420         * lib/priv-set.c: New file.
32421         * lib/priv-set.h: New file.
32422         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
32423         * lib/write-any-file.c: Simplify by using priv-set module.
32424         * m4/priv-set.m4: New file.
32425         * modules/priv-set: New file.
32426         * modules/unlinkdir: Add dependency on priv-set module.
32427         * modules/write-any-file: Likewise.
32428
32429         Tests for module 'priv-set'.
32430         * modules/priv-set-tests: New file.
32431         * tests/test-priv-set.c: New file.
32432
32433 2009-05-03  Jim Meyering  <meyering@redhat.com>
32434             Bruno Haible  <bruno@clisp.org>
32435
32436         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
32437         use the converted UTF-8 variant of the name instead.
32438
32439 2009-05-03  Jim Meyering  <meyering@redhat.com>
32440
32441         tests: tighten some getdate tests
32442         * tests/test-getdate.c (main): Tighten tests: require equality,
32443         not just greater than.  Set TZ envvar to UTC0.
32444
32445 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
32446
32447         getdate: correctly interpret "next monday" when run on a Monday
32448         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
32449         that e.g., "next tues" (when run on a tuesday) results in a date
32450         that is one week in the future, and not today's date.
32451         I.e., add a week when the wday is the same as the current one.
32452         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
32453         and earlier by Martin Bernreuther and Jan Minář.
32454         * tests/test-getdate.c (main): Check that "next DAY" is always in
32455         the future and that "last DAY" is always in the past.
32456
32457 2009-05-02  Jim Meyering  <meyering@redhat.com>
32458
32459         build: ensure that a release build fails when a submodule is unclean
32460         * top/maint.mk (no-submodule-changes): New rule.
32461         (alpha beta major): Depend on it.
32462
32463 2009-05-02  Bruno Haible  <bruno@clisp.org>
32464
32465         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
32466         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
32467         shell variable gl_fnmatch_required to detect which variant is
32468         requested.
32469         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
32470         gl_FUNC_FNMATCH_POSIX.
32471         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
32472         exclude fnmatch-posix.
32473
32474 2009-05-02  Bruno Haible  <bruno@clisp.org>
32475
32476         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
32477         * modules/mbsrtowcs (License): Change to LGPLv2+.
32478         * modules/strnlen1 (License): Likewise.
32479         Reported by Simon Josefsson.
32480
32481 2009-05-02  Bruno Haible  <bruno@clisp.org>
32482
32483         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
32484         "cross".
32485         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
32486         gnulib-tool was called with option --source-base=lib.
32487
32488 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32489
32490         Use automake *-local hooks without commands, for extensibility.
32491         * modules/localcharset (Makefile.am): Rename install-exec-local
32492         rule to install-exec-localcharset, and make it a prerequisite of
32493         install-exec-local.  Likewise, rename the uninstall-local rule to
32494         uninstall-localcharset, and make it a prerequisite of the former.
32495
32496 2009-05-01  Bruno Haible  <bruno@clisp.org>
32497
32498         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
32499         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
32500         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
32501         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
32502         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
32503         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
32504         m4/locale-zh.m4, m4/codeset.m4.
32505
32506         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
32507         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
32508         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
32509         m4/locale-zh.m4.
32510
32511         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
32512         REPLACE_WCRTOMB if mbstate_t must be replaced.
32513         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
32514         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
32515
32516 2009-05-01  Bruno Haible  <bruno@clisp.org>
32517
32518         Avoid compiler warnings when redefining macros defined by <libintl.h>.
32519         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
32520         dngettext, dcngettext, textdomain, bindtextdomain,
32521         bind_textdomain_codeset): Undefine before redefining.
32522
32523 2009-04-30  Bruno Haible  <bruno@clisp.org>
32524
32525         Fix bug introduced on 2009-04-25.
32526         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
32527         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
32528         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
32529         is defined.
32530         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
32531         is defined.
32532         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
32533         is defined.
32534         Reported by Elbert_Pol <elbert.pol@gmail.com>.
32535
32536 2009-04-28  Bruno Haible  <bruno@clisp.org>
32537
32538         Comment tweaks.
32539         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
32540         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
32541         * lib/unicase.h (u*_casexfrm): Likewise.
32542         Reported by Paolo Bonzini.
32543
32544 2009-04-28  Bruno Haible  <bruno@clisp.org>
32545
32546         Fix a compilation error.
32547         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
32548         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
32549         Reported by Jim Meyering.
32550
32551 2009-04-27  Bruno Haible  <bruno@clisp.org>
32552
32553         New module 'libunistring'.
32554         * modules/libunistring: New file.
32555         * m4/libunistring.m4: New file.
32556         * MODULES.html.sh (Unicode string functions): Add it.
32557
32558 2009-04-27  Eric Blake  <ebb9@byu.net>
32559
32560         maint.mk: allow package-specific header to provide <config.h>
32561         * top/maint.mk (sc_require_config_h): New variable.
32562         (sc_require_config_h, sc_require_config_h_first): Use it.
32563
32564 2009-04-27  Simon Josefsson  <simon@josefsson.org>
32565
32566         * top/maint.mk (sc_avoid_if_before_free): Except
32567         useless-if-before-free script.
32568
32569 2009-04-27  Eric Blake  <ebb9@byu.net>
32570
32571         maintainer-makefile: depend on all required helper scripts
32572         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
32573         useless-if-before-free.
32574         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
32575         version, rather than assuming gnulib checkout is available.
32576         Reported by Simen Josefsson.
32577
32578 2009-04-26  Bruno Haible  <bruno@clisp.org>
32579
32580         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
32581         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
32582         "../" or "..".
32583
32584 2009-04-26  Bruno Haible  <bruno@clisp.org>
32585
32586         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
32587         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
32588         AC_LIB_HAVE_LINKFLAGS.
32589
32590 2009-04-26  Bruno Haible  <bruno@clisp.org>
32591
32592         Simplify calling convention of u*_conv_from_encoding.
32593         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
32594         u32_conv_from_encoding): Expect a resultbuf argument and return the
32595         result directly as a pointer.
32596         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
32597         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
32598         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
32599         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
32600         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
32601         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
32602         Update.
32603         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
32604         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
32605         * lib/vasnprintf.c (VASNPRINTF): Update.
32606         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
32607         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
32608         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
32609         * NEWS: Mention the change.
32610
32611 2009-04-26  Bruno Haible  <bruno@clisp.org>
32612
32613         Simplify calling convention of u*_conv_to_encoding.
32614         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
32615         u32_conv_to_encoding): Expect a resultbuf argument and return the
32616         result directly as a pointer.
32617         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
32618         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
32619         freeing scaled_offsets if mem_iconveha failed.
32620         * lib/unicase/u-casexfrm.h (FUNC): Update.
32621         * lib/uninorm/u-normxfrm.h (FUNC): Update.
32622         * lib/vasnprintf.c (VASNPRINTF): Update.
32623         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
32624         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
32625         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
32626         * NEWS: Mention the change.
32627
32628 2009-04-26  Bruno Haible  <bruno@clisp.org>
32629
32630         Avoid test failures on AIX and OSF/1.
32631         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
32632         malloc(0).
32633         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
32634         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
32635         Likewise.
32636         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
32637         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
32638         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
32639         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
32640         * doc/posix-functions/malloc.texi: Document the portability problem
32641         related to malloc(0).
32642
32643 2009-04-26  Bruno Haible  <bruno@clisp.org>
32644
32645         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
32646         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
32647         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
32648
32649 2009-04-25  Bruno Haible  <bruno@clisp.org>
32650
32651         Avoid link error when creating a namespace clean library.
32652         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
32653         as macro with arguments if already defined as an alias.
32654         * lib/signbitf.c (gl_signbitf): Don't undefine.
32655         * lib/signbitd.c (gl_signbitd): Don't undefine.
32656         * lib/signbitl.c (gl_signbitl): Don't undefine.
32657
32658 2009-04-25  Jim Meyering  <meyering@redhat.com>
32659
32660         vc-list-files: fix another quoting bug
32661         * build-aux/vc-list-files: Avoid sed backslash expansion
32662         of pathological directory names.
32663
32664 2009-04-25  Eric Blake  <ebb9@byu.net>
32665
32666         vc-list-files: fix shell quoting error
32667         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
32668         timestamp.
32669
32670 2009-04-25  Jim Meyering  <meyering@redhat.com>
32671
32672         vc-list-files: restore lost functionality with subdir argument
32673         * build-aux/vc-list-files: When given a non-"." sub-directory
32674         argument, substitute the $dir/ prefix back onto each resulting name.
32675         Otherwise, coreutils' root_tests check would fail.
32676
32677 2009-04-24  Eric Blake  <ebb9@byu.net>
32678
32679         vc-list-files: ignore git symlinks
32680         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
32681         than ls-files, to ignore git symlinks.
32682
32683         maint.mk: import improvements from m4
32684         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
32685         (move_if_change): Delete unused macro.
32686         (news-date-check, vc-diff-check): Support VPATH builds.
32687         (announcement): Likewise.  Split --bootstrap-tools list...
32688         (boostrap-tools): ...into separate list, which can be overridden
32689         in cfg.mk.
32690         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
32691         requiring dependency on useless-if-before-free module.
32692         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
32693         Support VPATH builds.
32694
32695 2009-04-24  Jim Meyering  <meyering@redhat.com>
32696
32697         maint.mk: remove coreutils-specific rules and variables
32698         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
32699         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
32700         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
32701
32702         maint.mk: remove obsolete rule
32703         * top/maint.mk (rel-check): Remove rule.
32704         (WGET, WGETFLAGS): Remove now-unused variables.
32705
32706 2009-04-24  Simon Josefsson  <simon@josefsson.org>
32707
32708         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
32709         consistency.
32710
32711         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
32712         '$(PATH_SEPARATOR)' instead of ':'.
32713
32714 2009-04-24  Simon Josefsson  <simon@josefsson.org>
32715
32716         * lib/getopt1.c (main): Use 'const' for static array.
32717
32718 2009-04-24  Simon Josefsson  <simon@josefsson.org>
32719
32720         * top/maint.mk: Sync with coreutils.
32721         * NEWS: Explain incompatibilities.
32722
32723 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
32724             Bruno Haible  <bruno@clisp.org>
32725
32726         Fix cross-compilation results.
32727         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
32728         statement, as third argument of AC_TRY_RUN.
32729         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
32730         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
32731         Likewise.
32732         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
32733         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
32734         Likewise.
32735         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
32736         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
32737         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
32738
32739 2009-04-20  Bruno Haible  <bruno@clisp.org>
32740
32741         Avoid test failure on mingw.
32742         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
32743
32744 2009-04-20  Bruno Haible  <bruno@clisp.org>
32745
32746         Avoid compilation error on mingw.
32747         * modules/localename-tests (Depends-on): Add locale.
32748
32749 2009-04-19  Bruno Haible  <bruno@clisp.org>
32750
32751         Support for building a shared library on Windows platforms.
32752         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
32753         (main): Test the presence of UNINORM_NFC here.
32754         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
32755         (main): Test the presence of UNINORM_NFD here.
32756         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
32757         (main): Test the presence of UNINORM_NFKC here.
32758         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
32759         (main): Test the presence of UNINORM_NFKD here.
32760
32761 2009-04-19  Bruno Haible  <bruno@clisp.org>
32762
32763         Avoid a compiler warning.
32764         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
32765         Change type of variable 'sequence'.
32766
32767 2009-04-19  Bruno Haible  <bruno@clisp.org>
32768
32769         * modules/configmake (Makefile.am): When the contents of configmake.h
32770         does not change, arrange to preserve its modification time.
32771
32772 2009-04-17  Simon Josefsson  <simon@josefsson.org>
32773
32774         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
32775         gettext domain.
32776
32777 2009-04-16  Jim Meyering  <meyering@redhat.com>
32778
32779         useless-if-before-free: improve conversion code
32780         * build-aux/useless-if-before-free: Adjust code-in-comment to match
32781         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
32782
32783 2009-04-14  Bruno Haible  <bruno@clisp.org>
32784
32785         * modules/fcntl (Depends-on): Add extensions.
32786         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
32787
32788 2009-04-12  Ben Pfaff  <blp@gnu.org>
32789
32790         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
32791         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
32792
32793 2009-03-20  Ben Pfaff  <blp@gnu.org>
32794
32795         Make rename replace existing destinations on Windows.
32796         * m4/rename.m4: Add test for Mingw.
32797         * lib/rename.c: Add rename replacement that uses MoveFileEx with
32798         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
32799         * doc/posix-functions/rename.texi: Document.
32800
32801 2009-04-10  Bruno Haible  <bruno@clisp.org>
32802
32803         New include file "iconveh.h".
32804         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
32805         * lib/striconveh.h: Include it.
32806         (enum iconv_ilseq_handler): Remove definition.
32807         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
32808         striconveh.h.
32809         * lib/striconveha.c: Include striconveh.h.
32810         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
32811         * modules/striconveh (Files): Add lib/iconveh.h.
32812         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
32813         lib/striconveh.h.
32814
32815 2009-04-10  Bruno Haible  <bruno@clisp.org>
32816
32817         * lib/uniconv.h: Update comment.
32818
32819 2009-04-10  Bruno Haible  <bruno@clisp.org>
32820
32821         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
32822         always.
32823         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
32824         * lib/unistr/u16-mbtouc-aux.c: Likewise.
32825         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
32826         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
32827         "unistring-notinline.h", so that the function gets defined always.
32828         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
32829         * lib/unistr/u8-uctomb.c: Likewise.
32830         * lib/unistr/u16-mbtouc.c: Likewise.
32831         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
32832         * lib/unistr/u16-uctomb.c: Likewise.
32833         * lib/unistr/u32-mbtouc.c: Likewise.
32834         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
32835         * lib/unistr/u32-uctomb.c: Likewise.
32836
32837 2009-04-10  Bruno Haible  <bruno@clisp.org>
32838
32839         Mark 'utime' obsolete.
32840         * modules/utime (Status, Notice): New sections.
32841         Suggested by Jim Meyering.
32842
32843         Fix cross-compile guess for utime test.
32844         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
32845         autoconf.
32846         * doc/posix-functions/utime.texi: Give more precisions.
32847         Reported by Jan <ipif@ymail.com>.
32848
32849 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
32850
32851         filevercmp: correct today's change
32852         * lib/filevercmp.c: Also handle coreutils' test inputs.
32853         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
32854
32855         Fix regression in 'filevercmp' module. Thanks Sven Joachim
32856         for reporting it.
32857         * lib/filevercmp.c: Special handle for "", "." and "..".
32858         * tests/test-filevercmp.c: Enlarge the set suite.
32859
32860 2009-04-07  Jim Meyering  <meyering@redhat.com>
32861
32862         useless-if-before-free: show how to remove braced useless free, too
32863         * build-aux/useless-if-before-free: still only in a comment, though.
32864
32865 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
32866
32867         maint.mk: import changes to syntax-check macros from coreutils
32868         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
32869         Use them in the relevant macros.
32870
32871 2009-04-06  Bruno Haible  <bruno@clisp.org>
32872
32873         Fix unportable use of bit-fields.
32874         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
32875         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
32876         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
32877
32878 2009-04-06  Bruno Haible  <bruno@clisp.org>
32879
32880         Avoid test failures on AIX and OSF/1.
32881         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
32882         that malloc(0) = NULL.
32883         * tests/unicase/test-u8-tolower.c (check): Likewise.
32884         * tests/unicase/test-u8-totitle.c (check): Likewise.
32885         * tests/unicase/test-u8-toupper.c (check): Likewise.
32886         * tests/unicase/test-u16-casefold.c (check): Likewise.
32887         * tests/unicase/test-u16-tolower.c (check): Likewise.
32888         * tests/unicase/test-u16-totitle.c (check): Likewise.
32889         * tests/unicase/test-u16-toupper.c (check): Likewise.
32890         * tests/unicase/test-u32-casefold.c (check): Likewise.
32891         * tests/unicase/test-u32-tolower.c (check): Likewise.
32892         * tests/unicase/test-u32-totitle.c (check): Likewise.
32893         * tests/unicase/test-u32-toupper.c (check): Likewise.
32894         * tests/uninorm/test-u8-nfc.c (check): Likewise.
32895         * tests/uninorm/test-u8-nfd.c (check): Likewise.
32896         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
32897         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
32898         * tests/uninorm/test-u16-nfc.c (check): Likewise.
32899         * tests/uninorm/test-u16-nfd.c (check): Likewise.
32900         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
32901         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
32902         * tests/uninorm/test-u32-nfc.c (check): Likewise.
32903         * tests/uninorm/test-u32-nfd.c (check): Likewise.
32904         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
32905         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
32906
32907 2009-04-05  Bruno Haible  <bruno@clisp.org>
32908
32909         Work around an autoconf limitation.
32910         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
32911         comment line if it would be longer than 3 KB.
32912
32913 2009-04-05  Bruno Haible  <bruno@clisp.org>
32914
32915         Avoid test failure with libiconv-1.13.
32916         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
32917         of the expected test results.
32918
32919 2009-04-05  Bruno Haible  <bruno@clisp.org>
32920
32921         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
32922         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
32923         that it should be installed.
32924
32925 2009-04-05  Bruno Haible  <bruno@clisp.org>
32926
32927         * gnulib-tool: New option --copy-file.
32928         (func_usage): Document it.
32929         (func_dest_tmpfilename): Moved out of func_import.
32930         (func_add_file, func_update_file): New functions, extracted from
32931         func_import.
32932         (func_import): Update.
32933
32934 2009-04-05  Karl Berry  <karl@gnu.org>
32935
32936         * README: prominently mention gnulib-tool.
32937         Rearrange sections so getting the code is near the top.
32938
32939 2009-04-05  Bruno Haible  <bruno@clisp.org>
32940
32941         * lib/unicase.h: Mention u*_cmp2.
32942         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
32943         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
32944         * lib/unicase/ulc-casecmp.c: Likewise.
32945         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
32946         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
32947         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
32948         unistr/u8-cmp.
32949         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
32950         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
32951         unistr/u16-cmp.
32952         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
32953         unistr/u32-cmp.
32954
32955         * lib/uninorm.h: Mention u*_cmp2.
32956         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
32957         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
32958         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
32959         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
32960         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
32961         unistr/u8-cmp.
32962         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
32963         unistr/u16-cmp.
32964         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
32965         unistr/u32-cmp.
32966
32967         New module 'unistr/u32-cmp2'.
32968         * lib/unistr/u32-cmp2.c: New file.
32969         * modules/unistr/u32-cmp2: New file.
32970
32971         New module 'unistr/u16-cmp2'.
32972         * lib/unistr/u16-cmp2.c: New file.
32973         * modules/unistr/u16-cmp2: New file.
32974
32975         New module 'unistr/u8-cmp2'.
32976         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
32977         * lib/unistr/u8-cmp2.c: New file.
32978         * lib/unistr/u-cmp2.h: New file.
32979         * modules/unistr/u8-cmp2: New file.
32980
32981 2009-04-05  Bruno Haible  <bruno@clisp.org>
32982
32983         * lib/unictype.h (uc_property_is_valid): New macro.
32984         * tests/unictype/test-pr_byname.c (main): Use it.
32985
32986         * lib/unistr.h: Doc fixes.
32987         * lib/uniconv.h: Doc fixes.
32988         * lib/unictype.h: Doc fixes.
32989
32990 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
32991
32992         Port coreutils 7.2 to Solaris 8.
32993
32994         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
32995         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
32996         for Solaris 8.  This is a bit of a hack, as it means it's the
32997         caller's responsibility to add -lnsl if needed, but most likely it
32998         won't be needed since only getaddrinfo uses this and getaddrinfo
32999         isn't needed on Solaris 8.
33000
33001         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
33002         problem to Solaris 8 encountered with coreutils 7.2, which
33003         resulted in a message "fnmatch.c:292: warning: passing argument 4
33004         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
33005         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
33006
33007 2009-04-03  Simon Josefsson  <simon@josefsson.org>
33008
33009         * m4/ld-version-script.m4: Add FIXME comment.
33010
33011 2009-04-02  Simon Josefsson  <simon@josefsson.org>
33012
33013         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
33014         SOVERSION variable.
33015
33016 2009-04-02  Bruno Haible  <bruno@clisp.org>
33017
33018         * Makefile (info, html, dvi, pdf): Combine the rules.
33019         Suggested by Jim Meyering.
33020
33021 2009-04-01  Bruno Haible  <bruno@clisp.org>
33022
33023         * Makefile (info, html, dvi, pdf): New targets.
33024         Reported by Reuben Thomas <rrt@sc3d.org>.
33025
33026 2009-04-01  Bruno Haible  <bruno@clisp.org>
33027
33028         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
33029         can be put into PATH.
33030         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
33031
33032 2009-04-01  Bruno Haible  <bruno@clisp.org>
33033
33034         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
33035
33036 2009-04-01  Bruno Haible  <bruno@clisp.org>
33037
33038         Rename module 'visibility'.
33039         * modules/lib-symbol-visibility: Renamed from modules/visibility.
33040         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
33041         * doc/gnulib.texi: Update.
33042         * MODULES.html.sh (Misc): Update.
33043         * NEWS: Mention the change.
33044
33045 2009-04-01  Simon Josefsson  <simon@josefsson.org>
33046
33047         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
33048         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
33049         Eric Blake <ebb9@byu.net> for review.
33050         * MODULES.html.sh: Add lib-msvc-compat.
33051         * doc/gnulib.texi: Link to new section.
33052         * m4/ld-output-def.m4: New file.
33053         * doc/ld-output-def.texi: New file.
33054
33055 2009-04-01  Simon Josefsson  <simon@josefsson.org>
33056
33057         Rename ld-version-script to lib-symbol-versions.  Suggested by
33058         Bruno Haible <bruno@clisp.org>.
33059         * modules/ld-version-script: Renamed to lib-symbol-versions.
33060         * doc/ld-version-script.texi: Fix module name.
33061         * MODULES.html.sh: Add lib-symbol-versions.
33062
33063 2009-03-31  Simon Josefsson  <simon@josefsson.org>
33064
33065         * modules/u64-tests: New file.
33066         * tests/test-u64.c: New file.
33067
33068 2009-03-04  Simon Josefsson  <simon@josefsson.org>
33069
33070         * MODULES.html.sh: Mention u64.
33071         * modules/u64: New module.
33072         * modules/crypto/sha512: Depend on u64 module instead of providing
33073         u64.h.
33074
33075 2009-03-27  Eric Blake  <ebb9@byu.net>
33076
33077         test-strerror: make debugging EAI_SYSTEM easier
33078         * modules/getaddrinfo-tests (Depends-on): Add strerror.
33079         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
33080         failure was EAI_SYSTEM.
33081
33082 2009-03-25  Bruno Haible  <bruno@clisp.org>
33083
33084         Fix a problem with --enable-relocatable on Solaris 7.
33085         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
33086         since 2008-02-24.
33087
33088 2009-03-25  Eric Blake  <ebb9@byu.net>
33089
33090         test-sockets: avoid gcc warning
33091         * tests/test-sockets.c (main): Silence compiler warning.
33092
33093 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
33094
33095         New modules nproc, pthread, contributed by Glen Lenker.
33096
33097         * MODULES.html.sh: Add pthread, nproc.
33098         * lib/nproc.c: New file.
33099         * lib/nproc.h: New file.
33100         * lib/pthread.in.h: New file.
33101         * m4/pthread.m4: New file.
33102         * modules/nproc: New file.
33103         * modules/pthread: New file.
33104
33105 2009-03-24  Simon Josefsson  <simon@josefsson.org>
33106
33107         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
33108         New variable.
33109
33110 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
33111
33112         filevercmp: handle simple~ and numbered.~3~ backup suffixes
33113         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
33114         * tests/test-filevercmp.c: Add tests for backup suffixes.
33115
33116 2009-03-24  Simon Josefsson  <simon@josefsson.org>
33117
33118         * modules/stdlib (Depends-on): Add stdint, needed when defining
33119         struct random_data on, for example, HP-UX 10.20.  Reported by
33120         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
33121
33122 2009-03-24  Simon Josefsson  <simon@josefsson.org>
33123
33124         * lib/readline.c (readline): Call fflush on stdout after printing
33125         prompt.
33126
33127 2009-03-20  Bruno Haible  <bruno@clisp.org>
33128
33129         Remove dependency from 'close' module to -lws2_32 on native Windows.
33130         * lib/close-hook.h: New file.
33131         * lib/close-hook.c: New file.
33132         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
33133         w32sock.h.
33134         (_gl_close_fd_maybe_socket): Remove function.
33135         (rpl_close): Invoke execute_all_close_hooks instead of
33136         _gl_close_fd_maybe_socket.
33137         * lib/sockets.c: Include close-hook.h, w32sock.h.
33138         (close_fd_maybe_socket): New function, essentially from lib/close.c.
33139         (close_sockets_hook): New variable.
33140         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
33141         (gl_sockets_cleanup): Unregister it.
33142         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
33143         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
33144         * modules/close-hook: New file.
33145         * modules/close (Files): Remove lib/w32sock.h.
33146         (Depends-on): Add close-hook.
33147         (Link): Remove section.
33148         * modules/sockets (Files): Add lib/w32sock.h.
33149         (Depends-on): Add close-hook.
33150         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
33151         invocation.
33152         * NEWS: Mention that LIB_CLOSE is gone.
33153
33154 2009-03-23  Eric Blake  <ebb9@byu.net>
33155
33156         signal-tests: test previous patch
33157         * tests/test-signal.c: New file.
33158         * modules/signal-tests: Likewise.
33159
33160         signal.h: always support 'volatile sig_atomic_t'
33161         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
33162         (gl_SIGNAL_H_DEFAULTS): Add a default.
33163         * modules/signal (Makefile.am): Substitute if needed.
33164         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
33165         users can blindly add volatile.
33166         * doc/posix-headers/signal.texi (signal.h): Document it.
33167         Reported by Matthew Woehlke.
33168
33169 2009-03-23  Jim Meyering  <meyering@redhat.com>
33170
33171         pathmax: PATH_MAX: use pathconf only when available
33172         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
33173         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
33174         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
33175         This avoids a link failure in a PSP cross-compilation environment
33176         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
33177
33178         * lib/vasnprintf.c (divide): Fix typo in comment.
33179
33180 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33181
33182         * gnulib-tool (func_filter_filelist): Fix comment.
33183
33184 2009-03-20  Bruno Haible  <bruno@clisp.org>
33185
33186         Make sockets.h self-contained.
33187         * lib/sockets.c: Include sockets.h first.
33188         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
33189
33190 2009-03-19  Eric Blake  <ebb9@byu.net>
33191
33192         doc: mention more functions added in cygwin 1.7.0
33193         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
33194         addition.
33195         * doc/posix-functions/log2f.texi: Likewise.
33196
33197 2009-03-19  Jim Meyering  <meyering@redhat.com>
33198
33199         fsusage: avoid syntax error due to statement-before-declaration
33200         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
33201         after all declarations.  Reported by Matthew Woehlke in
33202         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
33203
33204 2009-03-18  Eric Blake  <ebb9@byu.net>
33205
33206         build-aux/compile: sync from automake
33207         * build-aux/compile: New file, from automake.
33208         * config/srclist.txt: Mention build-aux/compile.
33209
33210 2009-03-17  Bruno Haible  <bruno@clisp.org>
33211
33212         * lib/git-merge-changelog.c: Fix typo in comment.
33213         Reported by Reuben Thomas <rrt@sc3d.org>.
33214
33215 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
33216
33217         * m4/regex.m4: update and improve help for
33218         --without-included-regex.
33219
33220 2009-03-17  Simon Josefsson  <simon@josefsson.org>
33221
33222         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
33223         failure on missing include files.
33224
33225 2009-03-17  Eric Blake  <ebb9@byu.net>
33226
33227         doc: mention more functions added in cygwin 1.7.0
33228         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
33229         addition.
33230         * doc/posix-functions/fwscanf.texi: Likewise.
33231         * doc/posix-functions/swprintf.texi: Likewise.
33232         * doc/posix-functions/swscanf.texi: Likewise.
33233         * doc/posix-functions/vfwprintf.texi: Likewise.
33234         * doc/posix-functions/vfwscanf.texi: Likewise.
33235         * doc/posix-functions/vswprintf.texi: Likewise.
33236         * doc/posix-functions/vswscanf.texi: Likewise.
33237         * doc/posix-functions/vwprintf.texi: Likewise.
33238         * doc/posix-functions/vwscanf.texi: Likewise.
33239         * doc/posix-functions/wcscasecmp.texi: Likewise.
33240         * doc/posix-functions/wcsdup.texi: Likewise.
33241         * doc/posix-functions/wcsftime.texi: Likewise.
33242         * doc/posix-functions/wcsncasecmp.texi: Likewise.
33243         * doc/posix-functions/wprintf.texi: Likewise.
33244         * doc/posix-functions/wscanf.texi: Likewise.
33245         * doc/glibc-functions/gethostbyname2.texi: Likewise.
33246
33247 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33248
33249         maint.mk: really add $(AM_MAKEFLAGS)
33250         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
33251         was inadvertently omitted in the last commit.
33252         Spotted by Bruno Haible.
33253
33254         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
33255         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
33256         $(AM_MAKEFLAGS)' rather than plain `make'.
33257
33258         gnulib-tool: execute $MAKE not make
33259         * gnulib-tool: Default $MAKE to 'make'.
33260         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
33261         than make.  Initialize $MAKE in the do-autobuild script.
33262
33263         gnulib-tool: use $MAKE not make in generated files
33264         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
33265         make, in generated files.  Initialize $MAKE in the do-autobuild
33266         script.
33267
33268         * top/GNUmakefile (_have-git-version-gen): Fix typo.
33269
33270         GNUmakefile: disable parallelism only for multiple, recursive targets
33271         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
33272         additions in the Makefile.
33273         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
33274         by Automake.
33275         (.NOTPARALLEL): Only disable parallel builds if multiple targets
33276         are listed on the command line and at least one of them is
33277         listed in $(ALL_RECURSIVE_TARGETS).
33278
33279 2009-03-14  Bruno Haible  <bruno@clisp.org>
33280
33281         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
33282         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
33283         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
33284         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
33285         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
33286         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
33287         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
33288         unistr/u8-uctomb.
33289         * modules/unistr/u8-strchr (Depends-on): Likewise.
33290         * modules/unistr/u8-strrchr (Depends-on): Likewise.
33291         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
33292         unistr/u16-uctomb.
33293         * modules/unistr/u16-strchr (Depends-on): Likewise.
33294         * modules/unistr/u16-strrchr (Depends-on): Likewise.
33295
33296 2009-03-12  Bruno Haible  <bruno@clisp.org>
33297
33298         Work around select() bug on Interix 3.5.
33299         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
33300         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
33301         * m4/select.m4: New file.
33302         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
33303         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
33304         * modules/select (Files): Add m4/select.m4.
33305         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
33306         * modules/nanosleep (Depends-on): Add select.
33307         * modules/poll (Depends-on): Likewise.
33308         * doc/posix-functions/select.texi: Mention the Interix bug.
33309         Reported by Markus Duft <mduft@gentoo.org>.
33310
33311         * lib/select.c: Renamed from lib/winsock-select.c.
33312         * modules/select (Files): Add lib/select.c, remove
33313         lib/winsock-select.c.
33314         (configure.ac): Update.
33315
33316 2009-03-12  Jim Meyering  <meyering@redhat.com>
33317
33318         avoid gcc warnings about unused macro definitions
33319         * lib/readtokens.c (STREQ): Remove unused definition.
33320         * lib/xmalloc.c (SIZE_MAX): Likewise.
33321         * lib/openat-die.c (N_): Likewise.
33322         * lib/mountlist.c (SIZE_MAX): Remove definition.
33323         Instead, include <stdint.h>.
33324         * lib/readutmp.c: Likewise.
33325         * modules/readutmp (Depends-on): Add stdint.
33326         * modules/mountlist (Depends-on): Add stdint.
33327         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
33328
33329 2009-03-10  Bruno Haible  <bruno@clisp.org>
33330
33331         Tests for module 'mbmemcasecoll'.
33332         * modules/mbmemcasecoll-tests: New file.
33333         * tests/test-mbmemcasecoll1.sh: New file.
33334         * tests/test-mbmemcasecoll2.sh: New file.
33335         * tests/test-mbmemcasecoll3.sh: New file.
33336         * tests/test-mbmemcasecoll.c: New file.
33337
33338         New module 'mbmemcasecoll'.
33339         * lib/mbmemcasecoll.h: New file.
33340         * lib/mbmemcasecoll.c: New file.
33341         * modules/mbmemcasecoll: New file.
33342
33343         * tests/test-mbmemcasecmp.h: New file, extracted from
33344         tests/test-mbmemcasecmp.c.
33345         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
33346         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
33347         (main): Update.
33348         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
33349
33350 2009-03-09  Bruno Haible  <bruno@clisp.org>
33351
33352         Tests for module 'mbmemcasecmp'.
33353         * modules/mbmemcasecmp-tests: New file.
33354         * tests/test-mbmemcasecmp1.sh: New file.
33355         * tests/test-mbmemcasecmp2.sh: New file.
33356         * tests/test-mbmemcasecmp3.sh: New file.
33357         * tests/test-mbmemcasecmp.c: New file.
33358
33359         New module 'mbmemcasecmp'.
33360         * lib/mbmemcasecmp.h: New file.
33361         * lib/mbmemcasecmp.c: New file.
33362         * modules/mbmemcasecmp: New file.
33363
33364 2009-03-09  Bruno Haible  <bruno@clisp.org>
33365
33366         Tests for module 'unicase/ulc-casecoll'.
33367         * modules/unicase/ulc-casecoll-tests: New file.
33368         * tests/unicase/test-ulc-casecoll1.sh: New file.
33369         * tests/unicase/test-ulc-casecoll2.sh: New file.
33370         * tests/unicase/test-ulc-casecoll.c: New file.
33371
33372         New module 'unicase/ulc-casecoll'.
33373         * lib/unicase.h (ulc_casecoll): New declaration.
33374         * lib/unicase/ulc-casecoll.c: New file.
33375         * modules/unicase/ulc-casecoll: New file.
33376
33377         New module 'unicase/ulc-casexfrm'.
33378         * lib/unicase.h (ulc_casexfrm): New declaration.
33379         * lib/unicase/ulc-casexfrm.c: New file.
33380         * modules/unicase/ulc-casexfrm: New file.
33381
33382 2009-03-09  Bruno Haible  <bruno@clisp.org>
33383
33384         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
33385         invocations.
33386
33387         * m4/mbscasecmp.m4: Remove file.
33388         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
33389         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
33390
33391         * m4/mbscasestr.m4: Remove file.
33392         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
33393         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
33394
33395         * m4/mbschr.m4: Remove file.
33396         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
33397         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
33398
33399         * m4/mbscspn.m4: Remove file.
33400         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
33401         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
33402
33403         * m4/mbslen.m4: Remove file.
33404         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
33405         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
33406
33407         * m4/mbsncasecmp.m4: Remove file.
33408         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
33409         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
33410
33411         * m4/mbsnlen.m4: Remove file.
33412         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
33413         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
33414
33415         * m4/mbspbrk.m4: Remove file.
33416         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
33417         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
33418
33419         * m4/mbspcasecmp.m4: Remove file.
33420         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
33421         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
33422
33423         * m4/mbsrchr.m4: Remove file.
33424         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
33425         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
33426
33427         * m4/mbssep.m4: Remove file.
33428         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
33429         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
33430
33431         * m4/mbsspn.m4: Remove file.
33432         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
33433         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
33434
33435         * m4/mbsstr.m4: Remove file.
33436         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
33437         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
33438
33439         * m4/mbstok_r.m4: Remove file.
33440         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
33441         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
33442
33443         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
33444
33445         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
33446         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
33447
33448         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
33449
33450 2009-03-08  Bruno Haible  <bruno@clisp.org>
33451
33452         Tests for module 'unicase/ulc-casecmp'.
33453         * modules/unicase/ulc-casecmp-tests: New file.
33454         * tests/unicase/test-ulc-casecmp1.sh: New file.
33455         * tests/unicase/test-ulc-casecmp2.sh: New file.
33456         * tests/unicase/test-ulc-casecmp.c: New file.
33457
33458         New module 'unicase/ulc-casecmp'.
33459         * lib/unicase.h (ulc_casecmp): New declaration.
33460         * lib/unicase/ulc-casecmp.c: New file.
33461         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
33462         'const SRC_UNIT *'.
33463         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
33464         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
33465         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
33466         * modules/unicase/ulc-casecmp: New file.
33467
33468         Tests for module 'unicase/u32-is-cased'.
33469         * modules/unicase/u32-is-cased-tests: New file.
33470         * tests/unicase/test-u32-is-cased.c: New file.
33471
33472         Tests for module 'unicase/u16-is-cased'.
33473         * modules/unicase/u16-is-cased-tests: New file.
33474         * tests/unicase/test-u16-is-cased.c: New file.
33475
33476         Tests for module 'unicase/u8-is-cased'.
33477         * modules/unicase/u8-is-cased-tests: New file.
33478         * tests/unicase/test-u8-is-cased.c: New file.
33479         * tests/unicase/test-is-cased.h: New file.
33480
33481         New module 'unicase/u32-is-cased'.
33482         * lib/unicase/u32-is-cased.c: New file.
33483         * modules/unicase/u32-is-cased: New file.
33484
33485         New module 'unicase/u16-is-cased'.
33486         * lib/unicase/u16-is-cased.c: New file.
33487         * modules/unicase/u16-is-cased: New file.
33488
33489         New module 'unicase/u8-is-cased'.
33490         * lib/unicase/u8-is-cased.c: New file.
33491         * lib/unicase/u-is-cased.h: New file.
33492         * modules/unicase/u8-is-cased: New file.
33493
33494         Tests for module 'unicase/u32-is-casefolded'.
33495         * modules/unicase/u32-is-casefolded-tests: New file.
33496         * tests/unicase/test-u32-is-casefolded.c: New file.
33497
33498         Tests for module 'unicase/u16-is-casefolded'.
33499         * modules/unicase/u16-is-casefolded-tests: New file.
33500         * tests/unicase/test-u16-is-casefolded.c: New file.
33501
33502         Tests for module 'unicase/u8-is-casefolded'.
33503         * modules/unicase/u8-is-casefolded-tests: New file.
33504         * tests/unicase/test-u8-is-casefolded.c: New file.
33505         * tests/unicase/test-is-casefolded.h: New file.
33506
33507         New module 'unicase/u32-is-casefolded'.
33508         * lib/unicase/u32-is-casefolded.c: New file.
33509         * modules/unicase/u32-is-casefolded: New file.
33510
33511         New module 'unicase/u16-is-casefolded'.
33512         * lib/unicase/u16-is-casefolded.c: New file.
33513         * modules/unicase/u16-is-casefolded: New file.
33514
33515         New module 'unicase/u8-is-casefolded'.
33516         * lib/unicase/u8-is-casefolded.c: New file.
33517         * modules/unicase/u8-is-casefolded: New file.
33518
33519         Tests for module 'unicase/u32-is-titlecase'.
33520         * modules/unicase/u32-is-titlecase-tests: New file.
33521         * tests/unicase/test-u32-is-titlecase.c: New file.
33522
33523         Tests for module 'unicase/u16-is-titlecase'.
33524         * modules/unicase/u16-is-titlecase-tests: New file.
33525         * tests/unicase/test-u16-is-titlecase.c: New file.
33526
33527         Tests for module 'unicase/u8-is-titlecase'.
33528         * modules/unicase/u8-is-titlecase-tests: New file.
33529         * tests/unicase/test-u8-is-titlecase.c: New file.
33530         * tests/unicase/test-is-titlecase.h: New file.
33531
33532         New module 'unicase/u32-is-titlecase'.
33533         * lib/unicase/u32-is-titlecase.c: New file.
33534         * modules/unicase/u32-is-titlecase: New file.
33535
33536         New module 'unicase/u16-is-titlecase'.
33537         * lib/unicase/u16-is-titlecase.c: New file.
33538         * modules/unicase/u16-is-titlecase: New file.
33539
33540         New module 'unicase/u8-is-titlecase'.
33541         * lib/unicase/u8-is-titlecase.c: New file.
33542         * modules/unicase/u8-is-titlecase: New file.
33543
33544         Tests for module 'unicase/u32-is-lowercase'.
33545         * modules/unicase/u32-is-lowercase-tests: New file.
33546         * tests/unicase/test-u32-is-lowercase.c: New file.
33547
33548         Tests for module 'unicase/u16-is-lowercase'.
33549         * modules/unicase/u16-is-lowercase-tests: New file.
33550         * tests/unicase/test-u16-is-lowercase.c: New file.
33551
33552         Tests for module 'unicase/u8-is-lowercase'.
33553         * modules/unicase/u8-is-lowercase-tests: New file.
33554         * tests/unicase/test-u8-is-lowercase.c: New file.
33555         * tests/unicase/test-is-lowercase.h: New file.
33556
33557         New module 'unicase/u32-is-lowercase'.
33558         * lib/unicase/u32-is-lowercase.c: New file.
33559         * modules/unicase/u32-is-lowercase: New file.
33560
33561         New module 'unicase/u16-is-lowercase'.
33562         * lib/unicase/u16-is-lowercase.c: New file.
33563         * modules/unicase/u16-is-lowercase: New file.
33564
33565         New module 'unicase/u8-is-lowercase'.
33566         * lib/unicase/u8-is-lowercase.c: New file.
33567         * modules/unicase/u8-is-lowercase: New file.
33568
33569         Tests for module 'unicase/u32-is-uppercase'.
33570         * modules/unicase/u32-is-uppercase-tests: New file.
33571         * tests/unicase/test-u32-is-uppercase.c: New file.
33572
33573         Tests for module 'unicase/u16-is-uppercase'.
33574         * modules/unicase/u16-is-uppercase-tests: New file.
33575         * tests/unicase/test-u16-is-uppercase.c: New file.
33576
33577         Tests for module 'unicase/u8-is-uppercase'.
33578         * modules/unicase/u8-is-uppercase-tests: New file.
33579         * tests/unicase/test-u8-is-uppercase.c: New file.
33580         * tests/unicase/test-is-uppercase.h: New file.
33581
33582         New module 'unicase/u32-is-uppercase'.
33583         * lib/unicase/u32-is-uppercase.c: New file.
33584         * modules/unicase/u32-is-uppercase: New file.
33585
33586         New module 'unicase/u16-is-uppercase'.
33587         * lib/unicase/u16-is-uppercase.c: New file.
33588         * modules/unicase/u16-is-uppercase: New file.
33589
33590         New module 'unicase/u8-is-uppercase'.
33591         * lib/unicase/u8-is-uppercase.c: New file.
33592         * modules/unicase/u8-is-uppercase: New file.
33593
33594         New module 'unicase/u32-is-invariant'.
33595         * lib/unicase/u32-is-invariant.c: New file.
33596         * modules/unicase/u32-is-invariant: New file.
33597
33598         New module 'unicase/u16-is-invariant'.
33599         * lib/unicase/u16-is-invariant.c: New file.
33600         * modules/unicase/u16-is-invariant: New file.
33601
33602         New module 'unicase/u8-is-invariant'.
33603         * lib/unicase/u8-is-invariant.c: New file.
33604         * lib/unicase/invariant.h: New file.
33605         * lib/unicase/u-is-invariant.h: New file.
33606         * modules/unicase/u8-is-invariant: New file.
33607
33608         Tests for module 'unicase/u32-casecoll'.
33609         * modules/unicase/u32-casecoll-tests: New file.
33610         * tests/unicase/test-u32-casecoll.c: New file.
33611
33612         Tests for module 'unicase/u16-casecoll'.
33613         * modules/unicase/u16-casecoll-tests: New file.
33614         * tests/unicase/test-u16-casecoll.c: New file.
33615
33616         Tests for module 'unicase/u8-casecoll'.
33617         * modules/unicase/u8-casecoll-tests: New file.
33618         * tests/unicase/test-u8-casecoll.c: New file.
33619
33620         New module 'unicase/u32-casecoll'.
33621         * lib/unicase/u32-casecoll.c: New file.
33622         * modules/unicase/u32-casecoll: New file.
33623
33624         New module 'unicase/u16-casecoll'.
33625         * lib/unicase/u16-casecoll.c: New file.
33626         * modules/unicase/u16-casecoll: New file.
33627
33628         New module 'unicase/u8-casecoll'.
33629         * lib/unicase/u8-casecoll.c: New file.
33630         * lib/unicase/u-casecoll.h: New file.
33631         * modules/unicase/u8-casecoll: New file.
33632
33633         New module 'unicase/u32-casexfrm'.
33634         * lib/unicase/u32-casexfrm.c: New file.
33635         * modules/unicase/u32-casexfrm: New file.
33636
33637         New module 'unicase/u16-casexfrm'.
33638         * lib/unicase/u16-casexfrm.c: New file.
33639         * modules/unicase/u16-casexfrm: New file.
33640
33641         New module 'unicase/u8-casexfrm'.
33642         * lib/unicase/u8-casexfrm.c: New file.
33643         * lib/unicase/u-casexfrm.h: New file.
33644         * modules/unicase/u8-casexfrm: New file.
33645
33646         Tests for module 'unicase/u32-casecmp'.
33647         * modules/unicase/u32-casecmp-tests: New file.
33648         * tests/unicase/test-u32-casecmp.c: New file.
33649
33650         Tests for module 'unicase/u16-casecmp'.
33651         * modules/unicase/u16-casecmp-tests: New file.
33652         * tests/unicase/test-u16-casecmp.c: New file.
33653
33654         Tests for module 'unicase/u8-casecmp'.
33655         * modules/unicase/u8-casecmp-tests: New file.
33656         * tests/unicase/test-u8-casecmp.c: New file.
33657         * tests/unicase/test-casecmp.h: New file.
33658
33659         New module 'unicase/u32-casecmp'.
33660         * lib/unicase/u32-casecmp.c: New file.
33661         * modules/unicase/u32-casecmp: New file.
33662
33663         New module 'unicase/u16-casecmp'.
33664         * lib/unicase/u16-casecmp.c: New file.
33665         * modules/unicase/u16-casecmp: New file.
33666
33667         New module 'unicase/u8-casecmp'.
33668         * lib/unicase/u8-casecmp.c: New file.
33669         * lib/unicase/u-casecmp.h: New file.
33670         * modules/unicase/u8-casecmp: New file.
33671
33672         Tests for module 'unicase/u32-casefold'.
33673         * modules/unicase/u32-casefold-tests: New file.
33674         * tests/unicase/test-u32-casefold.c: New file.
33675
33676         Tests for module 'unicase/u16-casefold'.
33677         * modules/unicase/u16-casefold-tests: New file.
33678         * tests/unicase/test-u16-casefold.c: New file.
33679
33680         Tests for module 'unicase/u8-casefold'.
33681         * modules/unicase/u8-casefold-tests: New file.
33682         * tests/unicase/test-u8-casefold.c: New file.
33683
33684         New module 'unicase/u32-casefold'.
33685         * lib/unicase/u32-casefold.c: New file.
33686         * modules/unicase/u32-casefold: New file.
33687
33688         New module 'unicase/u16-casefold'.
33689         * lib/unicase/u16-casefold.c: New file.
33690         * modules/unicase/u16-casefold: New file.
33691
33692         New module 'unicase/u8-casefold'.
33693         * lib/unicase/u8-casefold.c: New file.
33694         * lib/unicase/u-casefold.h: New file.
33695         * modules/unicase/u8-casefold: New file.
33696
33697         New module 'unicase/tocasefold'.
33698         * lib/unicase/casefold.h: New file.
33699         * lib/unicase/tocasefold.c: New file.
33700         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
33701         * modules/unicase/tocasefold: New file.
33702
33703         Tests for module 'unicase/u32-totitle'.
33704         * modules/unicase/u32-totitle-tests: New file.
33705         * tests/unicase/test-u32-totitle.c: New file.
33706
33707         Tests for module 'unicase/u16-totitle'.
33708         * modules/unicase/u16-totitle-tests: New file.
33709         * tests/unicase/test-u16-totitle.c: New file.
33710
33711         Tests for module 'unicase/u8-totitle'.
33712         * modules/unicase/u8-totitle-tests: New file.
33713         * tests/unicase/test-u8-totitle.c: New file.
33714
33715         New module 'unicase/u32-totitle'.
33716         * lib/unicase/u32-totitle.c: New file.
33717         * modules/unicase/u32-totitle: New file.
33718
33719         New module 'unicase/u16-totitle'.
33720         * lib/unicase/u16-totitle.c: New file.
33721         * modules/unicase/u16-totitle: New file.
33722
33723         New module 'unicase/u8-totitle'.
33724         * lib/unicase/u8-totitle.c: New file.
33725         * lib/unicase/u-totitle.h: New file.
33726         * modules/unicase/u8-totitle: New file.
33727
33728         Tests for module 'unicase/u32-tolower'.
33729         * modules/unicase/u32-tolower-tests: New file.
33730         * tests/unicase/test-u32-tolower.c: New file.
33731
33732         Tests for module 'unicase/u16-tolower'.
33733         * modules/unicase/u16-tolower-tests: New file.
33734         * tests/unicase/test-u16-tolower.c: New file.
33735
33736         Tests for module 'unicase/u8-tolower'.
33737         * modules/unicase/u8-tolower-tests: New file.
33738         * tests/unicase/test-u8-tolower.c: New file.
33739
33740         New module 'unicase/u32-tolower'.
33741         * lib/unicase/u32-tolower.c: New file.
33742         * modules/unicase/u32-tolower: New file.
33743
33744         New module 'unicase/u16-tolower'.
33745         * lib/unicase/u16-tolower.c: New file.
33746         * modules/unicase/u16-tolower: New file.
33747
33748         New module 'unicase/u8-tolower'.
33749         * lib/unicase/u8-tolower.c: New file.
33750         * modules/unicase/u8-tolower: New file.
33751
33752         Tests for module 'unicase/u32-toupper'.
33753         * modules/unicase/u32-toupper-tests: New file.
33754         * tests/unicase/test-u32-toupper.c: New file.
33755
33756         Tests for module 'unicase/u16-toupper'.
33757         * modules/unicase/u16-toupper-tests: New file.
33758         * tests/unicase/test-u16-toupper.c: New file.
33759
33760         Tests for module 'unicase/u8-toupper'.
33761         * modules/unicase/u8-toupper-tests: New file.
33762         * tests/unicase/test-u8-toupper.c: New file.
33763
33764         New module 'unicase/u32-toupper'.
33765         * lib/unicase/u32-toupper.c: New file.
33766         * modules/unicase/u32-toupper: New file.
33767
33768         New module 'unicase/u16-toupper'.
33769         * lib/unicase/u16-toupper.c: New file.
33770         * modules/unicase/u16-toupper: New file.
33771
33772         New module 'unicase/u8-toupper'.
33773         * lib/unicase/u8-toupper.c: New file.
33774         * modules/unicase/u8-toupper: New file.
33775
33776         New module 'unicase/u32-casemap'.
33777         * lib/unicase/u32-casemap.c: New file.
33778         * modules/unicase/u32-casemap: New file.
33779
33780         New module 'unicase/u16-casemap'.
33781         * lib/unicase/u16-casemap.c: New file.
33782         * modules/unicase/u16-casemap: New file.
33783
33784         New module 'unicase/u8-casemap'.
33785         * lib/unicase/unicasemap.h: New file.
33786         * lib/unicase/u8-casemap.c: New file.
33787         * lib/unicase/u-casemap.h: New file.
33788         * modules/unicase/u8-casemap: New file.
33789
33790         New module 'unicase/special-casing'.
33791         * lib/unicase/special-casing.h: New file.
33792         * lib/unicase/special-casing.c: New file.
33793         * lib/unicase/special-casing-table.gperf: New file, generated by
33794         gen-uni-tables.c.
33795         * modules/unicase/special-casing: New file.
33796
33797         Tests for module 'unicase/locale-language'.
33798         * modules/unicase/locale-language-tests: New file.
33799         * tests/unicase/test-locale-language.sh: New file.
33800         * tests/unicase/test-locale-language.c: New file.
33801
33802         New module 'unicase/locale-language'.
33803         * lib/unicase/locale-language.c: New file.
33804         * lib/unicase/locale-languages.gperf: New file.
33805         * modules/unicase/locale-language: New file.
33806
33807         Generate more tables for case conversion and case folding.
33808         * lib/gen-uni-tables.c (SCC_*): New enum items.
33809         (struct special_casing_rule): New type.
33810         (casing_rules, num_casing_rules, allocated_casing_rules): New
33811         variables.
33812         (add_casing_rule, fill_casing_rules): New functions.
33813         (struct casefold_rule): New type.
33814         (casefolding_rules, num_casefolding_rules,
33815         allocated_casefolding_rules): New variables.
33816         (fill_casefolding_rules): New function.
33817         (unicode_casefold): New variable.
33818         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
33819         sort_casing_rules, output_casing_rules): New functions.
33820         (main): Accept to more arguments: SpecialCasing.txt and
33821         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
33822         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
33823         Output mapping for casefolding.
33824
33825         * lib/unicase.h: Include stdbool.h, uninorm.h.
33826         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
33827         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
33828         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
33829         arguments.
33830         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
33831         resultp arguments.
33832         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
33833         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
33834         resultp arguments.
33835         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
33836         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
33837         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
33838         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
33839         declarations.
33840         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
33841
33842 2009-03-08  Bruno Haible  <bruno@clisp.org>
33843
33844         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
33845         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
33846         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
33847         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
33848
33849 2009-03-07  Bruno Haible  <bruno@clisp.org>
33850
33851         Adjust u*_normcmp, u*_normcoll API.
33852         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
33853         u16_normcoll, u32_normcoll): Change failure conventions.
33854         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
33855         errno and return -1.
33856         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
33857
33858 2009-03-07  Bruno Haible  <bruno@clisp.org>
33859
33860         Tests for module 'uninorm/u32-normcoll'.
33861         * modules/uninorm/u32-normcoll-tests: New file.
33862         * tests/uninorm/test-u32-normcoll.c: New file.
33863
33864         Tests for module 'uninorm/u16-normcoll'.
33865         * modules/uninorm/u16-normcoll-tests: New file.
33866         * tests/uninorm/test-u16-normcoll.c: New file.
33867
33868         Tests for module 'uninorm/u8-normcoll'.
33869         * modules/uninorm/u8-normcoll-tests: New file.
33870         * tests/uninorm/test-u8-normcoll.c: New file.
33871
33872 2009-03-07  Bruno Haible  <bruno@clisp.org>
33873
33874         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
33875         tests/uninorm/test-u32-normcmp.c.
33876         * tests/uninorm/test-u32-normcmp.c: Include it.
33877         (test_nonascii): New function, extracted from main. Add some more
33878         tests.
33879         (main): Invoke test_ascii and test_nonascii.
33880         * modules/uninorm/u32-normcmp-tests (Files): Add
33881         tests/uninorm/test-u32-normcmp.h.
33882         (Depends-on): Remove uninorm/u32-normcmp.
33883
33884         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
33885         tests/uninorm/test-u16-normcmp.c.
33886         * tests/uninorm/test-u16-normcmp.c: Include it.
33887         (test_nonascii): New function, extracted from main. Add some more
33888         tests.
33889         (main): Invoke test_ascii and test_nonascii.
33890         * modules/uninorm/u16-normcmp-tests (Files): Add
33891         tests/uninorm/test-u16-normcmp.h.
33892         (Depends-on): Remove uninorm/u16-normcmp.
33893
33894         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
33895         tests/uninorm/test-u8-normcmp.c.
33896         * tests/uninorm/test-u8-normcmp.c: Include it.
33897         (test_nonascii): New function, extracted from main. Add some more
33898         tests.
33899         (main): Invoke test_ascii and test_nonascii.
33900         * modules/uninorm/u8-normcmp-tests (Files): Add
33901         tests/uninorm/test-u8-normcmp.h.
33902         (Depends-on): Remove uninorm/u8-normcmp.
33903
33904 2009-03-07  Bruno Haible  <bruno@clisp.org>
33905
33906         New module 'uninorm/u32-normcoll'.
33907         * lib/uninorm/u32-normcoll.c: New file.
33908         * modules/uninorm/u32-normcoll: New file.
33909
33910         New module 'uninorm/u16-normcoll'.
33911         * lib/uninorm/u16-normcoll.c: New file.
33912         * modules/uninorm/u16-normcoll: New file.
33913
33914         New module 'uninorm/u8-normcoll'.
33915         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
33916         declarations.
33917         * lib/uninorm/u8-normcoll.c: New file.
33918         * lib/uninorm/u-normcoll.h: New file.
33919         * modules/uninorm/u8-normcoll: New file.
33920
33921         New module 'uninorm/u32-normxfrm'.
33922         * lib/uninorm/u32-normxfrm.c: New file.
33923         * modules/uninorm/u32-normxfrm: New file.
33924
33925         New module 'uninorm/u16-normxfrm'.
33926         * lib/uninorm/u16-normxfrm.c: New file.
33927         * modules/uninorm/u16-normxfrm: New file.
33928
33929         New module 'uninorm/u8-normxfrm'.
33930         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
33931         declarations.
33932         * lib/uninorm/u8-normxfrm.c: New file.
33933         * lib/uninorm/u-normxfrm.h: New file.
33934         * modules/uninorm/u8-normxfrm: New file.
33935
33936 2009-03-07  Bruno Haible  <bruno@clisp.org>
33937
33938         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
33939         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
33940         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
33941
33942 2009-03-07  Bruno Haible  <bruno@clisp.org>
33943
33944         New module 'memxfrm'.
33945         * lib/memxfrm.h: New file.
33946         * lib/memxfrm.c: New file.
33947         * modules/memxfrm: New file.
33948
33949 2009-03-07  Bruno Haible  <bruno@clisp.org>
33950
33951         New module 'memcmp2'.
33952         * lib/memcmp2.h: New file.
33953         * lib/memcmp2.c: New file.
33954         * modules/memcmp2: New file.
33955
33956 2009-03-07  Bruno Haible  <bruno@clisp.org>
33957
33958         Tests for module 'uninorm/decomposing-form'.
33959         * modules/uninorm/decomposing-form-tests: New file.
33960         * tests/uninorm/test-decomposing-form.c: New file.
33961
33962         New module 'uninorm/decomposing-form'.
33963         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
33964         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
33965         Add 'decomposing_variant' field.
33966         * lib/uninorm/decomposing-form.c: New file.
33967         * lib/uninorm/nfc.c (uninorm_nfc): Update.
33968         * lib/uninorm/nfd.c (uninorm_nfd): Update.
33969         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
33970         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
33971         * modules/uninorm/decomposing-form: New file.
33972         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
33973         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
33974
33975 2009-03-07  Bruno Haible  <bruno@clisp.org>
33976
33977         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
33978         strings.
33979
33980 2009-03-06  Bruno Haible  <bruno@clisp.org>
33981
33982         Tests for module 'uninorm/u32-normcmp'.
33983         * tests/uninorm/test-u32-normcmp.c: New file.
33984         * modules/uninorm/u32-normcmp-tests: New file.
33985
33986         Tests for module 'uninorm/u16-normcmp'.
33987         * tests/uninorm/test-u16-normcmp.c: New file.
33988         * modules/uninorm/u16-normcmp-tests: New file.
33989
33990         Tests for module 'uninorm/u8-normcmp'.
33991         * tests/uninorm/test-u8-normcmp.c: New file.
33992         * modules/uninorm/u8-normcmp-tests: New file.
33993
33994         New module 'uninorm/u32-normcmp'.
33995         * lib/uninorm/u32-normcmp.c: New file.
33996         * modules/uninorm/u32-normcmp: New file.
33997
33998         New module 'uninorm/u16-normcmp'.
33999         * lib/uninorm/u16-normcmp.c: New file.
34000         * modules/uninorm/u16-normcmp: New file.
34001
34002         New module 'uninorm/u8-normcmp'.
34003         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
34004         declarations.
34005         * lib/uninorm/u8-normcmp.c: New file.
34006         * lib/uninorm/u-normcmp.h: New file.
34007         * modules/uninorm/u8-normcmp: New file.
34008
34009 2009-03-06  Bruno Haible  <bruno@clisp.org>
34010
34011         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
34012         Reported by Eric Blake.
34013
34014 2009-03-06  Eric Blake  <ebb9@byu.net>
34015             Bruno Haible  <bruno@clisp.org>
34016
34017         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
34018         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
34019         condition.
34020         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
34021         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
34022         condition.
34023         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
34024
34025 2009-03-06  Eric Blake  <ebb9@byu.net>
34026
34027         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
34028         to avoid compiler warnings.
34029         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
34030
34031 2009-03-05  Bruno Haible  <bruno@clisp.org>
34032
34033         * tests/test-ftell.c (main): Disable test beyond end of file on
34034         FreeMiNT.
34035         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
34036
34037 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
34038
34039         * lib/filevercmp.c: Move hidden files up in ordering.
34040         * tests/test-filevercmp.c: Add tests for hidden files.
34041
34042 2009-03-04  Bruno Haible  <bruno@clisp.org>
34043
34044         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
34045         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
34046         AM_CFLAGS.
34047         Reported by Simon Josefsson.
34048
34049 2009-03-03  Bruno Haible  <bruno@clisp.org>
34050
34051         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
34052         Reported by Simon Josefsson.
34053
34054         * doc/ld-version-script.texi: Update node reference.
34055
34056 2009-03-03  Bruno Haible  <bruno@clisp.org>
34057
34058         * modules/visibility (License): Change to 'unlimited'.
34059         Suggested by Simon Josefsson.
34060
34061 2009-03-03  Jim Meyering  <meyering@redhat.com>
34062
34063         unlinkdir: cannot_unlink_dir may modify process state
34064         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
34065         it's neither thread-safe nor appropriate for use in a library.
34066
34067 2009-03-03  Eric Blake  <ebb9@byu.net>
34068
34069         test-closein: silence test under Darwin
34070         * tests/test-closein.sh: Ignore stderr from cat, since we don't
34071         care if it dies from EPIPE or EBADF.
34072
34073 2009-03-03  Bruno Haible  <bruno@clisp.org>
34074
34075         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
34076         earlier.
34077         * doc/visibility.texi: Fix @node and @section.
34078
34079 2009-03-03  Simon Josefsson  <simon@josefsson.org>
34080
34081         * doc/gnulib.texi: Link to sections for ld version script and
34082         visibility.
34083         * doc/visibility.texi: Add @node and @section.
34084         * modules/ld-version-script: New module.
34085         * m4/ld-version-script.m4: New file.
34086         * doc/ld-version-script.texi: New file.
34087
34088 2009-03-02  David Lutterkort  <lutter@redhat.com>
34089
34090         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
34091         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
34092
34093 2009-03-02  Bruno Haible  <bruno@clisp.org>
34094
34095         * doc/visibility.texi: Mention libtool's -export-symbols option.
34096
34097 2009-03-02  Jim Meyering  <meyering@redhat.com>
34098
34099         announce-gen: new option: --no-print-checksums
34100         * build-aux/announce-gen (usage): Describe it.
34101         (print_checksums): Print a newline here, not in the [*] footnote.
34102         (main): Honor it.
34103
34104 2009-03-01  Bruno Haible  <bruno@clisp.org>
34105
34106         Use socklen_t in the native Windows replacements prototypes.
34107         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
34108         instead of 'int'.
34109         * lib/getsockopt.c (rpl_getsockopt): Likewise.
34110         * lib/setsockopt.c (rpl_setsockopt): Likewise.
34111         * modules/getsockopt (Depends-on): Add socklen.
34112         * modules/setsockopt (Depends-on): Add socklen.
34113
34114 2009-03-01  Bruno Haible  <bruno@clisp.org>
34115
34116         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
34117         least 4.2.
34118
34119 2009-03-01  Eric Blake  <ebb9@byu.net>
34120             Bruno Haible  <bruno@clisp.org>
34121
34122         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
34123         error messages.
34124         * lib/wait-process.c (wait_subprocess): Omit error message about
34125         deadly signal sent to the child of termsigp != NULL.
34126
34127 2009-03-01  Eric Blake  <ebb9@byu.net>
34128
34129         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
34130
34131 2009-03-01  Bruno Haible  <bruno@clisp.org>
34132
34133         Avoid a gcc warning.
34134         * tests/test-sched.c (b): Make global.
34135         Reported by Eric Blake.
34136
34137 2009-01-19  Martin Lambers  <marlam@marlam.de>
34138
34139         Provide POSIX semantics for socket timeout options on W32.
34140         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
34141         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
34142         * modules/setsockopt: Depend on sys_time module for struct timeval.
34143         * modules/getsockopt: Depend on sys_time module for struct timeval.
34144
34145 2009-03-01  Simon Josefsson  <simon@josefsson.org>
34146
34147         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
34148         __USE_GNU, for consistency with netdb.in.h.
34149         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
34150
34151 2009-03-01  Bruno Haible  <bruno@clisp.org>
34152
34153         More support for FreeMiNT.
34154         * lib/fseeko.c (rpl_fseeko): Complete last commit.
34155         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
34156
34157 2009-03-01  Bruno Haible  <bruno@clisp.org>
34158
34159         More support for FreeMiNT.
34160         * lib/fpurge.c (fpurge): Correct last commit.
34161         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
34162
34163 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34164
34165         Fix unportable awk script in vc-list-files.
34166         * build-aux/vc-list-files: In the replacement awk script, use
34167         substr with a second argument of 1, not zero.
34168         Report by Simon Josefsson.
34169
34170 2009-02-28  Bruno Haible  <bruno@clisp.org>
34171
34172         More support for FreeMiNT.
34173         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
34174         to FreeMiNT today.
34175         * lib/fwriting.c (fwriting): Likewise.
34176         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
34177
34178 2009-02-28  Bruno Haible  <bruno@clisp.org>
34179
34180         * tests/test-freadseek.c (main): Disable test beyond end of file on
34181         FreeMiNT.
34182         * tests/test-ftello.c (main): Likewise.
34183         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
34184
34185 2009-02-28  Bruno Haible  <bruno@clisp.org>
34186
34187         Add tentative support for FreeMiNT.
34188         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
34189         * lib/fpurge.c (fpurge): Likewise.
34190         * lib/freadable.c (freadable): Likewise.
34191         * lib/freading.c (freading): Likewise.
34192         * lib/freadptr.c (freadptr): Likewise.
34193         * lib/freadseek.c (freadptrinc): Likewise.
34194         * lib/fseeko.c (rpl_fseeko): Likewise.
34195         * lib/fseterr.c (fseterr): Likewise.
34196         * lib/fwritable.c (fwritable): Likewise.
34197         * lib/fwriting.c (fwriting): Likewise.
34198         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
34199         Hourihane.
34200         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
34201
34202 2009-02-28  Bruno Haible  <bruno@clisp.org>
34203
34204         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
34205         SIGCHLD.
34206         Reported by Jim Meyering.
34207
34208 2009-02-28  Bruno Haible  <bruno@clisp.org>
34209
34210         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
34211         Mention the results of these tests on various platforms.
34212         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
34213         order.
34214         * doc/posix-functions/printf.texi: Likewise.
34215         * doc/posix-functions/snprintf.texi: Likewise.
34216         * doc/posix-functions/sprintf.texi: Likewise.
34217         * doc/posix-functions/vfprintf.texi: Likewise.
34218         * doc/posix-functions/vprintf.texi: Likewise.
34219         * doc/posix-functions/vsnprintf.texi: Likewise.
34220         * doc/posix-functions/vsprintf.texi: Likewise.
34221         * doc/glibc-functions/obstack_printf.texi: Likewise.
34222         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
34223
34224 2009-02-28  Bruno Haible  <bruno@clisp.org>
34225
34226         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
34227         Reported by Loïc Minier <lool@dooz.org>.
34228
34229 2009-02-27  Bruno Haible  <bruno@clisp.org>
34230
34231         * gnulib-tool (func_import): Make the sed expression used to create the
34232         sed script for updating the .gitignore file POSIX compliant.
34233         Reported by Eric Blake.
34234
34235 2009-02-27  Bruno Haible  <bruno@clisp.org>
34236
34237         * gnulib-tool (sed): Don't alias as "sed --posix".
34238         Reported by Eric Blake.
34239
34240 2009-02-27  Bruno Haible  <bruno@clisp.org>
34241
34242         Avoid test link errors.
34243         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
34244         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
34245         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
34246         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
34247         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
34248
34249 2009-02-27  Bruno Haible  <bruno@clisp.org>
34250
34251         Avoid spurious "(cached)" in configure output.
34252         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
34253         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
34254         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
34255         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
34256         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
34257         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
34258         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
34259         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
34260         Reported by Eric Blake.
34261
34262 2009-02-27  Eric Blake  <ebb9@byu.net>
34263
34264         printf: fix regression in previous patch
34265         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
34266
34267 2009-02-27  Bruno Haible  <bruno@clisp.org>
34268
34269         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
34270         value.
34271         * lib/stdint.in.h: Likewise.
34272         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
34273
34274 2009-02-27  Eric Blake  <ebb9@byu.net>
34275
34276         doc: mention more functions added in cygwin 1.7.0
34277         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
34278         addition.
34279         * doc/posix-functions/open_wmemstream.texi: Likewise.
34280         * doc/posix-functions/wcsnlen.texi: Likewise.
34281         * doc/posix-functions/wcsnrtombs.texi: Likewise.
34282         * doc/posix-functions/wcstod.texi: Likewise.
34283         * doc/posix-functions/wcstof.texi: Likewise.
34284         * doc/posix-functions/wcstoimax.texi: Likewise.
34285         * doc/posix-functions/wcstok.texi: Likewise.
34286         * doc/posix-functions/wcstoumax.texi: Likewise.
34287
34288         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
34289         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
34290         * doc/posix-functions/fprintf.texi: Update.
34291         * doc/posix-functions/printf.texi: Update.
34292         * doc/posix-functions/snprintf.texi: Update.
34293         * doc/posix-functions/sprintf.texi: Update.
34294         * doc/posix-functions/vfprintf.texi: Update.
34295         * doc/posix-functions/vprintf.texi: Update.
34296         * doc/posix-functions/vsnprintf.texi: Update.
34297         * doc/posix-functions/vsprintf.texi: Update.
34298         * doc/glibc-functions/obstack_printf.texi: Update.
34299         * doc/glibc-functions/obstack_vprintf.texi: Update.
34300
34301 2009-02-26  Eric Blake  <ebb9@byu.net>
34302
34303         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
34304         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
34305         compilation bug by using runtime conversion.
34306         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
34307         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
34308         * modules/ceill-tests (Files): Use nan.h.
34309         * modules/floorl-tests (Files): Likewise.
34310         * modules/frexpl-tests (Files): Likewise.
34311         * modules/isnanl-tests (Files): Likewise.
34312         * modules/ldexpl-tests (Files): Likewise.
34313         * modules/roundl-tests (Files): Likewise.
34314         * modules/truncl-tests (Files): Likewise.
34315         * tests/test-ceill.c (main): Use a working NaN.
34316         * tests/test-floorl.c (main): Likewise.
34317         * tests/test-frexpl.c (main): Likewise.
34318         * tests/test-isnan.c (test_long_double): Likewise.
34319         * tests/test-isnanl.h (main): Likewise.
34320         * tests/test-ldexpl.h (main): Likewise.
34321         * tests/test-roundl.h (main): Likewise.
34322         * tests/test-truncl.h (main): Likewise.
34323         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
34324
34325 2009-02-26  Eric Blake  <ebb9@byu.net>
34326             Bruno Haible  <bruno@clisp.org>
34327
34328         Work around a *printf bug with %ls on Solaris.
34329         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
34330         precision is specified, sprintf stops converting the wide string
34331         argument when the number of bytes that have been produced by this
34332         conversion equals or exceeds the precision.
34333         * doc/posix-functions/fprintf.texi: Update.
34334         * doc/posix-functions/printf.texi: Update.
34335         * doc/posix-functions/snprintf.texi: Update.
34336         * doc/posix-functions/sprintf.texi: Update.
34337         * doc/posix-functions/vfprintf.texi: Update.
34338         * doc/posix-functions/vprintf.texi: Update.
34339         * doc/posix-functions/vsnprintf.texi: Update.
34340         * doc/posix-functions/vsprintf.texi: Update.
34341         * doc/glibc-functions/obstack_printf.texi: Update.
34342         * doc/glibc-functions/obstack_vprintf.texi: Update.
34343
34344 2009-02-26  Eric Blake  <ebb9@byu.net>
34345
34346         stdlib: favor compiler check of random.h
34347         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
34348         to avoid an ObjC random.h installed by Swarm.
34349
34350 2009-02-26  Bruno Haible  <bruno@clisp.org>
34351
34352         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
34353         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
34354         Reported by Gary V. Vaughan <gary@gnu.org>.
34355
34356 2009-02-26  Bruno Haible  <bruno@clisp.org>
34357
34358         Fix *printf behaviour regarding the %ls directive.
34359         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
34360         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
34361         NEED_PRINTF_DIRECTIVE_LS.
34362         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
34363         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
34364         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
34365         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
34366         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
34367         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
34368         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
34369         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
34370         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
34371         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
34372         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
34373         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
34374         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
34375         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
34376         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
34377         * doc/posix-functions/fprintf.texi: Update.
34378         * doc/posix-functions/printf.texi: Update.
34379         * doc/posix-functions/snprintf.texi: Update.
34380         * doc/posix-functions/sprintf.texi: Update.
34381         * doc/posix-functions/vfprintf.texi: Update.
34382         * doc/posix-functions/vprintf.texi: Update.
34383         * doc/posix-functions/vsnprintf.texi: Update.
34384         * doc/posix-functions/vsprintf.texi: Update.
34385         * doc/glibc-functions/obstack_printf.texi: Update.
34386         * doc/glibc-functions/obstack_vprintf.texi: Update.
34387         Reported by Eric Blake.
34388
34389 2009-02-25  Bruno Haible  <bruno@clisp.org>
34390
34391         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
34392         with known value.
34393         Reported by Gary V. Vaughan <gary@gnu.org>.
34394
34395 2009-02-25  Bruno Haible  <bruno@clisp.org>
34396
34397         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
34398         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
34399         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
34400         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
34401         Reported by Gary V. Vaughan <gary@gnu.org>.
34402
34403 2009-02-25  Bruno Haible  <bruno@clisp.org>
34404
34405         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
34406         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
34407         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
34408         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
34409         Reported by Gary V. Vaughan <gary@gnu.org>.
34410
34411 2009-02-25  Eric Blake  <ebb9@byu.net>
34412
34413         tests: skip fseek/ftell tests if ungetc is broken
34414         * m4/ungetc.m4: New file.
34415         * modules/fseek-tests: Split test, so ungetc dependency is
34416         separate from rest of test.
34417         * modules/fseeko-tests: Likewise.
34418         * modules/ftell-tests: Likewise.
34419         * modules/ftello-tests: Likewise.
34420         * tests/test-fseek.c (main): Isolate ungetc dependency.
34421         * tests/test-fseeko.c (main): Likewise.
34422         * tests/test-ftell.c (main): Likewise.
34423         * tests/test-ftello.c (main): Likewise.
34424         * tests/test-fseek2.sh: New file.
34425         * tests/test-fseeko2.sh: Likewise.
34426         * tests/test-ftell2.sh: Likewise.
34427         * tests/test-ftello2.sh: Likewise.
34428
34429 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
34430
34431         test-getaddrinfo: fix usage of skip return code 77
34432         * tests/test-gettaddrinfo.c: Return skip code 77 only
34433         for first occurance of skip (4x77 is not 77)
34434
34435 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
34436
34437         strtod: avoid C99 decl-after-statement
34438         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
34439
34440 2009-02-24  Eric Blake  <ebb9@byu.net>
34441
34442         strtod: detect HP-UX 11.31 bug
34443         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
34444         Reported by Gary V. Vaughan.
34445
34446 2009-02-23  Bruno Haible  <bruno@clisp.org>
34447
34448         Fix invalid read past end of memory block.
34449         * lib/vasnprintf.c (DCHAR_SET): Define.
34450         (local_wcslen): Define only when needed.
34451         (local_strnlen, local_wcsnlen): New functions.
34452         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
34453         directives that involve a conversion ourselves.
34454         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
34455         wcsnlen, mbrtowc, wcrtomb.
34456         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
34457         * tests/test-vasprintf-posix.c (test_function): Likewise.
34458         * tests/test-snprintf-posix.h (test_function): Likewise.
34459         * tests/test-sprintf-posix.h (test_function): Likewise.
34460         Reported by Ben Pfaff <blp@cs.stanford.edu>.
34461
34462 2009-02-22  Bruno Haible  <bruno@clisp.org>
34463
34464         Implement new clarified decomposition of Hangul syllables.
34465         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
34466         of type LTV, return only a pairwise decomposition.
34467         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
34468         Likewise.
34469         * tests/uninorm/test-decomposition.c (main): Updated expected result.
34470         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
34471         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
34472
34473 2009-02-22  Bruno Haible  <bruno@clisp.org>
34474
34475         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
34476         zero-length results and shrink excess allocated memory.
34477         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
34478         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
34479         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
34480         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
34481         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
34482         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
34483         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
34484         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
34485         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
34486         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
34487         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
34488         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
34489
34490 2009-02-21  Bruno Haible  <bruno@clisp.org>
34491
34492         * doc/gnulib.texi: Include safe-alloc.texi earlier.
34493         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
34494         spaces after a period. Put a space between a macro name and its
34495         argument list. Trivial rewordings.
34496         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
34497         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
34498         (main): Return 0 explicitly.
34499
34500 2009-02-21  Bruno Haible  <bruno@clisp.org>
34501
34502         Tests for module 'uninorm/filter'.
34503         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
34504         * modules/uninorm/filter-tests: New file.
34505
34506         New module 'uninorm/filter'.
34507         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
34508         uninorm_filter_flush, uninorm_filter_free): New declarations.
34509         * lib/uninorm/uninorm-filter.c: New file.
34510         * modules/uninorm/filter: New file.
34511
34512 2009-02-21  Bruno Haible  <bruno@clisp.org>
34513
34514         Tests for module 'uninorm/nfkc'.
34515         * tests/uninorm/test-nfkc.c: New file.
34516         * tests/uninorm/test-u8-nfkc.c: New file.
34517         * tests/uninorm/test-u16-nfkc.c: New file.
34518         * tests/uninorm/test-u32-nfkc.c: New file.
34519         * tests/uninorm/test-u32-nfkc-big.sh: New file.
34520         * tests/uninorm/test-u32-nfkc-big.c: New file.
34521         * modules/uninorm/nfkc-tests: New file.
34522
34523         New module 'uninorm/nfkc'.
34524         * lib/uninorm/nfkc.c: New file.
34525         * modules/uninorm/nfkc: New file.
34526
34527         Tests for module 'uninorm/nfkd'.
34528         * tests/uninorm/test-nfkd.c: New file.
34529         * tests/uninorm/test-u8-nfkd.c: New file.
34530         * tests/uninorm/test-u16-nfkd.c: New file.
34531         * tests/uninorm/test-u32-nfkd.c: New file.
34532         * tests/uninorm/test-u32-nfkd-big.sh: New file.
34533         * tests/uninorm/test-u32-nfkd-big.c: New file.
34534         * modules/uninorm/nfkd-tests: New file.
34535
34536         New module 'uninorm/nfkd'.
34537         * lib/uninorm/nfkd.c: New file.
34538         * modules/uninorm/nfkd: New file.
34539
34540         Tests for module 'uninorm/nfc'.
34541         * tests/uninorm/test-nfc.c: New file.
34542         * tests/uninorm/test-u8-nfc.c: New file.
34543         * tests/uninorm/test-u16-nfc.c: New file.
34544         * tests/uninorm/test-u32-nfc.c: New file.
34545         * tests/uninorm/test-u32-nfc-big.sh: New file.
34546         * tests/uninorm/test-u32-nfc-big.c: New file.
34547         * modules/uninorm/nfc-tests: New file.
34548
34549         New module 'uninorm/nfc'.
34550         * lib/uninorm/nfc.c: New file.
34551         * modules/uninorm/nfc: New file.
34552
34553         Tests for module 'uninorm/nfd'.
34554         * tests/uninorm/test-nfd.c: New file.
34555         * tests/uninorm/test-u8-nfd.c: New file.
34556         * tests/uninorm/test-u16-nfd.c: New file.
34557         * tests/uninorm/test-u32-nfd.c: New file.
34558         * tests/uninorm/test-u32-nfd-big.sh: New file.
34559         * tests/uninorm/test-u32-nfd-big.c: New file.
34560         * tests/uninorm/test-u32-normalize-big.h: New file.
34561         * tests/uninorm/test-u32-normalize-big.c: New file.
34562         * tests/uninorm/NormalizationTest.txt: New file, created from
34563         Unicode 5.1.0 NormalizationTest.txt.
34564         * modules/uninorm/nfd-tests: New file.
34565
34566         New module 'uninorm/nfd'.
34567         * lib/uninorm/nfd.c: New file.
34568         * modules/uninorm/nfd: New file.
34569
34570         New module 'uninorm/u32-normalize'.
34571         * lib/uninorm/u32-normalize.c: New file.
34572         * modules/uninorm/u32-normalize: New file.
34573
34574         New module 'uninorm/u16-normalize'.
34575         * lib/uninorm/u16-normalize.c: New file.
34576         * modules/uninorm/u16-normalize: New file.
34577
34578         New module 'uninorm/u8-normalize'.
34579         * lib/uninorm/u8-normalize.c: New file.
34580         * lib/uninorm/normalize-internal.h: New file.
34581         * lib/uninorm/u-normalize-internal.h: New file.
34582         * modules/uninorm/u8-normalize: New file.
34583
34584         New module 'uninorm/decompose-internal'.
34585         * lib/uninorm/decompose-internal.c: New file.
34586         * modules/uninorm/decompose-internal: New file.
34587
34588         Tests for module 'uninorm/composition'.
34589         * tests/uninorm/test-composition.c: New file.
34590         * modules/uninorm/composition-tests: New file.
34591
34592         New module 'uninorm/composition'.
34593         * lib/uninorm/composition.c: New file.
34594         * lib/uninorm/composition-table.gperf: New file, generated by
34595         gen-uni-tables.
34596         * modules/uninorm/composition: New file.
34597
34598         Tests for module 'uninorm/compat-decomposition'.
34599         * tests/uninorm/test-compat-decomposition.c: New file.
34600         * modules/uninorm/compat-decomposition-tests: New file.
34601
34602         New module 'uninorm/compat-decomposition'.
34603         * lib/uninorm/decompose-internal.h: New file.
34604         * lib/uninorm/compat-decomposition.c: New file.
34605         * modules/uninorm/compat-decomposition: New file.
34606
34607         Tests for module 'uninorm/canonical-decomposition'.
34608         * tests/uninorm/test-canonical-decomposition.c: New file.
34609         * modules/uninorm/canonical-decomposition-tests: New file.
34610
34611         New module 'uninorm/canonical-decomposition'.
34612         * lib/uninorm/canonical-decomposition.c: New file.
34613         * modules/uninorm/canonical-decomposition: New file.
34614
34615         Tests for module 'uninorm/decomposition'.
34616         * tests/uninorm/test-decomposition.c: New file.
34617         * modules/uninorm/decomposition-tests: New file.
34618
34619         New module 'uninorm/decomposition'.
34620         * lib/uninorm/decomposition.c: New file.
34621         * modules/uninorm/decomposition: New file.
34622
34623         New module 'uninorm/decomposition-table'.
34624         * lib/uninorm/decomposition-table.h: New file.
34625         * lib/uninorm/decomposition-table.c: New file.
34626         * lib/uninorm/decomposition-table1.h: New file, generated by
34627         gen-uni-tables.
34628         * lib/uninorm/decomposition-table2.h: New file, generated by
34629         gen-uni-tables.
34630         * modules/uninorm/decomposition-table: New file.
34631
34632         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
34633         (UC_DECOMP_*): New enumeration items.
34634         (get_decomposition): New function.
34635         (struct decomp_table): New type.
34636         (output_decomposition, output_decomposition_tables): New functions.
34637         (unicode_composition_exclusions): New variable.
34638         (fill_composition_exclusions, debug_output_composition_tables): New
34639         functions.
34640         (main): Accept one more argument. Invoke fill_composition_exclusions.
34641         Output decomposition and composition tables.
34642
34643         New module 'uninorm/base'.
34644         * lib/uninorm.h: New file.
34645         * lib/unictype.h: Update comment.
34646         * modules/uninorm/base: New file.
34647
34648 2009-02-21  David Lutterkort  <lutter@redhat.com>
34649
34650         Tests for module 'safe-alloc'.
34651         * tests/test-safe-alloc.c: New file.
34652         * modules/safe-alloc-tests: New file.
34653
34654         New module 'safe-alloc'.
34655         * lib/safe-alloc.h: New file.
34656         * lib/safe-alloc.c: New file.
34657         * m4/safe-alloc.m4: New file.
34658         * modules/safe-alloc: New file.
34659         * doc/safe-alloc.texi: New file.
34660         * doc/gnulib.texi: Include it.
34661         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
34662         safe-alloc.
34663
34664 2009-02-18  Bruno Haible  <bruno@clisp.org>
34665
34666         Fix link error on non-glibc systems.
34667         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
34668         variable.
34669         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
34670
34671 2009-02-18  Jim Meyering  <meyering@redhat.com>
34672
34673         fts: avoid used-uninitialized error due to recent change
34674         * lib/fts.c (fts_read): Guard uses of the new member,
34675         parent->fts_n_dirs_remaining, since it's not relevant for
34676         the parent of a directory specified on the command-line.
34677
34678 2009-02-17  James Youngman  <jay@gnu.org>
34679             Bruno Haible  <bruno@clisp.org>
34680
34681         * m4/include_next.m4: Reformulate comment.
34682
34683 2009-02-16  Jim Meyering  <meyering@redhat.com>
34684
34685         fts: add #if guards so that the fts_lgpl module still builds
34686         * lib/fts.c: Guard just-added hash-table-using parts with
34687         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
34688         Reported by Simon Josefsson.
34689
34690 2009-02-15  Bruno Haible  <bruno@clisp.org>
34691
34692         * modules/array-mergesort-tests: New file.
34693         * tests/test-array-mergesort.c: New file.
34694
34695         New module 'array-mergesort'.
34696         * modules/array-mergesort: New file.
34697         * lib/array-mergesort.h: New file.
34698
34699 2009-02-15  Bruno Haible  <bruno@clisp.org>
34700
34701         Fix 2009-02-07 commit.
34702         * lib/gen-uni-tables.c (output_predicate, output_category,
34703         output_combclass, output_bidi_category, output_decimal_digit,
34704         output_digit, output_numeric, output_mirror, output_scripts,
34705         output_ident_category, output_simple_mapping): Fix format directives.
34706         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
34707
34708 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
34709
34710         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
34711         fixes are available from IBM.
34712
34713 2009-02-13  Jim Meyering  <meyering@redhat.com>
34714
34715         fts: arrange not to stat non-directories in more cases
34716         This makes GNU find (when it doesn't need to stat each file)
34717         *much* more efficient at traversing reiserfs file systems.
34718         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
34719         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
34720         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
34721         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
34722         (leaf_optimization_applies): New function.
34723         (LCO_hash, LCO_compare): New helper functions.
34724         (link_count_optimize_ok): New function.
34725         (fts_stat): Initialize new member (if dir).
34726         (fts_read): Decrement parent's fts_n_dirs_remaining count if
34727         we've just stat'ed a directory.  Skip the stat call when possible.
34728         ---
34729         Note this AFS-related exchange:
34730         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
34731         and note find's pioctl call in find/fstype.c.
34732         But that is necessary only if you want to enable the
34733         optimization for AFS, and for now, I don't.
34734
34735         fts: move a function definition "up" (no semantic change)
34736         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
34737         "up" to precede upcoming use of a related function.
34738
34739 2009-02-11  Jim Meyering  <meyering@redhat.com>
34740
34741         fts: correct internal computation of nlinks (optimization-related)
34742         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
34743         whether the current entry is a directory, so don't test it.
34744
34745 2009-02-10  Bruno Haible  <bruno@clisp.org>
34746
34747         Tests for module 'uniwbrk/ulc-wordbreaks'.
34748         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
34749         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
34750         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
34751
34752         Tests for module 'uniwbrk/u32-wordbreaks'.
34753         * modules/uniwbrk/u32-wordbreaks-tests: New file.
34754         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
34755
34756         Tests for module 'uniwbrk/u16-wordbreaks'.
34757         * modules/uniwbrk/u16-wordbreaks-tests: New file.
34758         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
34759
34760         Tests for module 'uniwbrk/u8-wordbreaks'.
34761         * modules/uniwbrk/u8-wordbreaks-tests: New file.
34762         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
34763
34764 2009-02-10  Bruno Haible  <bruno@clisp.org>
34765
34766         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
34767         property.
34768         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
34769         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
34770         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
34771
34772 2009-02-10  Simon Josefsson  <simon@josefsson.org>
34773
34774         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
34775         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
34776
34777 2009-02-10  Bruno Haible  <bruno@clisp.org>
34778
34779         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
34780         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
34781         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
34782         * lib/unilbrk/u8-possible-linebreaks.c: Update.
34783         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
34784         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
34785
34786 2009-02-09  Simon Josefsson  <simon@josefsson.org>
34787
34788         * lib/sockets.h (gl_fd_to_handle): New function.
34789
34790         * tests/test-sockets.c: Call gl_fd_to_handle.
34791
34792 2009-02-09  Bruno Haible  <bruno@clisp.org>
34793
34794         * doc/havelib.texi: Document the conventions on bi-arch systems.
34795
34796 2009-02-08  Bruno Haible  <bruno@clisp.org>
34797
34798         Document the AC_LIB_LINKFLAGS macro.
34799         * doc/havelib.texi: New file, mostly written on 2005-05-24.
34800         * doc/gnulib.texi: Include it.
34801
34802 2009-02-08  Bruno Haible  <bruno@clisp.org>
34803
34804         Fix wrong order of sections, compared to TOC.
34805         * doc/gnulib.texi: Include relocatable-maint.texi after the
34806         "Regular expressions" node, not before.
34807
34808 2009-02-08  Bruno Haible  <bruno@clisp.org>
34809
34810         Tests for module 'unicase/totitle'.
34811         * modules/unicase/totitle-tests: New file.
34812
34813         Tests for module 'unicase/tolower'.
34814         * modules/unicase/tolower-tests: New file.
34815
34816         Tests for module 'unicase/toupper'.
34817         * modules/unicase/toupper-tests: New file.
34818         * tests/unicase/test-mapping-part1.h: New file.
34819         * tests/unicase/test-mapping-part2.h: New file.
34820
34821         New module 'unicase/totitle'.
34822         * modules/unicase/totitle: New file.
34823         * lib/unicase/totitle.c: New file.
34824
34825         New module 'unicase/tolower'.
34826         * modules/unicase/tolower: New file.
34827         * lib/unicase/tolower.c: New file.
34828
34829         New module 'unicase/toupper'.
34830         * modules/unicase/toupper: New file.
34831         * lib/unicase/toupper.c: New file.
34832         * lib/unicase/simple-mapping.h: New file.
34833
34834         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
34835         (mapping_table): New structure.
34836         (output_simple_mapping): New function.
34837         (main): Invoke output_simple_mapping_test and output_simple_mapping.
34838         * modules/gen-uni-tables (Description): Update.
34839         * lib/unicase/toupper.h: New file, automatically generated by
34840         gen-uni-tables.
34841         * lib/unicase/tolower.h: New file, automatically generated by
34842         gen-uni-tables.
34843         * lib/unicase/totitle.h: New file, automatically generated by
34844         gen-uni-tables.
34845         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
34846         gen-uni-tables.
34847         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
34848         gen-uni-tables.
34849         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
34850         gen-uni-tables.
34851
34852         New module 'unicase/base'.
34853         * modules/unicase/base: New file.
34854         * lib/unicase.h: New file.
34855
34856 2009-02-08  Bruno Haible  <bruno@clisp.org>
34857
34858         New module 'uniwbrk/ulc-wordbreaks'.
34859         * modules/uniwbrk/ulc-wordbreaks: New file.
34860         * lib/uniwbrk/ulc-wordbreaks.c: New file.
34861
34862         New module 'uniwbrk/u32-wordbreaks'.
34863         * modules/uniwbrk/u32-wordbreaks: New file.
34864         * lib/uniwbrk/u32-wordbreaks.c: New file.
34865
34866         New module 'uniwbrk/u16-wordbreaks'.
34867         * modules/uniwbrk/u16-wordbreaks: New file.
34868         * lib/uniwbrk/u16-wordbreaks.c: New file.
34869
34870         New module 'uniwbrk/u8-wordbreaks'.
34871         * modules/uniwbrk/u8-wordbreaks: New file.
34872         * lib/uniwbrk/u8-wordbreaks.c: New file.
34873         * lib/uniwbrk/u-wordbreaks.h: New file.
34874
34875         New module 'uniwbrk/table'.
34876         * modules/uniwbrk/table: New file.
34877         * lib/uniwbrk/wbrktable.h: New file.
34878         * lib/uniwbrk/wbrktable.c: New file.
34879
34880         New module 'uniwbrk/wordbreak-property'.
34881         * modules/uniwbrk/wordbreak-property: New file.
34882         * lib/uniwbrk/wordbreak-property.c: New file.
34883
34884         * lib/gen-uni-tables.c (WBP_*): New enum items.
34885         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
34886         (unicode_org_wbp): New variable.
34887         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
34888         New functions.
34889         (wbp_table): New structure.
34890         (output_wbp, output_wbrk_tables): New functions.
34891         (main): Accept additional argument. Invoke fill_org_wbp,
34892         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
34893         output_wbrk_tables.
34894         * modules/gen-uni-tables (Description): Update.
34895         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
34896         gen-uni-tables.
34897
34898         New module 'uniwbrk/base'.
34899         * modules/uniwbrk/base: New file.
34900         * lib/uniwbrk.h: New file.
34901
34902 2009-02-08  Bruno Haible  <bruno@clisp.org>
34903
34904         Update to Unicode 5.1.0.
34905         * lib/gen-uni-tables.c (is_property_alphabetic): Include
34906         U+2185..U+2188.
34907         (is_property_default_ignorable_code_point): Don't include characters
34908         of category Cc or Cs and not-a-characters.
34909         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
34910         U+0D79, U+109E, U+109F, U+A60C.
34911         * lib/unictype/bidi_of.h: Regenerated.
34912         * lib/unictype/blocks.h: Regenerated.
34913         * lib/unictype/categ_C.h: Regenerated.
34914         * lib/unictype/categ_Cf.h: Regenerated.
34915         * lib/unictype/categ_Cn.h: Regenerated.
34916         * lib/unictype/categ_L.h: Regenerated.
34917         * lib/unictype/categ_Ll.h: Regenerated.
34918         * lib/unictype/categ_Lm.h: Regenerated.
34919         * lib/unictype/categ_Lo.h: Regenerated.
34920         * lib/unictype/categ_Lu.h: Regenerated.
34921         * lib/unictype/categ_M.h: Regenerated.
34922         * lib/unictype/categ_Mc.h: Regenerated.
34923         * lib/unictype/categ_Me.h: Regenerated.
34924         * lib/unictype/categ_Mn.h: Regenerated.
34925         * lib/unictype/categ_N.h: Regenerated.
34926         * lib/unictype/categ_Nd.h: Regenerated.
34927         * lib/unictype/categ_Nl.h: Regenerated.
34928         * lib/unictype/categ_No.h: Regenerated.
34929         * lib/unictype/categ_P.h: Regenerated.
34930         * lib/unictype/categ_Pd.h: Regenerated.
34931         * lib/unictype/categ_Pe.h: Regenerated.
34932         * lib/unictype/categ_Pf.h: Regenerated.
34933         * lib/unictype/categ_Pi.h: Regenerated.
34934         * lib/unictype/categ_Po.h: Regenerated.
34935         * lib/unictype/categ_Ps.h: Regenerated.
34936         * lib/unictype/categ_S.h: Regenerated.
34937         * lib/unictype/categ_Sk.h: Regenerated.
34938         * lib/unictype/categ_Sm.h: Regenerated.
34939         * lib/unictype/categ_So.h: Regenerated.
34940         * lib/unictype/categ_of.h: Regenerated.
34941         * lib/unictype/combining.h: Regenerated.
34942         * lib/unictype/ctype_alnum.h: Regenerated.
34943         * lib/unictype/ctype_alpha.h: Regenerated.
34944         * lib/unictype/ctype_graph.h: Regenerated.
34945         * lib/unictype/ctype_lower.h: Regenerated.
34946         * lib/unictype/ctype_print.h: Regenerated.
34947         * lib/unictype/ctype_punct.h: Regenerated.
34948         * lib/unictype/ctype_upper.h: Regenerated.
34949         * lib/unictype/decdigit.h: Regenerated.
34950         * lib/unictype/digit.h: Regenerated.
34951         * lib/unictype/mirror.h: Regenerated.
34952         * lib/unictype/numeric.h: Regenerated.
34953         * lib/unictype/pr_alphabetic.h: Regenerated.
34954         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
34955         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
34956         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
34957         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
34958         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
34959         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
34960         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
34961         * lib/unictype/pr_combining.h: Regenerated.
34962         * lib/unictype/pr_dash.h: Regenerated.
34963         * lib/unictype/pr_decimal_digit.h: Regenerated.
34964         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
34965         * lib/unictype/pr_deprecated.h: Regenerated.
34966         * lib/unictype/pr_diacritic.h: Regenerated.
34967         * lib/unictype/pr_extender.h: Regenerated.
34968         * lib/unictype/pr_format_control.h: Regenerated.
34969         * lib/unictype/pr_grapheme_base.h: Regenerated.
34970         * lib/unictype/pr_grapheme_extend.h: Regenerated.
34971         * lib/unictype/pr_grapheme_link.h: Regenerated.
34972         * lib/unictype/pr_id_continue.h: Regenerated.
34973         * lib/unictype/pr_id_start.h: Regenerated.
34974         * lib/unictype/pr_ideographic.h: Regenerated.
34975         * lib/unictype/pr_ignorable_control.h: Regenerated.
34976         * lib/unictype/pr_lowercase.h: Regenerated.
34977         * lib/unictype/pr_math.h: Regenerated.
34978         * lib/unictype/pr_numeric.h: Regenerated.
34979         * lib/unictype/pr_other_alphabetic.h: Regenerated.
34980         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
34981         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
34982         * lib/unictype/pr_other_id_continue.h: Regenerated.
34983         * lib/unictype/pr_other_lowercase.h: Regenerated.
34984         * lib/unictype/pr_other_math.h: Regenerated.
34985         * lib/unictype/pr_punctuation.h: Regenerated.
34986         * lib/unictype/pr_sentence_terminal.h: Regenerated.
34987         * lib/unictype/pr_soft_dotted.h: Regenerated.
34988         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
34989         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
34990         * lib/unictype/pr_unified_ideograph.h: Regenerated.
34991         * lib/unictype/pr_uppercase.h: Regenerated.
34992         * lib/unictype/pr_xid_continue.h: Regenerated.
34993         * lib/unictype/pr_xid_start.h: Regenerated.
34994         * lib/unictype/pr_zero_width.h: Regenerated.
34995         * lib/unictype/scripts.h: Regenerated.
34996         * lib/unictype/scripts_byname.gperf: Regenerated.
34997         * lib/unictype/sy_java_ident.h: Regenerated.
34998         * lib/unilbrk/lbrkprop1.h: Regenerated.
34999         * lib/unilbrk/lbrkprop2.h: Regenerated.
35000         * tests/unictype/test-categ_C.c: Regenerated.
35001         * tests/unictype/test-categ_Cf.c: Regenerated.
35002         * tests/unictype/test-categ_Cn.c: Regenerated.
35003         * tests/unictype/test-categ_L.c: Regenerated.
35004         * tests/unictype/test-categ_Ll.c: Regenerated.
35005         * tests/unictype/test-categ_Lm.c: Regenerated.
35006         * tests/unictype/test-categ_Lo.c: Regenerated.
35007         * tests/unictype/test-categ_Lu.c: Regenerated.
35008         * tests/unictype/test-categ_M.c: Regenerated.
35009         * tests/unictype/test-categ_Mc.c: Regenerated.
35010         * tests/unictype/test-categ_Me.c: Regenerated.
35011         * tests/unictype/test-categ_Mn.c: Regenerated.
35012         * tests/unictype/test-categ_N.c: Regenerated.
35013         * tests/unictype/test-categ_Nd.c: Regenerated.
35014         * tests/unictype/test-categ_Nl.c: Regenerated.
35015         * tests/unictype/test-categ_No.c: Regenerated.
35016         * tests/unictype/test-categ_P.c: Regenerated.
35017         * tests/unictype/test-categ_Pd.c: Regenerated.
35018         * tests/unictype/test-categ_Pe.c: Regenerated.
35019         * tests/unictype/test-categ_Pf.c: Regenerated.
35020         * tests/unictype/test-categ_Pi.c: Regenerated.
35021         * tests/unictype/test-categ_Po.c: Regenerated.
35022         * tests/unictype/test-categ_Ps.c: Regenerated.
35023         * tests/unictype/test-categ_S.c: Regenerated.
35024         * tests/unictype/test-categ_Sk.c: Regenerated.
35025         * tests/unictype/test-categ_Sm.c: Regenerated.
35026         * tests/unictype/test-categ_So.c: Regenerated.
35027         * tests/unictype/test-ctype_alnum.c: Regenerated.
35028         * tests/unictype/test-ctype_alpha.c: Regenerated.
35029         * tests/unictype/test-ctype_graph.c: Regenerated.
35030         * tests/unictype/test-ctype_lower.c: Regenerated.
35031         * tests/unictype/test-ctype_print.c: Regenerated.
35032         * tests/unictype/test-ctype_punct.c: Regenerated.
35033         * tests/unictype/test-ctype_upper.c: Regenerated.
35034         * tests/unictype/test-decdigit.h: Regenerated.
35035         * tests/unictype/test-digit.h: Regenerated.
35036         * tests/unictype/test-numeric.h: Regenerated.
35037         * tests/unictype/test-pr_alphabetic.c: Regenerated.
35038         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
35039         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
35040         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
35041         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
35042         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
35043         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
35044         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
35045         * tests/unictype/test-pr_combining.c: Regenerated.
35046         * tests/unictype/test-pr_dash.c: Regenerated.
35047         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
35048         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
35049         * tests/unictype/test-pr_deprecated.c: Regenerated.
35050         * tests/unictype/test-pr_diacritic.c: Regenerated.
35051         * tests/unictype/test-pr_extender.c: Regenerated.
35052         * tests/unictype/test-pr_format_control.c: Regenerated.
35053         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
35054         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
35055         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
35056         * tests/unictype/test-pr_id_continue.c: Regenerated.
35057         * tests/unictype/test-pr_id_start.c: Regenerated.
35058         * tests/unictype/test-pr_ideographic.c: Regenerated.
35059         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
35060         * tests/unictype/test-pr_lowercase.c: Regenerated.
35061         * tests/unictype/test-pr_math.c: Regenerated.
35062         * tests/unictype/test-pr_numeric.c: Regenerated.
35063         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
35064         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
35065         Regenerated.
35066         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
35067         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
35068         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
35069         * tests/unictype/test-pr_other_math.c: Regenerated.
35070         * tests/unictype/test-pr_punctuation.c: Regenerated.
35071         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
35072         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
35073         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
35074         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
35075         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
35076         * tests/unictype/test-pr_uppercase.c: Regenerated.
35077         * tests/unictype/test-pr_xid_continue.c: Regenerated.
35078         * tests/unictype/test-pr_xid_start.c: Regenerated.
35079         * tests/unictype/test-pr_zero_width.c: Regenerated.
35080
35081         Update to Unicode 5.1.0.
35082         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
35083         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
35084         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
35085         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
35086         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
35087         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
35088         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
35089         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
35090         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
35091         (nonspacing_table_ind): Update.
35092         * tests/uniwidth/test-uc_width2.sh: Update expected result.
35093
35094         Update to Unicode 5.1.0.
35095         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
35096         code transform.
35097         * lib/uniname/uniname.c (unicode_character_name,
35098         unicode_name_character): Add the range 0x1Fxxx to the code transform.
35099         * lib/uniname/uninames.h: Regenerated.
35100         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
35101
35102 2009-02-07  Bruno Haible  <bruno@clisp.org>
35103
35104         Merge gen-ctype and gen-lbrk into a single program.
35105         * lib/gen-uni-tables.c: New file, incorporating
35106         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
35107         Add directory prefixes to the names of the generated files.
35108         * lib/unictype/gen-ctype.c: Remove file.
35109         * lib/unilbrk/gen-lbrk.c: Remove file.
35110         * modules/gen-uni-tables: New file.
35111         * modules/unictype/gen-ctype: Remove file.
35112         * modules/unilbrk/gen-lbrk: Remove file.
35113
35114 2009-02-07  Bruno Haible  <bruno@clisp.org>
35115
35116         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
35117
35118         New module 'unistr/u32-strcoll'.
35119         * modules/unistr/u32-strcoll: New file.
35120         * lib/unistr/u32-strcoll.c: New file.
35121
35122         New module 'unistr/u16-strcoll'.
35123         * modules/unistr/u16-strcoll: New file.
35124         * lib/unistr/u16-strcoll.c: New file.
35125
35126         New module 'unistr/u8-strcoll'.
35127         * modules/unistr/u8-strcoll: New file.
35128         * lib/unistr/u8-strcoll.c: New file.
35129         * lib/unistr/u-strcoll.h: New file.
35130
35131 2009-02-07  Bruno Haible  <bruno@clisp.org>
35132
35133         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
35134         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
35135         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
35136         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
35137         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
35138         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
35139
35140 2009-02-07  Bruno Haible  <bruno@clisp.org>
35141
35142         Make 64-bit clean.
35143         * lib/unictype/gen-ctype.c (output_predicate, output_category,
35144         output_combclass, output_bidi_category, output_decimal_digit,
35145         output_digit, output_numeric, output_mirror, output_scripts,
35146         output_ident_category): Use proper width specifier in format strings.
35147
35148 2009-02-07  Bruno Haible  <bruno@clisp.org>
35149
35150         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
35151         failure behaviour.
35152
35153 2009-02-07  Jim Meyering  <meyering@redhat.com>
35154
35155         regex: avoid compilation failure with upcoming gcc-4.4
35156         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
35157         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
35158         "... error: integer overflow in preprocessor expression".
35159
35160 2009-02-05  Ben Pfaff  <blp@gnu.org>
35161
35162         Fix link errors on Windows when close module is used.
35163         * modules/close: Add $(LIB_CLOSE) to Link section.
35164         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
35165         $(LIB_CLOSE) on Windows.
35166
35167 2009-02-05  Jim Meyering  <meyering@redhat.com>
35168
35169         still avoid unused-parameter warnings, but do it cleanly
35170         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
35171         (get_fs_usage): Cast to void instead.
35172         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
35173         (dev_from_mount_options, read_file_system_list): Cast to void.
35174         Prompted by Bruno Haible.
35175
35176 2009-02-04  Jim Meyering  <meyering@redhat.com>
35177
35178         fsusage.c: correct copyright year
35179         * lib/fsusage.c: Reflect year in which the change is pushed into
35180
35181         avoid misc. warnings
35182         * lib/fsusage.c (UNUSED_PARAM): Define.
35183         (get_fs_usage): Mark parameter "disk" as unused.
35184         * lib/getugroups.c (getgrent): Use "void" in prototype.
35185         * lib/mountlist.c: Mark unused parameters.
35186         (read_file_system_list): Declare a local with "const".
35187         * lib/nanosleep.c (getnow): Declare static.
35188         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
35189
35190         dirfd: set errno upon failure
35191         * lib/dirfd.c: Include <errno.h>.
35192         Set errno to ENOTSUP when returning -1.
35193         * modules/dirfd (Depends-on): Add errno.
35194         Suggested by John Kodis <kodis@comcast.net>.
35195
35196 2009-02-01  Bruno Haible  <bruno@clisp.org>
35197
35198         Don't assume sizeof (long) >= sizeof (void *).
35199         * lib/memcmp.c: Include stdint.h.
35200         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
35201         srcp2 to 'const byte *'.
35202         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
35203         types to uintptr_t.
35204         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
35205         * modules/memcmp (Depends-on): Add stdint.
35206         Reported by Ozkan Sezer <sezeroz@gmail.com>.
35207
35208 2009-01-30  Eric Blake  <ebb9@byu.net>
35209
35210         fix more require-before-expand issues
35211         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
35212         expand, AC_PROG_AWK.
35213         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
35214
35215 2009-01-28  Eric Blake  <ebb9@byu.net>
35216
35217         version-etc: use consistent URL formatting
35218         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
35219         Improve formatting.  Use fputs for string without %.
35220
35221 2009-01-28  Jim Meyering  <meyering@redhat.com>
35222
35223         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
35224         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
35225         "underquoted definition of NAME" from autoconf-2.59.
35226
35227 2009-01-28  Bruno Haible  <bruno@clisp.org>
35228
35229         * doc/gnulib.texi: Add "Obsolete modules" to index.
35230
35231 2009-01-28  Jim Meyering  <meyering@redhat.com>
35232
35233         useless-if-before-free: recognize more variants
35234         * build-aux/useless-if-before-free: Also recognize e.g.,
35235         if (NULL != p) free (p);
35236
35237 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
35238
35239         test-getaddrinfo: skip (don't fail) this test when there's no network
35240         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
35241         on the presumption that it means you lack network access.
35242
35243 2009-01-26  Jim Meyering  <meyering@redhat.com>
35244
35245         fflush: avoid warnings on modern systems
35246         * lib/fflush.c (rpl_fflush): Move declarations of locals,
35247         pos and result, into scopes where they're used.
35248
35249 2009-01-26  Eric Blake  <ebb9@byu.net>
35250
35251         Silence warning reintroduced by recent extensions patch.
35252         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
35253         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
35254         autoconf.
35255
35256         Backport improved autoconf semantics of AC_DEFUN_ONCE.
35257         * m4/00gnulib.m4: New file.
35258         * gnulib-tool (func_get_filelist): Always use it.
35259         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
35260         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
35261
35262 2009-01-25  Bruno Haible  <bruno@clisp.org>
35263
35264         Make test-quotearg work on MacOS X and AIX.
35265         * tests/test-quotearg.sh: New file.
35266         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
35267         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
35268         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
35269         include <libintl.h>.
35270         (fake_locale): Remove variable.
35271         (gettext, dgettext, dcgettext): Remove functions.
35272         (main): Instead of setting a fake locale, set a real locale. Call
35273         textdomain and bindtextdomain.
35274         * modules/quotearg-tests (Files): Add the new files.
35275         (Depends-on): Add gettext, setenv, unsetenv.
35276         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
35277         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
35278         Augment TESTS_ENVIRONMENT.
35279
35280 2009-01-25  Bruno Haible  <bruno@clisp.org>
35281
35282         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
35283         fr_FR.ISO8859-1 locale on MacOS X.
35284         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
35285         ja_JP.eucJP locale on MacOS X.
35286         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
35287         zh_CN.GB18030 locale on MacOS X.
35288
35289 2009-01-25  Bruno Haible  <bruno@clisp.org>
35290
35291         Avoid link errors on MacOS X 10.3.
35292         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
35293         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
35294
35295 2009-01-25  Bruno Haible  <bruno@clisp.org>
35296
35297         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
35298         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
35299         * modules/pipe (Files): Remove m4/posix_spawn.m4.
35300         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
35301         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
35302         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
35303         posix_spawnattr_init, posix_spawnattr_setsigmask,
35304         posix_spawnattr_setflags, posix_spawnattr_destroy.
35305
35306         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
35307         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
35308         * modules/execute (Files): Remove m4/posix_spawn.m4.
35309         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
35310         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
35311         posix_spawnattr_init, posix_spawnattr_setsigmask,
35312         posix_spawnattr_setflags, posix_spawnattr_destroy.
35313
35314 2009-01-25  Bruno Haible  <bruno@clisp.org>
35315
35316         * lib/glthread/threadlib.c: Include <stdlib.h>.
35317
35318 2009-01-25  Bruno Haible  <bruno@clisp.org>
35319
35320         * lib/glthread/threadlib.c (dummy): New declaration.
35321
35322 2009-01-25  Bruno Haible  <bruno@clisp.org>
35323
35324         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
35325         multibyte characters also for the GB18030 encoding. Don't crash when
35326         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
35327
35328 2009-01-25  Bruno Haible  <bruno@clisp.org>
35329
35330         Avoid redefining 'struct random_data' on OSF/1 5.1.
35331         * lib/stdlib.in.h: Include <random.h> if it exists.
35332         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
35333         HAVE_RANDOM_H. Include <random.h> when testing whether
35334         'struct random_data' exists.
35335         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
35336
35337 2009-01-25  Bruno Haible  <bruno@clisp.org>
35338
35339         Don't install charset.alias on MacOS X >= 10.3.
35340         * lib/localcharset.c (DARWIN7): New macro.
35341         (get_charset_aliases): Hardcode the result for Darwin7.
35342         * modules/localcharset (install-exec-local): Don't install
35343         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
35344
35345 2009-01-25  Bruno Haible  <bruno@clisp.org>
35346
35347         Don't install charset.alias on mingw and Cygwin.
35348         * modules/localcharset (install-exec-local): Don't install
35349         charset.alias on mingw and Cygwin, if the file does not yet exist.
35350         The result for these platforms is hardcoded in localcharset.c.
35351
35352 2009-01-25  Bruno Haible  <bruno@clisp.org>
35353
35354         Make it possible again to use AC_GNU_SOURCE together with gnulib.
35355         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
35356         before requiring AC_USE_SYSTEM_EXTENSIONS.
35357
35358 2009-01-25  Jim Meyering  <meyering@redhat.com>
35359
35360         c-strtod: avoid warnings
35361         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
35362         "assignment discards qualifiers from pointer target type" warnings.
35363
35364 2009-01-24  Bruno Haible  <bruno@clisp.org>
35365
35366         Add support for non-UTF-8 locales on MacOS X.
35367         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
35368         canonical encodings. For Darwin 7 and newer, don't map traditional
35369         encodings to UTF-8.
35370         Reported by Vincent Lefevre <vincent@vinc17.org>
35371         at <http://savannah.gnu.org/bugs/?25235>.
35372
35373 2009-01-24  Bruno Haible  <bruno@clisp.org>
35374
35375         * doc/gnulib.texi (Obsolete modules): New section.
35376         Reported by Mike Frysinger <vapier@gentoo.org>.
35377
35378 2009-01-24  Bruno Haible  <bruno@clisp.org>
35379
35380         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
35381         (%.dvi): New rule.
35382
35383 2009-01-24  Bruno Haible  <bruno@clisp.org>
35384
35385         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
35386         Reported by Eric Blake.
35387
35388 2009-01-24  Bruno Haible  <bruno@clisp.org>
35389
35390         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
35391         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
35392         Reported by Gary V. Vaughan <gary@gnu.org>.
35393
35394 2009-01-24  Bruno Haible  <bruno@clisp.org>
35395
35396         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
35397
35398 2009-01-23  Bruno Haible  <bruno@clisp.org>
35399
35400         Make c-strtod, c-strtold usable in libraries.
35401         * lib/c-strtod.c: Include string.h instead of xalloc.h.
35402         (C_STRTOD): Call strdup instead of xstrdup.
35403         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
35404         * modules/c-strtold (Depends-on): Likewise.
35405         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
35406         * NEWS: Mention the change.
35407         Reported by Michael Gold <mgold@ncf.ca>.
35408
35409 2009-01-23  Jim Meyering  <meyering@redhat.com>
35410
35411         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
35412         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
35413         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
35414
35415 2009-01-23  Simon Josefsson  <simon@josefsson.org>
35416
35417         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
35418         GNU CoreUtils.
35419         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
35420         * modules/version-etc (Description): Update.
35421
35422 2009-01-22  Bruno Haible  <bruno@clisp.org>
35423
35424         Cache the C locale object.
35425         * lib/c-strtod.c (c_locale_cache): New variable.
35426         (c_locale): New function.
35427         (C_STRTOD): Use it, and don't call freelocale.
35428         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
35429         Suggested by Paolo Bonzini.
35430
35431 2009-01-21  Bruno Haible  <bruno@clisp.org>
35432
35433         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
35434         conditions other than overflow.
35435
35436 2009-01-21  Bruno Haible  <bruno@clisp.org>
35437
35438         * lib/c-strtod.c: Include errno.h.
35439         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
35440         value from STRTOD_L and STRTOD.
35441
35442 2009-01-21  Bruno Haible  <bruno@clisp.org>
35443         and Jim Meyering  <meyering@redhat.com>
35444
35445         nanosleep: skip configure test (fail it) for apple universal builds
35446         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
35447         universal builds, assume that nanosleep does not work.
35448         * modules/nanosleep (Depends-on): Add multiarch.
35449
35450         mktime: skip configure test (fail it) for apple universal builds
35451         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
35452         universal builds, assume that mktime does not work.
35453         * modules/mktime (Depends-on): Add multiarch.
35454
35455 2009-01-21  Eric Blake  <ebb9@byu.net>
35456
35457         multiarch: avoid expand-before-require warning
35458         * modules/multiarch (configure.ac): Require, rather than expand,
35459         gl_MULTIARCH.
35460         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
35461         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
35462         enforce that all clients require it.  Partial reversion of
35463         2008-12-29 patch.
35464
35465         error: avoid expand-before-require warning
35466         * modules/errno (configure.ac): Require, rather than expand,
35467         gl_HEADER_ERRNO_H.
35468         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
35469         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
35470         enforce that all clients require it.
35471
35472         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
35473         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
35474         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
35475         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
35476
35477 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
35478
35479         Revert:
35480         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
35481
35482         regex: do not depend on obsolete modules.
35483         * modules/regex: Remove memcmp and memmove.
35484
35485 2009-01-20  Bruno Haible  <bruno@clisp.org>
35486
35487         Make the 'link' module link on Windows NT 4.
35488         * lib/link.c (_WIN32_WINNT): Don't define.
35489         (CreateHardLinkFuncType): New type.
35490         (CreateHardLinkFunc, initialized): New variables.
35491         (initialize): New function.
35492         (link): Invoke CreateHardLink indirectly through the function pointer.
35493
35494 2009-01-20  Bruno Haible  <bruno@clisp.org>
35495
35496         Fix compilation failure on mingw.
35497         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
35498
35499 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
35500
35501         * doc/c-strtod.texi: Mention a couple of restrictions.
35502
35503 2009-01-20  Jim Meyering  <meyering@redhat.com>
35504
35505         gettimeofday: move more declarations out of functions
35506         * lib/gettimeofday.c: Move extern declarations of tzset and
35507         gmtime out of containing functions.  Prompted by Bruno Haible.
35508
35509 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
35510
35511         regex: do not depend on obsolete modules.
35512         * modules/regex: Remove memcmp and memmove.
35513
35514 2009-01-19  Bruno Haible  <bruno@clisp.org>
35515
35516         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
35517         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
35518         gl_BIGENDIAN, not AC_C_BIGENDIAN.
35519         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
35520         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
35521
35522 2009-01-19  Bruno Haible  <bruno@clisp.org>
35523
35524         * tests/test-link.c: Include <errno.h>.
35525         (main): Exit with code 77 when a hard link cannot be created due to
35526         the file system.
35527         * tests/test-link.sh: Skip test when a hard link cannot be created due
35528         to the file system.
35529         Suggested by Eric Blake.
35530
35531 2009-01-19  Martin Lambers  <marlam@marlam.de>
35532
35533         * modules/link-tests: New file.
35534         * tests/test-link.sh: New file.
35535         * tests/test-link.c: New file.
35536
35537 2009-01-19  Eric Blake  <ebb9@byu.net>
35538
35539         doc: mention another function added in cygwin 1.7.0
35540         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
35541         Another new function in cygwin 1.7.
35542
35543 2009-01-19  Bruno Haible  <bruno@clisp.org>
35544
35545         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
35546         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
35547         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
35548         gl_BIGENDIAN, not AC_C_BIGENDIAN.
35549         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
35550         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
35551         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
35552         * m4/md4.m4 (gl_MD4): Likewise.
35553         * m4/md5.m4 (gl_MD5): Likewise.
35554         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
35555         * m4/sha1.m4 (gl_SHA1): Likewise.
35556         * m4/sha256.m4 (gl_SHA256): Likewise.
35557         * m4/sha512.m4 (gl_SHA512): Likewise.
35558
35559 2009-01-19  Bruno Haible  <bruno@clisp.org>
35560
35561         * modules/uniname/uniname-tests (Depends-on): Add progname.
35562         * tests/uniname/test-uninames.c: Include progname.h.
35563         (main): Call set_program_name.
35564
35565         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
35566         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
35567         (main): Call set_program_name.
35568
35569         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
35570         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
35571         (main): Call set_program_name.
35572
35573         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
35574         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
35575         (main): Call set_program_name.
35576
35577         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
35578         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
35579         (main): Call set_program_name.
35580
35581         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
35582         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
35583         (main): Call set_program_name.
35584
35585         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
35586         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
35587         (main): Call set_program_name.
35588
35589         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
35590         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
35591         (main): Call set_program_name.
35592
35593         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
35594         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
35595         (main): Call set_program_name.
35596
35597 2009-01-19  Eric Blake  <ebb9@byu.net>
35598
35599         test-unistd: test previous patch
35600         * tests/test-unistd.c: Test *_FILENO macros.
35601
35602         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
35603         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
35604         Guarantee a definition.
35605         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
35606         * modules/unistd-safer (Depends-on): Add dependency on unistd.
35607         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
35608         * lib/dup-safer.c (STDERR_FILENO): Likewise.
35609         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
35610         Likewise.
35611         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
35612         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
35613         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
35614         Likewise.
35615         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
35616         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
35617         (STDERR_FILENO): Likewise.
35618         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
35619         (STDERR_FILENO): Likewise.
35620         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
35621         (STDERR_FILENO): Likewise.
35622         Reported by Elbert Pol.
35623
35624 2009-01-19  Eric Blake  <ebb9@byu.net>
35625
35626         doc: mention more functions added in cygwin 1.7.0
35627         * doc/posix-functions/abort.texi (abort): Update wording related
35628         to cygwin.
35629         * doc/posix-functions/daylight.texi (daylight): Likewise.
35630         * doc/posix-functions/optarg.texi (optarg): Likewise.
35631         * doc/posix-functions/optarg.texi (opterr): Likewise.
35632         * doc/posix-functions/optarg.texi (optind): Likewise.
35633         * doc/posix-functions/optarg.texi (optopt): Likewise.
35634         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
35635         worked in 1.5.x, and was withdrawn in 1.7.
35636         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
35637         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
35638         cygwin versions.
35639         * doc/posix-functions/perror.texi (perror): Likewise.
35640         * doc/posix-functions/printf.texi (printf): Likewise.
35641         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
35642         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
35643         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
35644         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
35645         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
35646         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
35647         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
35648         Likewise.
35649         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
35650         Likewise.
35651         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
35652         this function.
35653         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
35654         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
35655         Likewise.
35656         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
35657         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
35658         * doc/posix-functions/confstr.texi (confstr): Likewise.
35659         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
35660         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
35661         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
35662         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
35663         * doc/posix-functions/fputws.texi (fputws): Likewise.
35664         * doc/posix-functions/fwide.texi (fwide): Likewise.
35665         * doc/posix-functions/getwc.texi (getwc): Likewise.
35666         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
35667         * doc/posix-functions/putwc.texi (putwc): Likewise.
35668         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
35669         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
35670         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
35671         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
35672         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
35673         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
35674         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
35675         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
35676         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
35677         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
35678         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
35679
35680 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
35681
35682         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
35683         * lib/ioctl.c: Include <sys/ioctl.h>.
35684
35685 2009-01-19  Simon Josefsson  <simon@josefsson.org>
35686
35687         * modules/getdate-tests (Depends-on): Add progname.
35688         * tests/test-getdate.c: Use progname module, to avoid link errors
35689         on non-glibc systems.
35690
35691 2009-01-18  Simon Josefsson  <simon@josefsson.org>
35692
35693         * modules/filenamecat-tests (Depends-on): Add progname.
35694         * modules/fstrcmp-tests (Depends-on): Likewise.
35695
35696         * tests/test-filenamecat.c: Use progname module, to avoid link
35697         errors on non-glibc systems.
35698         * tests/test-fstrcmp.c: Likewise.
35699
35700 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
35701
35702         gettimeofday: avoid warning: nested extern declaration of 'localtime'
35703         * lib/gettimeofday.c: Move extern declaration out of function.
35704
35705 2009-01-18  Bruno Haible  <bruno@clisp.org>
35706
35707         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
35708         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
35709         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
35710
35711 2009-01-18  Bruno Haible  <bruno@clisp.org>
35712
35713         * lib/strftime.c (MEMPCPY): Remove unused macro.
35714         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
35715
35716 2009-01-18  Martin Lambers  <marlam@marlam.de>
35717
35718         New module 'link'.
35719         * lib/unistd.in.h (link): New declaration.
35720         * lib/link.c: New file.
35721         * m4/link.m4: New file.
35722         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
35723         HAVE_LINK.
35724         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
35725         * modules/link: New file.
35726         * doc/posix-functions/link.texi: Mention the new module.
35727
35728 2009-01-18  Bruno Haible  <bruno@clisp.org>
35729
35730         * tests/test-avltree_list.c (main): Call set_program_name.
35731         * tests/test-avltree_oset.c (main): Likewise.
35732         * tests/test-obstack-printf.c: Include progname.h.
35733         (main): Call set_program_name.
35734         * tests/test-quotearg.c: Include progname.h.
35735         (main): Call set_program_name.
35736         * tests/test-xmemdup0.c: Include progname.h.
35737         (main): Call set_program_name.
35738
35739 2009-01-18  Bruno Haible  <bruno@clisp.org>
35740
35741         New module 'alphasort'.
35742         * lib/dirent.in.h (alphasort): New declaration.
35743         * lib/alphasort.c: New file, from glibc with modifications.
35744         * m4/alphasort.m4: New file.
35745         * modules/alphasort: New file.
35746         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
35747         HAVE_ALPHASORT.
35748         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
35749         HAVE_ALPHASORT.
35750         * doc/posix-functions/alphasort.texi: Mention the new module and the
35751         portability problems.
35752
35753 2009-01-18  Bruno Haible  <bruno@clisp.org>
35754
35755         New module 'scandir'.
35756         * lib/dirent.in.h (scandir): New declaration.
35757         * lib/scandir.c: New file, from glibc with modifications.
35758         * m4/scandir.m4: New file.
35759         * modules/scandir: New file.
35760         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
35761         HAVE_SCANDIR.
35762         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
35763         HAVE_SCANDIR.
35764         * doc/posix-functions/scandir.texi: Mention the new module and the
35765         portability problems.
35766
35767 2009-01-17  Bruno Haible  <bruno@clisp.org>
35768
35769         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
35770         Update documentation.
35771         (func_remove_suffix): Escape all dots in the suffix. Update
35772         documentation.
35773         (func_filter_filelist): Update documentation.
35774         Reported by Ralf Wildenhues.
35775
35776 2009-01-17  Bruno Haible  <bruno@clisp.org>
35777
35778         * modules/dprintf-posix-tests: New file.
35779         * tests/test-dprintf-posix.sh: New file.
35780         * tests/test-dprintf-posix.c: New file.
35781
35782         New modules 'dprintf', 'dprintf-posix'.
35783         * lib/stdio.in.h (dprintf): New declaration.
35784         * lib/dprintf.c: New file.
35785         * m4/dprintf.m4: New file.
35786         * m4/dprintf-posix.m4: New file.
35787         * modules/dprintf: New file.
35788         * modules/dprintf-posix: New file.
35789         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
35790         HAVE_DPRINTF, REPLACE_DPRINTF.
35791         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
35792         HAVE_DPRINTF, REPLACE_DPRINTF.
35793         * doc/posix-functions/dprintf.texi: Mention the new modules.
35794
35795 2009-01-17  Bruno Haible  <bruno@clisp.org>
35796
35797         * modules/vdprintf-posix-tests: New file.
35798         * tests/test-vdprintf-posix.sh: New file.
35799         * tests/test-vdprintf-posix.c: New file.
35800
35801         New modules 'vdprintf', 'vdprintf-posix'.
35802         * lib/stdio.in.h (vdprintf): New declaration.
35803         * lib/vdprintf.c: New file.
35804         * m4/vdprintf.m4: New file.
35805         * m4/vdprintf-posix.m4: New file.
35806         * modules/vdprintf: New file.
35807         * modules/vdprintf-posix: New file.
35808         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
35809         HAVE_VDPRINTF, REPLACE_VDPRINTF.
35810         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
35811         HAVE_VDPRINTF, REPLACE_VDPRINTF.
35812         * doc/posix-functions/vdprintf.texi: Mention the new modules.
35813
35814 2009-01-17  Bruno Haible  <bruno@clisp.org>
35815
35816         Fix replacement of fopen on mingw.
35817         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
35818         mingw.
35819
35820 2009-01-17  Bruno Haible  <bruno@clisp.org>
35821
35822         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
35823         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
35824
35825 2009-01-17  Bruno Haible  <bruno@clisp.org>
35826
35827         Avoid test-fflush2.sh failure on mingw.
35828         * tests/test-fflush2.c: Include binary-io.h.
35829         (main): Put standard input into binary mode.
35830         * modules/fflush-tests (Depends-on): Add binary-io.
35831
35832 2009-01-17  Bruno Haible  <bruno@clisp.org>
35833
35834         * lib/wchar.in.h: In another particular situation, include only the
35835         system's <wchar.h> file.
35836         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
35837         Reported by Albert Chin-A-Young <china@thewrittenword.com>
35838         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
35839
35840 2009-01-17  Bruno Haible  <bruno@clisp.org>
35841
35842         Support for stripping executables in --enable-relocatable.
35843         * build-aux/install-reloc: Expect one more argument, or an environment
35844         variable RELOC_STRIP_PROG. If set, strip the destination program and
35845         its wrapper.
35846         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
35847         RELOC_STRIP_PROG.
35848         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
35849         to set RELOCATABLE_STRIP.
35850         * NEWS: Mention the new Makefile requirement.
35851
35852 2009-01-17  Bruno Haible  <bruno@clisp.org>
35853
35854         * build-aux/install-reloc: Remove debugging information left over by
35855         C compiler on MacOS X.
35856
35857 2009-01-17  Bruno Haible  <bruno@clisp.org>
35858
35859         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
35860         * lib/progreloc.c (find_executable): Fix type of pointer passed to
35861         _NSGetExecutablePath.
35862
35863 2009-01-16  Jim Meyering  <meyering@redhat.com>
35864
35865         strerror: avoid warnings about discarding "const"
35866         * lib/strerror.c (rpl_strerror): Instead of returning a const
35867         string from each and every "case", use a variable, and add a single
35868         cast after the switch.
35869
35870 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
35871
35872         * lib/arpa_inet.in.h: Add extern "C" block for C++.
35873
35874 2009-01-16  Bruno Haible  <bruno@clisp.org>
35875
35876         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
35877         array initializer syntax that also works in C++ mode.
35878         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
35879
35880 2009-01-16  Jim Meyering  <meyering@redhat.com>
35881
35882         poll: suppress a warning
35883         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
35884         to ignore "...unsigned expression < 0 is always false" warnings.
35885
35886 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
35887
35888         poll: remove declarations of unused variables
35889         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
35890         sockbuf and optlen.
35891
35892 2009-01-15  Bruno Haible  <bruno@clisp.org>
35893
35894         Make fflush-after-ungetc POSIX compliant on BSD systems.
35895         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
35896         (clear_ungetc_buffer): Implement also for other systems.
35897         (rpl_fflush): On glibc systems, invoke
35898         clear_ungetc_buffer_preserving_position. Otherwise, invoke
35899         clear_ungetc_buffer after fetching the stream's position, not before.
35900
35901 2009-01-15  Bruno Haible  <bruno@clisp.org>
35902
35903         Make fflush-after-ungetc POSIX compliant on glibc systems.
35904         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
35905         after ungetc.
35906         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
35907         (rpl_fflush): On glibc systems, simply call the system's fflush
35908         function after clearing the ungetc buffer.
35909         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
35910         Instead, lseek only to the end of file, then use the system's fseeko
35911         for the rest. On glibc systems, reset the EOF indicator bit.
35912
35913 2009-01-15  Jim Meyering  <meyering@redhat.com>
35914
35915         openmp.m4: revert quote-adding change, for portability to older autoconf
35916         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
35917         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
35918         Simon Josefsson noticed the problem when using autoconf-2.61.
35919
35920 2009-01-15  Bruno Haible  <bruno@clisp.org>
35921
35922         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
35923         * tests/test-fflush2.c (ASSERT): Always fail.
35924         (main): Add two tests for fflush() after ungetc(), taking into account
35925         the Austin Group's clarification.
35926         Suggested by Eric Blake.
35927
35928 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
35929
35930         mktime.m4: remove K&R-style function prototypes
35931         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
35932         for the Sun C++ compiler.
35933
35934 2009-01-14  Bruno Haible  <bruno@clisp.org>
35935
35936         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
35937         while including <wchar.h>.
35938         * lib/wchar.in.h: In two particular situations on HP-UX, include only
35939         the system's <wchar.h> file.
35940         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
35941
35942 2009-01-14  Bruno Haible  <bruno@clisp.org>
35943
35944         * m4/csharp.m4: Don't mention gettext on the serial number line.
35945         * m4/csharpexec.m4: Likewise.
35946         * m4/eaccess.m4: Likewise.
35947         * m4/javaexec.m4: Likewise.
35948         * m4/sig_atomic_t.m4: Likewise.
35949         * m4/tmpdir.m4: Likewise.
35950         * m4/intldir.m4: Bump gettext version.
35951         * m4/lib-ld.m4: Likewise.
35952
35953 2009-01-14  Bruno Haible  <bruno@clisp.org>
35954
35955         * lib/progname.c (set_program_name): Add more comments.
35956         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
35957
35958 2009-01-14  Simon Josefsson  <simon@josefsson.org>
35959
35960         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
35961         were sys/stat.h does not define it.
35962
35963 2009-01-14  Jim Meyering  <meyering@redhat.com>
35964
35965         many *.m4 files: improve m4 quoting
35966         99% of this change was performed by running the following commands:
35967         git ls-files | grep '\.m4$' | xargs perl -pi \
35968           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
35969           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
35970           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
35971           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
35972         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
35973         The remainder were to add Copyright dates, increment serial numbers,
35974         undo some changes in comments, exclude m4/intl.m4, and add quotes
35975         around the "1" in ",1" where the unusual spacing prohibited the
35976         above regexps from doing the job.  For more details, see
35977         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
35978         * m4/acl.m4: Modified.
35979         * m4/afs.m4: Likewise.
35980         * m4/alloca.m4: Likewise.
35981         * m4/argp.m4: Likewise.
35982         * m4/argz.m4: Likewise.
35983         * m4/atexit.m4: Likewise.
35984         * m4/bison-i18n.m4: Likewise.
35985         * m4/bison.m4: Likewise.
35986         * m4/byteswap.m4: Likewise.
35987         * m4/c-stack.m4: Likewise.
35988         * m4/c-strtod.m4: Likewise.
35989         * m4/calloc.m4: Likewise.
35990         * m4/canonicalize-lgpl.m4: Likewise.
35991         * m4/chown.m4: Likewise.
35992         * m4/clock_time.m4: Likewise.
35993         * m4/codeset.m4: Likewise.
35994         * m4/copy-file.m4: Likewise.
35995         * m4/csharp.m4: Likewise.
35996         * m4/csharpcomp.m4: Likewise.
35997         * m4/csharpexec.m4: Likewise.
35998         * m4/d-ino.m4: Likewise.
35999         * m4/d-type.m4: Likewise.
36000         * m4/dirfd.m4: Likewise.
36001         * m4/double-slash-root.m4: Likewise.
36002         * m4/eaccess.m4: Likewise.
36003         * m4/eealloc.m4: Likewise.
36004         * m4/environ.m4: Likewise.
36005         * m4/errno_h.m4: Likewise.
36006         * m4/euidaccess.m4: Likewise.
36007         * m4/execute.m4: Likewise.
36008         * m4/fatal-signal.m4: Likewise.
36009         * m4/fchdir.m4: Likewise.
36010         * m4/fcntl_h.m4: Likewise.
36011         * m4/fileblocks.m4: Likewise.
36012         * m4/filenamecat.m4: Likewise.
36013         * m4/findprog.m4: Likewise.
36014         * m4/flexmember.m4: Likewise.
36015         * m4/fnmatch.m4: Likewise.
36016         * m4/fopen.m4: Likewise.
36017         * m4/fpending.m4: Likewise.
36018         * m4/fprintf-posix.m4: Likewise.
36019         * m4/free.m4: Likewise.
36020         * m4/frexp.m4: Likewise.
36021         * m4/frexpl.m4: Likewise.
36022         * m4/fsusage.m4: Likewise.
36023         * m4/ftruncate.m4: Likewise.
36024         * m4/gc-camellia.m4: Likewise.
36025         * m4/gc-random.m4: Likewise.
36026         * m4/gc.m4: Likewise.
36027         * m4/getaddrinfo.m4: Likewise.
36028         * m4/getcwd-abort-bug.m4: Likewise.
36029         * m4/getcwd-path-max.m4: Likewise.
36030         * m4/getdate.m4: Likewise.
36031         * m4/getdomainname.m4: Likewise.
36032         * m4/getgroups.m4: Likewise.
36033         * m4/gethostname.m4: Likewise.
36034         * m4/gethrxtime.m4: Likewise.
36035         * m4/getline.m4: Likewise.
36036         * m4/getloadavg.m4: Likewise.
36037         * m4/getndelim2.m4: Likewise.
36038         * m4/getpass.m4: Likewise.
36039         * m4/gettext.m4: Likewise.
36040         * m4/gettime.m4: Likewise.
36041         * m4/gettimeofday.m4: Likewise.
36042         * m4/gnulib-common.m4: Likewise.
36043         * m4/group-member.m4: Likewise.
36044         * m4/host-os.m4: Likewise.
36045         * m4/iconv.m4: Likewise.
36046         * m4/iconv_open.m4: Likewise.
36047         * m4/inet_ntop.m4: Likewise.
36048         * m4/inet_pton.m4: Likewise.
36049         * m4/inline.m4: Likewise.
36050         * m4/intldir.m4: Likewise.
36051         * m4/intlmacosx.m4: Likewise.
36052         * m4/intmax.m4: Likewise.
36053         * m4/intmax_t.m4: Likewise.
36054         * m4/inttypes.m4: Likewise.
36055         * m4/inttypes_h.m4: Likewise.
36056         * m4/inttypes-pri.m4: Likewise.
36057         * m4/isapipe.m4: Likewise.
36058         * m4/isnand.m4: Likewise.
36059         * m4/isnanf.m4: Likewise.
36060         * m4/isnanl.m4: Likewise.
36061         * m4/javacomp.m4: Likewise.
36062         * m4/javaexec.m4: Likewise.
36063         * m4/jm-winsz1.m4: Likewise.
36064         * m4/jm-winsz2.m4: Likewise.
36065         * m4/lchown.m4: Likewise.
36066         * m4/lcmessage.m4: Likewise.
36067         * m4/ldexpl.m4: Likewise.
36068         * m4/lib-ld.m4: Likewise.
36069         * m4/lib-link.m4: Likewise.
36070         * m4/libsigsegv.m4: Likewise.
36071         * m4/link-follow.m4: Likewise.
36072         * m4/localcharset.m4: Likewise.
36073         * m4/locale-fr.m4: Likewise.
36074         * m4/locale-ja.m4: Likewise.
36075         * m4/locale-tr.m4: Likewise.
36076         * m4/locale-zh.m4: Likewise.
36077         * m4/lock.m4: Likewise.
36078         * m4/longlong.m4: Likewise.
36079         * m4/ls-mntd-fs.m4: Likewise.
36080         * m4/lstat.m4: Likewise.
36081         * m4/malloc.m4: Likewise.
36082         * m4/mathl.m4: Likewise.
36083         * m4/mbrtowc.m4: Likewise.
36084         * m4/mbstate_t.m4: Likewise.
36085         * m4/mbswidth.m4: Likewise.
36086         * m4/memchr.m4: Likewise.
36087         * m4/memcmp.m4: Likewise.
36088         * m4/memcpy.m4: Likewise.
36089         * m4/memmem.m4: Likewise.
36090         * m4/memmove.m4: Likewise.
36091         * m4/mempcpy.m4: Likewise.
36092         * m4/memrchr.m4: Likewise.
36093         * m4/memset.m4: Likewise.
36094         * m4/minmax.m4: Likewise.
36095         * m4/mkdir-slash.m4: Likewise.
36096         * m4/mkdtemp.m4: Likewise.
36097         * m4/mktime.m4: Likewise.
36098         * m4/mmap-anon.m4: Likewise.
36099         * m4/mountlist.m4: Likewise.
36100         * m4/nanosleep.m4: Likewise.
36101         * m4/nls.m4: Likewise.
36102         * m4/nocrash.m4: Likewise.
36103         * m4/open.m4: Likewise.
36104         * m4/openat.m4: Likewise.
36105         * m4/openmp.m4: Likewise.
36106         * m4/pathmax.m4: Likewise.
36107         * m4/perl.m4: Likewise.
36108         * m4/physmem.m4: Likewise.
36109         * m4/pipe.m4: Likewise.
36110         * m4/po.m4: Likewise.
36111         * m4/poll.m4: Likewise.
36112         * m4/posixtm.m4: Likewise.
36113         * m4/posixver.m4: Likewise.
36114         * m4/printf-frexp.m4: Likewise.
36115         * m4/printf-frexpl.m4: Likewise.
36116         * m4/printf-posix.m4: Likewise.
36117         * m4/printf-posix-rpl.m4: Likewise.
36118         * m4/printf.m4: Likewise.
36119         * m4/progtest.m4: Likewise.
36120         * m4/putenv.m4: Likewise.
36121         * m4/readline.m4: Likewise.
36122         * m4/readlink.m4: Likewise.
36123         * m4/readutmp.m4: Likewise.
36124         * m4/realloc.m4: Likewise.
36125         * m4/regex.m4: Likewise.
36126         * m4/relocatable.m4: Likewise.
36127         * m4/relocatable-lib.m4: Likewise.
36128         * m4/rename-dest-slash.m4: Likewise.
36129         * m4/rename.m4: Likewise.
36130         * m4/rmdir-errno.m4: Likewise.
36131         * m4/rmdir.m4: Likewise.
36132         * m4/roundf.m4: Likewise.
36133         * m4/roundl.m4: Likewise.
36134         * m4/rpmatch.m4: Likewise.
36135         * m4/save-cwd.m4: Likewise.
36136         * m4/selinux-selinux-h.m4: Likewise.
36137         * m4/setenv.m4: Likewise.
36138         * m4/settime.m4: Likewise.
36139         * m4/sig2str.m4: Likewise.
36140         * m4/sig_atomic_t.m4: Likewise.
36141         * m4/signalblocking.m4: Likewise.
36142         * m4/signbit.m4: Likewise.
36143         * m4/sigpipe.m4: Likewise.
36144         * m4/sockets.m4: Likewise.
36145         * m4/sockpfaf.m4: Likewise.
36146         * m4/st_dm_mode.m4: Likewise.
36147         * m4/stat-time.m4: Likewise.
36148         * m4/stdbool.m4: Likewise.
36149         * m4/stdint.m4: Likewise.
36150         * m4/stdint_h.m4: Likewise.
36151         * m4/stpcpy.m4: Likewise.
36152         * m4/stpncpy.m4: Likewise.
36153         * m4/strcase.m4: Likewise.
36154         * m4/strchrnul.m4: Likewise.
36155         * m4/strcspn.m4: Likewise.
36156         * m4/strdup.m4: Likewise.
36157         * m4/strftime.m4: Likewise.
36158         * m4/strndup.m4: Likewise.
36159         * m4/strnlen.m4: Likewise.
36160         * m4/strpbrk.m4: Likewise.
36161         * m4/strptime.m4: Likewise.
36162         * m4/strsep.m4: Likewise.
36163         * m4/strtod.m4: Likewise.
36164         * m4/strtoimax.m4: Likewise.
36165         * m4/strtok_r.m4: Likewise.
36166         * m4/strtol.m4: Likewise.
36167         * m4/strtoll.m4: Likewise.
36168         * m4/strtoul.m4: Likewise.
36169         * m4/strtoull.m4: Likewise.
36170         * m4/strtoumax.m4: Likewise.
36171         * m4/strverscmp.m4: Likewise.
36172         * m4/threadlib.m4: Likewise.
36173         * m4/timegm.m4: Likewise.
36174         * m4/tm_gmtoff.m4: Likewise.
36175         * m4/tmpdir.m4: Likewise.
36176         * m4/tmpfile.m4: Likewise.
36177         * m4/tzset.m4: Likewise.
36178         * m4/uintmax_t.m4: Likewise.
36179         * m4/unlinkdir.m4: Likewise.
36180         * m4/unlocked-io.m4: Likewise.
36181         * m4/uptime.m4: Likewise.
36182         * m4/userspec.m4: Likewise.
36183         * m4/utimbuf.m4: Likewise.
36184         * m4/utime.m4: Likewise.
36185         * m4/utimes-null.m4: Likewise.
36186         * m4/utimes.m4: Likewise.
36187         * m4/vararrays.m4: Likewise.
36188         * m4/vasnprintf.m4: Likewise.
36189         * m4/vfprintf-posix.m4: Likewise.
36190         * m4/vprintf-posix.m4: Likewise.
36191         * m4/wait-process.m4: Likewise.
36192         * m4/wchar_t.m4: Likewise.
36193         * m4/wint_t.m4: Likewise.
36194         * m4/write-any-file.m4: Likewise.
36195         * m4/yield.m4: Likewise.
36196
36197 2009-01-13  Bruno Haible  <bruno@clisp.org>
36198
36199         Avoid test-copy-file.sh failures when ACL support insufficient.
36200         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
36201         TESTS_ENVIRONMENT.
36202         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
36203         Reported by Jim Meyering.
36204
36205 2009-01-13  Bruno Haible  <bruno@clisp.org>
36206
36207         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
36208         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
36209         * modules/unistdio/u8-printf-parse (Files): Likewise.
36210         * modules/unistdio/u32-printf-parse (Files): Likewise.
36211         * modules/unistdio/ulc-printf-parse (Files): Likewise.
36212
36213 2009-01-13  Simon Josefsson  <simon@josefsson.org>
36214
36215         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
36216         and m4/inttypes_h.m4 too.
36217
36218 2009-01-12  Eric Blake  <ebb9@byu.net>
36219
36220         tests: IRIX 6.2 cc can't compile -0.0 into .data
36221         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
36222         rather than at compile-time.
36223         * tests/test-floorl.c (minus_zero): Likewise.
36224         * tests/test-frexpl.c (minus_zero): Likewise.
36225         * tests/test-isnan.c (minus_zerol): Likewise.
36226         * tests/test-isnanl.h (minus_zero): Likewise.
36227         * tests/test-ldexpl.c (minus_zero): Likewise.
36228         * tests/test-roundl.c (minus_zero): Likewise.
36229         * tests/test-signbit.c (minus_zerol): Likewise.
36230         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
36231         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
36232         * tests/test-truncl.c (minus_zero): Likewise.
36233         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
36234         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
36235         Reported by Tom G. Christensen and Nelson H. F. Beebe.
36236
36237 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
36238
36239         regex: fix glibc bug 9697
36240         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
36241         handling.
36242
36243 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
36244
36245         regex: fix glibc bug 697
36246         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
36247         being NULL also if there are no backreferences.
36248
36249 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
36250
36251         regex: merge glibc changes
36252         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
36253         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
36254         re_string_skip_chars, re_string_reconstruct): Likewise.
36255         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
36256
36257 2009-01-07  Jim Meyering  <meyering@redhat.com>
36258
36259         poll: filter through cppi
36260         * lib/poll.c: Indent cpp directives to reflect nesting.
36261
36262 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
36263
36264         poll: don't return uninitialized
36265         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
36266
36267 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
36268
36269         avoid compile failure on AIX 6.1
36270         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
36271         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
36272
36273 2009-01-04  Jim Meyering  <meyering@redhat.com>
36274
36275         remove duplicate inclusion of <stdio.h>
36276         * tests/test-fprintf-posix.c: Likewise.
36277         * tests/test-printf-posix.c: Likewise.
36278         * tests/test-snprintf-posix.c: Likewise.
36279         * tests/test-sprintf-posix.c: Likewise.
36280         * tests/test-vasprintf-posix.c: Likewise.
36281         * tests/test-vfprintf-posix.c: Likewise.
36282         * tests/test-vprintf-posix.c: Likewise.
36283         * tests/test-vsnprintf-posix.c: Likewise.
36284         * tests/test-vsprintf-posix.c: Likewise.
36285
36286 2009-01-03  Jim Meyering  <meyering@redhat.com>
36287
36288         gnulib-tool: fix sed-based filtering
36289         * gnulib-tool (func_filter_filelist): Remove extra backslash
36290         in sed_fff_filter definition.
36291
36292 2009-01-02  Jim Meyering  <meyering@redhat.com>
36293
36294         strftime: avoid compilation failure on Solaris 2.6
36295         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
36296         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
36297         Don't #define mbrlen or mbsinit, since now they're guaranteed to
36298         be available.  Reported by Tom G. Christensen.  Details in
36299         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
36300
36301 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36302             Bruno Haible  <bruno@clisp.org>
36303
36304         Speed up gnulib-tool by doing more string processing through shell
36305         built-ins.
36306         * gnulib-tool (fast_func_append): New variable.
36307         (func_remove_prefix, func_remove_suffix): New functions.
36308         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
36309         (func_filter_filelist): New function.
36310         (func_get_dependencies): Use func_remove_suffix instead of sed.
36311         (func_get_automake_snippet): Use func_filter_filelist instead of a
36312         subshell and sed invocation.
36313
36314 2009-01-01  Bruno Haible  <bruno@clisp.org>
36315
36316         Fix a security bug.
36317         * gnulib-tool (func_import, import, update): Don't allow the characters
36318         '"', '$', '`', '\' in macro arguments that become part of commands that
36319         are evaluated.
36320
36321 2009-01-01  Bruno Haible  <bruno@clisp.org>
36322
36323         * gnulib-tool (func_reset_sigpipe): Add more comments.
36324
36325 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36326
36327         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
36328         func_emit_tests_Makefile_am, func_import): Abort loops early if we
36329         already know the answer.
36330
36331 2009-01-01  Jim Meyering  <meyering@redhat.com>
36332
36333         * lib/version-etc.c (version_etc_va): Update copyright year.
36334
36335 2008-12-30  Bruno Haible  <bruno@clisp.org>
36336
36337         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
36338         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
36339         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
36340
36341 2008-12-29  Eric Blake  <ebb9@byu.net>
36342
36343         multiarch: avoid autoconf AC_REQUIRE bug
36344         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
36345         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
36346         2.63 and older.
36347         Reported by Bruno Haible, and analyzed in
36348         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
36349
36350 2008-12-29  Bruno Haible  <bruno@clisp.org>
36351
36352         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
36353         files in subdirectories correctly.
36354         Reported by Ralf Wildenhues.
36355
36356 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36357
36358         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
36359         rather than 'join FILE -', for Solaris join.
36360
36361 2008-12-29  Bruno Haible  <bruno@clisp.org>
36362
36363         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
36364         quoting.
36365         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
36366         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
36367         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
36368         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
36369         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
36370         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
36371         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
36372         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
36373         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
36374         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
36375         * m4/nls.m4 (AM_NLS): Likewise.
36376         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
36377         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
36378         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
36379         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
36380         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
36381         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
36382         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
36383         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
36384         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
36385         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
36386         * m4/xsize.m4 (gl_XSIZE): Likewise.
36387         Suggested by Jim Meyering.
36388
36389 2008-11-17  Bruce Korb  <bkorb@gnu.org>
36390
36391         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
36392         * lib/parse-duration.c: use a switch instead of cascading if's.
36393
36394 2008-12-29  Eric Blake  <ebb9@byu.net>
36395
36396         wchar.h: supply WEOF on Irix 5.3
36397         * lib/wchar.in.h (wint_t): Also supply WEOF.
36398         * lib/wctype.in.h (wint_t): Likewise.
36399         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
36400         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
36401         Reported by Tom G. Christensen.
36402
36403 2008-12-26  Bruno Haible  <bruno@clisp.org>
36404
36405         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
36406         i486, i586, i686.
36407
36408 2008-12-26  Bruno Haible  <bruno@clisp.org>
36409
36410         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
36411
36412 2008-12-26  Bruno Haible  <bruno@clisp.org>
36413
36414         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
36415         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
36416         not __STDC_CONSTANT_MACROS.
36417         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
36418
36419 2008-12-25  Bruno Haible  <bruno@clisp.org>
36420
36421         Add support for universal builds to vasnprintf.
36422         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
36423         universal builds, guess no.
36424         * modules/vasnprintf-posix (Depends-on): Add multiarch.
36425         * modules/vasprintf-posix (Depends-on): Likewise.
36426         * modules/fprintf-posix (Depends-on): Likewise.
36427         * modules/vfprintf-posix (Depends-on): Likewise.
36428         * modules/snprintf-posix (Depends-on): Likewise.
36429         * modules/vsnprintf-posix (Depends-on): Likewise.
36430         * modules/sprintf-posix (Depends-on): Likewise.
36431         * modules/vsprintf-posix (Depends-on): Likewise.
36432         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
36433         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
36434         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
36435         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
36436         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
36437         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
36438         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
36439
36440         Add support for universal builds to <inttypes.h>.
36441         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
36442         _SCNu64_PREFIX): In Apple
36443         universal builds, define directly, using _LP64.
36444         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
36445         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
36446         * modules/inttypes (Depends-on): Add multiarch.
36447         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
36448
36449         Add support for universal builds to <stdint.h>.
36450         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
36451         universal builds, define directly, using _LP64.
36452         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
36453         Apple universal builds, don't test for the size and suffix of ptrdiff_t
36454         and size_t.
36455         * modules/stdint (Depends-on): Add multiarch.
36456         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
36457
36458         New module 'multiarch'.
36459         * modules/multiarch: New file.
36460         * m4/multiarch.m4: New file.
36461
36462 2008-12-25  Bruno Haible  <bruno@clisp.org>
36463
36464         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
36465
36466 2008-12-25  Bruno Haible  <bruno@clisp.org>
36467
36468         * modules/btowc (License): Relicense under LGPLv2+.
36469         * modules/mbsinit (License): Likewise.
36470         * modules/mbrtowc (License): Likewise.
36471         * modules/wcrtomb (License): Likewise.
36472         * modules/streq (License): Likewise.
36473         Reported by David Lutterkort <lutter@redhat.com>.
36474
36475 2008-12-23  Bruno Haible  <bruno@clisp.org>
36476
36477         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
36478
36479 2008-12-23  Bruno Haible  <bruno@clisp.org>
36480
36481         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
36482         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
36483         GETADDRINFO_LIB, not in LIBS.
36484         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
36485         * modules/canon-host (Link): Likewise.
36486         * NEWS: Mention the change.
36487         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
36488         GETADDRINFO_LIB.
36489
36490 2008-12-22  Bruno Haible  <bruno@clisp.org>
36491
36492         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
36493         * doc/posix-functions/iswalpha_l.texi: Likewise.
36494         * doc/posix-functions/iswblank_l.texi: Likewise.
36495         * doc/posix-functions/iswcntrl_l.texi: Likewise.
36496         * doc/posix-functions/iswctype_l.texi: Likewise.
36497         * doc/posix-functions/iswdigit_l.texi: Likewise.
36498         * doc/posix-functions/iswgraph_l.texi: Likewise.
36499         * doc/posix-functions/iswlower_l.texi: Likewise.
36500         * doc/posix-functions/iswprint_l.texi: Likewise.
36501         * doc/posix-functions/iswpunct_l.texi: Likewise.
36502         * doc/posix-functions/iswspace_l.texi: Likewise.
36503         * doc/posix-functions/iswupper_l.texi: Likewise.
36504         * doc/posix-functions/iswxdigit_l.texi: Likewise.
36505         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
36506         * doc/posix-functions/open_wmemstream.texi: Likewise.
36507         * doc/posix-functions/swscanf.texi: Likewise.
36508         * doc/posix-functions/towctrans_l.texi: Likewise.
36509         * doc/posix-functions/towlower.texi: Likewise.
36510         * doc/posix-functions/towlower_l.texi: Likewise.
36511         * doc/posix-functions/towupper.texi: Likewise.
36512         * doc/posix-functions/towupper_l.texi: Likewise.
36513         * doc/posix-functions/vfwprintf.texi: Likewise.
36514         * doc/posix-functions/vfwscanf.texi: Likewise.
36515         * doc/posix-functions/vswscanf.texi: Likewise.
36516         * doc/posix-functions/vwprintf.texi: Likewise.
36517         * doc/posix-functions/vwscanf.texi: Likewise.
36518         * doc/posix-functions/wcpcpy.texi: Likewise.
36519         * doc/posix-functions/wcpncpy.texi: Likewise.
36520         * doc/posix-functions/wcscasecmp.texi: Likewise.
36521         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
36522         * doc/posix-functions/wcscoll_l.texi: Likewise.
36523         * doc/posix-functions/wcsdup.texi: Likewise.
36524         * doc/posix-functions/wcsncasecmp.texi: Likewise.
36525         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
36526         * doc/posix-functions/wcsnlen.texi: Likewise.
36527         * doc/posix-functions/wcsnrtombs.texi: Likewise.
36528         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
36529         * doc/posix-functions/wctrans_l.texi: Likewise.
36530         * doc/posix-functions/wctype_l.texi: Likewise.
36531         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
36532         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
36533         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
36534         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
36535         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
36536         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
36537         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
36538         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
36539         * doc/glibc-functions/wcschrnul.texi: Likewise.
36540         * doc/glibc-functions/wcsftime_l.texi: Likewise.
36541         * doc/glibc-functions/wcstod_l.texi: Likewise.
36542         * doc/glibc-functions/wcstof_l.texi: Likewise.
36543         * doc/glibc-functions/wcstol_l.texi: Likewise.
36544         * doc/glibc-functions/wcstold_l.texi: Likewise.
36545         * doc/glibc-functions/wcstoll_l.texi: Likewise.
36546         * doc/glibc-functions/wcstoq.texi: Likewise.
36547         * doc/glibc-functions/wcstoul_l.texi: Likewise.
36548         * doc/glibc-functions/wcstoull_l.texi: Likewise.
36549         * doc/glibc-functions/wcstouq.texi: Likewise.
36550         * doc/glibc-functions/wmempcpy.texi: Likewise.
36551
36552 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
36553             Eric Blake  <ebb9@byu.net>
36554             Paolo Bonzini  <bonzini@gnu.org>
36555             Bruno Haible  <bruno@clisp.org>
36556
36557         Make c-stack work on Haiku.
36558         * lib/c-stack.c (SA_ONSTACK): Define fallback.
36559         (c_stack_action): Use SA_ONSTACK flag.
36560
36561 2008-12-22  Bruno Haible  <bruno@clisp.org>
36562
36563         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
36564
36565 2008-12-22  Bruno Haible  <bruno@clisp.org>
36566
36567         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
36568         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
36569         being overridden.
36570         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
36571         New macros.
36572         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
36573         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
36574         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
36575         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
36576
36577 2008-12-22  Bruno Haible  <bruno@clisp.org>
36578
36579         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
36580         from test code.
36581
36582 2008-12-22  Eric Blake  <ebb9@byu.net>
36583
36584         Avoid gcc warnings on cygwin.
36585         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
36586         Avoid unused variable.
36587         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
36588         Likewise.
36589
36590 2008-12-22  Bruno Haible  <bruno@clisp.org>
36591
36592         Remove HAVE_MBRTOWC conditionals.
36593         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
36594         (mbscasecmp): Assume mbrtowc function.
36595         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
36596         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
36597         * lib/mbschr.c: Include mbuiter.h unconditionally.
36598         (mbschr): Assume mbrtowc function.
36599         * lib/mbscspn.c: Include mbuiter.h unconditionally.
36600         (mbscspn): Assume mbrtowc function.
36601         * lib/mbslen.c: Include mbuiter.h unconditionally.
36602         (mbslen): Assume mbrtowc function.
36603         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
36604         (mbsncasecmp): Assume mbrtowc function.
36605         * lib/mbsnlen.c: Include mbiter.h unconditionally.
36606         (mbsnlen): Assume mbrtowc function.
36607         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
36608         (mbspbrk): Assume mbrtowc function.
36609         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
36610         (mbspcasecmp): Assume mbrtowc function.
36611         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
36612         (mbsrchr): Assume mbrtowc function.
36613         * lib/mbssep.c: Include mbuiter.h unconditionally.
36614         (mbssep): Assume mbrtowc function.
36615         * lib/mbsspn.c: Include mbuiter.h unconditionally.
36616         (mbsspn): Assume mbrtowc function.
36617         * lib/mbsstr.c: Include mbuiter.h unconditionally.
36618         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
36619         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
36620         (mbstok_r): Assume mbrtowc function.
36621         * lib/propername.c: Include mbuiter.h unconditionally.
36622         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
36623         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
36624         (trim2): Assume mbrtowc function.
36625         * lib/mbswidth.c (mbsinit): Remove fallback definition.
36626         (mbsnwidth): Assume mbrtowc function.
36627         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
36628         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
36629         fallback definitions.
36630         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
36631
36632 2008-12-22  Bruno Haible  <bruno@clisp.org>
36633
36634         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
36635
36636 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
36637
36638         * modules/regex: Request emulations for the mb*/wc* functions we need.
36639         * m4/regex.m4: Don't look for those functions here.
36640         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
36641
36642 2008-12-22  Bruno Haible  <bruno@clisp.org>
36643
36644         * modules/fnmatch (Depends-on): Remove duplicated dependency.
36645
36646 2008-12-21  Bruno Haible  <bruno@clisp.org>
36647
36648         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
36649         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
36650         (Include): Remove conditionalization.
36651         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
36652         (Include): Remove conditionalization.
36653         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
36654         (Include): Remove conditionalization.
36655         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
36656         * m4/mbfile.m4 (gl_MBFILE): Likewise.
36657         * NEWS: Mention the change.
36658         Reported by Alan Hourihane <alanh@fairlite.co.uk>
36659         via Sergey Poznyakoff <gray@gnu.org.ua>.
36660
36661 2008-12-21  Bruno Haible  <bruno@clisp.org>
36662
36663         * MODULES.html.sh (Extended multibyte and wide character utilities
36664         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
36665         wcrtomb, wcsrtombs.
36666         (Support for systems lacking POSIX:2008): Add accept, bind, close,
36667         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
36668         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
36669         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
36670
36671 2008-12-21  Bruno Haible  <bruno@clisp.org>
36672
36673         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
36674
36675 2008-12-21  Bruno Haible  <bruno@clisp.org>
36676
36677         * modules/wcsnrtombs-tests: New file.
36678         * tests/test-wcsnrtombs1.sh: New file.
36679         * tests/test-wcsnrtombs2.sh: New file.
36680         * tests/test-wcsnrtombs3.sh: New file.
36681         * tests/test-wcsnrtombs4.sh: New file.
36682         * tests/test-wcsnrtombs.c: New file.
36683
36684         New module 'wcsnrtombs'.
36685         * lib/wchar.in.h (wcsnrtombs): New declaration.
36686         * lib/wcsnrtombs.c: New file.
36687         * lib/wcsrtombs-state.c: New file.
36688         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
36689         (internal_state): Remove variable.
36690         * m4/wcsnrtombs.m4: New file.
36691         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
36692         compilation units.
36693         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
36694         HAVE_WCSNRTOMBS.
36695         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
36696         HAVE_WCSNRTOMBS.
36697         * modules/wcsnrtombs: New file.
36698         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
36699         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
36700
36701 2008-12-21  Bruno Haible  <bruno@clisp.org>
36702
36703         * modules/wcsrtombs-tests: New file.
36704         * tests/test-wcsrtombs1.sh: New file.
36705         * tests/test-wcsrtombs2.sh: New file.
36706         * tests/test-wcsrtombs3.sh: New file.
36707         * tests/test-wcsrtombs4.sh: New file.
36708         * tests/test-wcsrtombs.c: New file.
36709
36710         New module 'wcsrtombs'.
36711         * lib/wchar.in.h (wcsrtombs): New declaration.
36712         * lib/wcsrtombs.c: New file.
36713         * m4/wcsrtombs.m4: New file.
36714         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
36715         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
36716         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
36717         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
36718         * modules/wcsrtombs: New file.
36719         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
36720         bugs.
36721
36722 2008-12-21  Bruno Haible  <bruno@clisp.org>
36723
36724         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
36725         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
36726         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
36727         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
36728         if not correct.
36729         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
36730         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
36731         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
36732         m4/locale-zh.m4, m4/codeset.m4.
36733         * doc/posix-functions/wcrtomb.texi: Document the bug.
36734
36735 2008-12-21  Bruno Haible  <bruno@clisp.org>
36736
36737         Work around a btowc() bug on IRIX 6.5.
36738         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
36739         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
36740         REPLACE_WTOBC if not.
36741         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
36742         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
36743         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
36744
36745 2008-12-21  Bruno Haible  <bruno@clisp.org>
36746
36747         * modules/wcrtomb-tests: New file.
36748         * tests/test-wcrtomb.sh: New file.
36749         * tests/test-wcrtomb.c: New file.
36750
36751         New module 'wcrtomb'.
36752         * lib/wchar.in.h (wcrtomb): New declaration.
36753         * lib/wcrtomb.c: New file.
36754         * m4/wcrtomb.m4: New file.
36755         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
36756         HAVE_WCRTOMB.
36757         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
36758         HAVE_WCRTOMB.
36759         * modules/wcrtomb: New file.
36760         * doc/posix-functions/wcrtomb.texi: Mention the new module.
36761
36762 2008-12-21  Bruno Haible  <bruno@clisp.org>
36763
36764         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
36765         * modules/mbsrtowcs (Files): Likewise.
36766         * modules/wctob (Files): Likewise.
36767         * modules/c-strcase-tests (Files): Likewise.
36768         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
36769         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
36770         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
36771         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
36772         * modules/vasnprintf-posix-tests (Files): Likewise.
36773
36774 2008-12-21  William Pursell  <bill.pursell@gmail.com>
36775
36776         gitlog-to-changelog: pass all command-line arguments to git-log
36777         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
36778         it is sometimes convenient to filter the commits in various ways.
36779         gitlog-to-changelog only allows --since to specify a start date,
36780         but git-log itself supports many other filtering mechanisms.
36781         At the moment, I want to filter by branch name.  Rather than
36782         adding a --branch option to gitlog-to-changelog, it seems more
36783         flexible to simply pass all options directly to git-log and let
36784         git do the work.  Notice that this effectively makes --since a
36785         redundant option for gitlog-to-changelog, but removing it would
36786         require current usage to change since calls would then require
36787         an additional '--'.
36788
36789 2008-12-21  Bruno Haible  <bruno@clisp.org>
36790
36791         * modules/mbsnrtowcs-tests: New file.
36792         * tests/test-mbsnrtowcs1.sh: New file.
36793         * tests/test-mbsnrtowcs2.sh: New file.
36794         * tests/test-mbsnrtowcs3.sh: New file.
36795         * tests/test-mbsnrtowcs4.sh: New file.
36796         * tests/test-mbsnrtowcs.c: New file.
36797
36798         New module 'mbsnrtowcs'.
36799         * lib/wchar.in.h (mbsnrtowcs): New declaration.
36800         * lib/mbsnrtowcs.c: New file.
36801         * lib/mbsrtowcs-state.c: New file.
36802         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
36803         (internal_state): Remove variable.
36804         * m4/mbsnrtowcs.m4: New file.
36805         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
36806         compilation units.
36807         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
36808         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
36809         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
36810         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
36811         * modules/mbsnrtowcs: New file.
36812         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
36813         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
36814         portability problem.
36815
36816 2008-12-21  Bruno Haible  <bruno@clisp.org>
36817
36818         Work around mbsrtowcs bug.
36819         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
36820         (gl_FUNC_MBSRTOWCS): Invoke it.
36821         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
36822         m4/locale-zh.m4.
36823         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
36824
36825 2008-12-21  Bruno Haible  <bruno@clisp.org>
36826
36827         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
36828
36829 2008-12-21  Bruno Haible  <bruno@clisp.org>
36830
36831         Update doc for AIX.
36832         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
36833         16-bit wchar_t type.
36834         * doc/posix-functions/btowc.texi: Likewise.
36835         * doc/posix-functions/fgetwc.texi: Likewise.
36836         * doc/posix-functions/fgetws.texi: Likewise.
36837         * doc/posix-functions/fputwc.texi: Likewise.
36838         * doc/posix-functions/fputws.texi: Likewise.
36839         * doc/posix-functions/fwide.texi: Likewise.
36840         * doc/posix-functions/fwprintf.texi: Likewise.
36841         * doc/posix-functions/fwscanf.texi: Likewise.
36842         * doc/posix-functions/getwchar.texi: Likewise.
36843         * doc/posix-functions/getwc.texi: Likewise.
36844         * doc/posix-functions/iswalnum.texi: Likewise.
36845         * doc/posix-functions/iswalpha.texi: Likewise.
36846         * doc/posix-functions/iswblank.texi: Likewise.
36847         * doc/posix-functions/iswcntrl.texi: Likewise.
36848         * doc/posix-functions/iswctype.texi: Likewise.
36849         * doc/posix-functions/iswdigit.texi: Likewise.
36850         * doc/posix-functions/iswgraph.texi: Likewise.
36851         * doc/posix-functions/iswlower.texi: Likewise.
36852         * doc/posix-functions/iswprint.texi: Likewise.
36853         * doc/posix-functions/iswpunct.texi: Likewise.
36854         * doc/posix-functions/iswspace.texi: Likewise.
36855         * doc/posix-functions/iswupper.texi: Likewise.
36856         * doc/posix-functions/iswxdigit.texi: Likewise.
36857         * doc/posix-functions/mbrtowc.texi: Likewise.
36858         * doc/posix-functions/mbsrtowcs.texi: Likewise.
36859         * doc/posix-functions/mbstowcs.texi: Likewise.
36860         * doc/posix-functions/mbtowc.texi: Likewise.
36861         * doc/posix-functions/putwchar.texi: Likewise.
36862         * doc/posix-functions/putwc.texi: Likewise.
36863         * doc/posix-functions/swprintf.texi: Likewise.
36864         * doc/posix-functions/tolower.texi: Likewise.
36865         * doc/posix-functions/toupper.texi: Likewise.
36866         * doc/posix-functions/towctrans.texi: Likewise.
36867         * doc/posix-functions/ungetwc.texi: Likewise.
36868         * doc/posix-functions/vswprintf.texi: Likewise.
36869         * doc/posix-functions/wcrtomb.texi: Likewise.
36870         * doc/posix-functions/wcscat.texi: Likewise.
36871         * doc/posix-functions/wcschr.texi: Likewise.
36872         * doc/posix-functions/wcscmp.texi: Likewise.
36873         * doc/posix-functions/wcscoll.texi: Likewise.
36874         * doc/posix-functions/wcscpy.texi: Likewise.
36875         * doc/posix-functions/wcscspn.texi: Likewise.
36876         * doc/posix-functions/wcsftime.texi: Likewise.
36877         * doc/posix-functions/wcslen.texi: Likewise.
36878         * doc/posix-functions/wcsncat.texi: Likewise.
36879         * doc/posix-functions/wcsncmp.texi: Likewise.
36880         * doc/posix-functions/wcsncpy.texi: Likewise.
36881         * doc/posix-functions/wcspbrk.texi: Likewise.
36882         * doc/posix-functions/wcsrchr.texi: Likewise.
36883         * doc/posix-functions/wcsrtombs.texi: Likewise.
36884         * doc/posix-functions/wcsspn.texi: Likewise.
36885         * doc/posix-functions/wcsstr.texi: Likewise.
36886         * doc/posix-functions/wcstod.texi: Likewise.
36887         * doc/posix-functions/wcstof.texi: Likewise.
36888         * doc/posix-functions/wcstoimax.texi: Likewise.
36889         * doc/posix-functions/wcstok.texi: Likewise.
36890         * doc/posix-functions/wcstold.texi: Likewise.
36891         * doc/posix-functions/wcstoll.texi: Likewise.
36892         * doc/posix-functions/wcstol.texi: Likewise.
36893         * doc/posix-functions/wcstombs.texi: Likewise.
36894         * doc/posix-functions/wcstoull.texi: Likewise.
36895         * doc/posix-functions/wcstoul.texi: Likewise.
36896         * doc/posix-functions/wcstoumax.texi: Likewise.
36897         * doc/posix-functions/wcswidth.texi: Likewise.
36898         * doc/posix-functions/wcsxfrm.texi: Likewise.
36899         * doc/posix-functions/wctob.texi: Likewise.
36900         * doc/posix-functions/wctomb.texi: Likewise.
36901         * doc/posix-functions/wctrans.texi: Likewise.
36902         * doc/posix-functions/wctype.texi: Likewise.
36903         * doc/posix-functions/wcwidth.texi: Likewise.
36904         * doc/posix-functions/wmemchr.texi: Likewise.
36905         * doc/posix-functions/wmemcmp.texi: Likewise.
36906         * doc/posix-functions/wmemcpy.texi: Likewise.
36907         * doc/posix-functions/wmemmove.texi: Likewise.
36908         * doc/posix-functions/wmemset.texi: Likewise.
36909         * doc/posix-functions/wprintf.texi: Likewise.
36910         * doc/posix-functions/wscanf.texi: Likewise.
36911
36912 2008-12-21  Bruno Haible  <bruno@clisp.org>
36913
36914         Update doc for HP-UX 11.11.
36915         * doc/posix-functions/btowc.texi: Clarify that the function is missing
36916         in HP-UX version 11.00, not in all versions of HP-UX 11.
36917         * doc/posix-functions/fwide.texi: Likewise.
36918         * doc/posix-functions/fwprintf.texi: Likewise.
36919         * doc/posix-functions/fwscanf.texi: Likewise.
36920         * doc/posix-functions/inet_ntop.texi: Likewise.
36921         * doc/posix-functions/inet_pton.texi: Likewise.
36922         * doc/posix-functions/mbrlen.texi: Likewise.
36923         * doc/posix-functions/mbrtowc.texi: Likewise.
36924         * doc/posix-functions/mbsinit.texi: Likewise.
36925         * doc/posix-functions/mbsrtowcs.texi: Likewise.
36926         * doc/posix-functions/swprintf.texi: Likewise.
36927         * doc/posix-functions/swscanf.texi: Likewise.
36928         * doc/posix-functions/towctrans.texi: Likewise.
36929         * doc/posix-functions/vfwprintf.texi: Likewise.
36930         * doc/posix-functions/vswprintf.texi: Likewise.
36931         * doc/posix-functions/vwprintf.texi: Likewise.
36932         * doc/posix-functions/wcrtomb.texi: Likewise.
36933         * doc/posix-functions/wcsrtombs.texi: Likewise.
36934         * doc/posix-functions/wcsstr.texi: Likewise.
36935         * doc/posix-functions/wctob.texi: Likewise.
36936         * doc/posix-functions/wctrans.texi: Likewise.
36937         * doc/posix-functions/wmemchr.texi: Likewise.
36938         * doc/posix-functions/wmemcmp.texi: Likewise.
36939         * doc/posix-functions/wmemcpy.texi: Likewise.
36940         * doc/posix-functions/wmemmove.texi: Likewise.
36941         * doc/posix-functions/wmemset.texi: Likewise.
36942         * doc/posix-functions/wprintf.texi: Likewise.
36943         * doc/posix-functions/wscanf.texi: Likewise.
36944
36945 2008-12-21  Bruno Haible  <bruno@clisp.org>
36946
36947         Work around a portability problem.
36948         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
36949         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
36950
36951 2008-12-20  Bruno Haible  <bruno@clisp.org>
36952
36953         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
36954         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
36955         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
36956         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
36957         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
36958
36959         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
36960         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
36961         set.
36962         (GNULIB_defined_mbstate_t): New macro.
36963         (mbsinit): Redefine if REPLACE_MBSINIT is set.
36964         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
36965         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
36966         reuses the system's mbrtowc function but works around the bugs.
36967         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
36968         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
36969         macros.
36970         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
36971         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
36972         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
36973         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
36974         REPLACE_MBSINIT if mbsinit needs to be overridden.
36975         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
36976         REPLACE_MBSINIT, REPLACE_MBRTOWC.
36977         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
36978         REPLACE_MBSINIT, REPLACE_MBRTOWC.
36979         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
36980         m4/locale-zh.m4.
36981         (Depends): Add mbsinit.
36982         * modules/mbsinit (Depends): Add mbrtowc.
36983         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
36984
36985 2008-12-20  Bruno Haible  <bruno@clisp.org>
36986
36987         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
36988         so that there are no conversion errors on AIX.
36989         * tests/test-mbsrtowcs.c (main): LIkewise.
36990
36991 2008-12-20  Bruno Haible  <bruno@clisp.org>
36992
36993         Work around wctob bug on Solaris <= 9.
36994         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
36995         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
36996         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
36997         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
36998         * modules/wctob (Files): Add m4/locale-fr.m4.
36999         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
37000
37001 2008-12-20  Bruno Haible  <bruno@clisp.org>
37002
37003         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
37004         /dev/null.
37005         * tests/test-select-in.sh: Likewise.
37006         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
37007
37008 2008-12-20  Bruno Haible  <bruno@clisp.org>
37009
37010         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
37011         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
37012         Cygwin 1.5.x.
37013
37014 2008-12-20  Bruno Haible  <bruno@clisp.org>
37015
37016         Ensure mbstate_t is defined on HP-UX 11.11.
37017         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
37018         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
37019         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
37020         AC_USE_SYSTEM_EXTENSIONS.
37021         * modules/fnmatch (Depends-on): Add extensions.
37022         * modules/mbrlen (Depends-on): Likewise.
37023         * modules/mbrtowc (Depends-on): Likewise.
37024         * modules/mbsinit (Depends-on): Likewise.
37025         * modules/mbsrtowcs (Depends-on): Likewise.
37026         * modules/mbswidth (Depends-on): Likewise.
37027         * modules/quotearg (Depends-on): Likewise.
37028         * modules/strftime (Depends-on): Likewise.
37029
37030 2008-12-20  Bruno Haible  <bruno@clisp.org>
37031
37032         Ensure wctob is declared on IRIX 6.5.
37033         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
37034         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
37035         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
37036         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
37037         of HAVE_WCTOB.
37038         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
37039         HAVE_WCTOB.
37040         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
37041
37042 2008-12-19  Bruno Haible  <bruno@clisp.org>
37043
37044         * modules/mbsrtowcs-tests: New file.
37045         * tests/test-mbsrtowcs1.sh: New file.
37046         * tests/test-mbsrtowcs2.sh: New file.
37047         * tests/test-mbsrtowcs3.sh: New file.
37048         * tests/test-mbsrtowcs4.sh: New file.
37049         * tests/test-mbsrtowcs.c: New file.
37050
37051         New module 'mbsrtowcs'.
37052         * lib/wchar.in.h (mbsrtowcs): New declaration.
37053         * lib/mbsrtowcs.c: New file.
37054         * m4/mbsrtowcs.m4: New file.
37055         * modules/mbsrtowcs: New file.
37056         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
37057         HAVE_MBSRTOWCS.
37058         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
37059         HAVE_MBSRTOWCS.
37060         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
37061
37062 2008-12-19  Bruno Haible  <bruno@clisp.org>
37063
37064         New module 'mbrlen'.
37065         * lib/wchar.in.h (mbrlen): New declaration.
37066         * lib/mbrlen.c: New file.
37067         * m4/mbrlen.m4: New file.
37068         * modules/mbrlen: New file.
37069         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
37070         HAVE_MBRLEN.
37071         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
37072         HAVE_MBRLEN.
37073         * doc/posix-functions/mbrlen.texi: Document the new module.
37074
37075 2008-12-19  Bruno Haible  <bruno@clisp.org>
37076
37077         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
37078         * modules/mbrtowc (Depends-on): Add verify.
37079         Suggested by Paul Eggert.
37080
37081 2008-12-18  Bruno Haible  <bruno@clisp.org>
37082
37083         * modules/mbsinit-tests: New file.
37084         * tests/test-mbsinit.sh: New file.
37085         * tests/test-mbsinit.c: New file.
37086
37087 2008-12-18  Bruno Haible  <bruno@clisp.org>
37088
37089         * modules/mbrtowc-tests: New file.
37090         * tests/test-mbrtowc1.sh: New file.
37091         * tests/test-mbrtowc2.sh: New file.
37092         * tests/test-mbrtowc3.sh: New file.
37093         * tests/test-mbrtowc4.sh: New file.
37094         * tests/test-mbrtowc.c: New file.
37095
37096         New module 'mbrtowc'.
37097         * lib/wchar.in.h (mbstate_t): Override when the system does not have
37098         mbsinit and mbrtowc.
37099         (mbrtowc): New declaration.
37100         * lib/mbrtowc.c: New file.
37101         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
37102         * modules/mbrtowc: New file.
37103         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
37104         HAVE_MBRTOWC.
37105         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
37106         HAVE_MBRTOWC.
37107         * doc/posix-functions/mbrtowc.texi: Document the new module.
37108
37109 2008-12-18  Bruno Haible  <bruno@clisp.org>
37110
37111         New module 'wctob'.
37112         * lib/wchar.in.h (wctob): New declaration.
37113         * lib/wctob.c: New file.
37114         * m4/wctob.m4: New file.
37115         * modules/wctob: New file.
37116         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
37117         HAVE_WCTOB.
37118         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
37119         * doc/posix-functions/wctob.texi: Document the new module.
37120
37121 2008-12-18  Bruno Haible  <bruno@clisp.org>
37122
37123         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
37124         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
37125
37126 2008-12-18  Simon Josefsson  <simon@josefsson.org>
37127
37128         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
37129         G. Christensen" <tgc@jupiterrise.com>.
37130
37131         * lib/flock.c: Need to include errno.h.  Reported by "Tom
37132         G. Christensen" <tgc@jupiterrise.com>.
37133
37134         * lib/flock.c: Need to include string.h.  Reported by "Tom
37135         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
37136         <ebb9@byu.net>.
37137
37138 2008-12-18  Bruno Haible  <bruno@clisp.org>
37139
37140         * m4/locale-ja.m4: New file, from GNU gettext.
37141
37142 2008-12-17  Bruno Haible  <bruno@clisp.org>
37143
37144         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
37145         Suggested by Eric Blake.
37146
37147 2008-12-17  Bruno Haible  <bruno@clisp.org>
37148
37149         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
37150
37151 2008-12-17  Bruno Haible  <bruno@clisp.org>
37152
37153         * lib/mbsinit.c: Include verify.h. Verify an assumption.
37154         * modules/mbsinit (Depends-on): Add verify.
37155         Suggested by Paul Eggert.
37156
37157 2008-12-17  Bruno Haible  <bruno@clisp.org>
37158
37159         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
37160         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
37161         gl_FUNC_MBRTOWC.
37162         * m4/mbiter.m4 (gl_MBITER): LIkewise.
37163         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
37164         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
37165         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
37166         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
37167         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
37168         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
37169         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
37170         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
37171         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
37172         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
37173         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
37174         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
37175         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
37176         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
37177         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
37178         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
37179         * modules/trim (configure.ac): Likewise.
37180
37181 2008-12-17  Bruno Haible  <bruno@clisp.org>
37182
37183         * modules/btowc-tests: New file.
37184         * tests/test-btowc1.sh: New file.
37185         * tests/test-btowc2.sh: New file.
37186         * tests/test-btowc.c: New file.
37187
37188         New module 'btowc'.
37189         * lib/wchar.in.h (btowc): New declaration.
37190         * lib/btowc.c: New file.
37191         * m4/btowc.m4: New file.
37192         * modules/btowc: New file.
37193         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
37194         HAVE_BTOWC.
37195         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
37196         * doc/posix-functions/btowc.texi: Document the new module.
37197
37198 2008-12-17  Bruno Haible  <bruno@clisp.org>
37199
37200         New module 'mbsinit'.
37201         * lib/wchar.in.h (mbsinit): New declaration.
37202         * lib/mbsinit.c: New file.
37203         * m4/mbsinit.m4: New file.
37204         * modules/mbsinit: New file.
37205         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
37206         HAVE_MBSINIT.
37207         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
37208         HAVE_MBSINIT.
37209         * doc/posix-functions/mbsinit.texi: Document the new module.
37210
37211 2008-12-16  Bruno Haible  <bruno@clisp.org>
37212
37213         * lib/unistd.in.h: Add comment.
37214         * tests/test-environ.c: Don't include <stdlib.h>.
37215
37216 2008-12-16  Bruno Haible  <bruno@clisp.org>
37217
37218         * lib/parse-duration.h (parse_duration): Document return value
37219         convention.
37220         * lib/parse-duration.c: Include specification header first. Add
37221         comments.
37222         (_): Remove macro.
37223         (parse_year_month_day, parse_hour_minute_second): Move side effects
37224         outside of strchr call.
37225         (parse_non_iso8601): Move side effects outside of isspace call.
37226         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
37227         call.
37228
37229 2008-12-16  Bruno Haible  <bruno@clisp.org>
37230
37231         * tests/test-parse-duration.sh: Produce no output when the test
37232         succeeds.
37233
37234 2008-12-16  Bruno Haible  <bruno@clisp.org>
37235
37236         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
37237         expressions.
37238
37239 2008-12-15  Bruno Haible  <bruno@clisp.org>
37240
37241         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
37242         * doc/glibc-functions/flistxattr.texi: Likewise.
37243         * doc/glibc-functions/fopencookie.texi: Likewise.
37244         * doc/glibc-functions/fremovexattr.texi: Likewise.
37245         * doc/glibc-functions/fsetxattr.texi: Likewise.
37246         * doc/glibc-functions/getxattr.texi: Likewise.
37247         * doc/glibc-functions/lgetxattr.texi: Likewise.
37248         * doc/glibc-functions/listxattr.texi: Likewise.
37249         * doc/glibc-functions/llistxattr.texi: Likewise.
37250         * doc/glibc-functions/lremovexattr.texi: Likewise.
37251         * doc/glibc-functions/lsetxattr.texi: Likewise.
37252         * doc/glibc-functions/removexattr.texi: Likewise.
37253         * doc/glibc-functions/setxattr.texi: Likewise.
37254         * doc/posix-functions/open_memstream.texi: Likewise.
37255
37256 2008-12-15  Eric Blake  <ebb9@byu.net>
37257
37258         Update doc for cygwin 1.7.
37259         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
37260         functions.
37261         * doc/posix-functions/fchmodat.texi: Likewise.
37262         * doc/posix-functions/fchownat.texi: Likewise.
37263         * doc/posix-functions/fdopendir.texi: Likewise.
37264         * doc/posix-functions/fmemopen.texi: Likewise.
37265         * doc/posix-functions/freeaddrinfo.texi: Likewise.
37266         * doc/posix-functions/fstatat.texi: Likewise.
37267         * doc/posix-functions/futimens.texi: Likewise.
37268         * doc/posix-functions/gai_strerror.texi: Likewise.
37269         * doc/posix-functions/getaddrinfo.texi: Likewise.
37270         * doc/posix-functions/getnameinfo.texi: Likewise.
37271         * doc/posix-functions/if_freenameindex.texi: Likewise.
37272         * doc/posix-functions/if_indextoname.texi: Likewise.
37273         * doc/posix-functions/if_nameindex.texi: Likewise.
37274         * doc/posix-functions/if_nametoindex.texi: Likewise.
37275         * doc/posix-functions/insque.texi: Likewise.
37276         * doc/posix-functions/linkat.texi: Likewise.
37277         * doc/posix-functions/llrint.texi: Likewise.
37278         * doc/posix-functions/llrintf.texi: Likewise.
37279         * doc/posix-functions/llrintl.texi: Likewise.
37280         * doc/posix-functions/lockf.texi: Likewise.
37281         * doc/posix-functions/lrintl.texi: Likewise.
37282         * doc/posix-functions/mkdirat.texi: Likewise.
37283         * doc/posix-functions/mkfifoat.texi: Likewise.
37284         * doc/posix-functions/mknodat.texi: Likewise.
37285         * doc/posix-functions/mq_close.texi: Likewise.
37286         * doc/posix-functions/mq_getattr.texi: Likewise.
37287         * doc/posix-functions/mq_notify.texi: Likewise.
37288         * doc/posix-functions/mq_open.texi: Likewise.
37289         * doc/posix-functions/mq_receive.texi: Likewise.
37290         * doc/posix-functions/mq_send.texi: Likewise.
37291         * doc/posix-functions/mq_setattr.texi: Likewise.
37292         * doc/posix-functions/mq_timedreceive.texi: Likewise.
37293         * doc/posix-functions/mq_timedsend.texi: Likewise.
37294         * doc/posix-functions/mq_unlink.texi: Likewise.
37295         * doc/posix-functions/open_memstream.texi: Likewise.
37296         * doc/posix-functions/openat.texi: Likewise.
37297         * doc/posix-functions/posix_fadvise.texi: Likewise.
37298         * doc/posix-functions/posix_fallocate.texi: Likewise.
37299         * doc/posix-functions/posix_madvise.texi: Likewise.
37300         * doc/posix-functions/posix_memalign.texi: Likewise.
37301         * doc/posix-functions/posix_openpt.texi: Likewise.
37302         * doc/posix-functions/readlinkat.texi: Likewise.
37303         * doc/posix-functions/remque.texi: Likewise.
37304         * doc/posix-functions/renameat.texi: Likewise.
37305         * doc/posix-functions/rintl.texi: Likewise.
37306         * doc/posix-functions/sem_unlink.texi: Likewise.
37307         * doc/posix-functions/shm_open.texi: Likewise.
37308         * doc/posix-functions/shm_unlink.texi: Likewise.
37309         * doc/posix-functions/signgam.texi: Likewise.
37310         * doc/posix-functions/sigset.texi: Likewise.
37311         * doc/posix-functions/stpcpy.texi: Likewise.
37312         * doc/posix-functions/stpncpy.texi: Likewise.
37313         * doc/posix-functions/strerror.texi: Likewise.
37314         * doc/posix-functions/strtod.texi: Likewise.
37315         * doc/posix-functions/symlinkat.texi: Likewise.
37316         * doc/posix-functions/unlinkat.texi: Likewise.
37317         * doc/posix-functions/utimensat.texi: Likewise.
37318         * doc/glibc-functions/bindresvport.texi: Likewise.
37319         * doc/glibc-functions/dn_expand.texi: Likewise.
37320         * doc/glibc-functions/exp10.texi: Likewise.
37321         * doc/glibc-functions/exp10f.texi: Likewise.
37322         * doc/glibc-functions/fgetxattr.texi: Likewise.
37323         * doc/glibc-functions/flistxattr.texi: Likewise.
37324         * doc/glibc-functions/fopencookie.texi: Likewise.
37325         * doc/glibc-functions/freeifaddrs.texi: Likewise.
37326         * doc/glibc-functions/fremovexattr.texi: Likewise.
37327         * doc/glibc-functions/fsetxattr.texi: Likewise.
37328         * doc/glibc-functions/getifaddrs.texi: Likewise.
37329         * doc/glibc-functions/getxattr.texi: Likewise.
37330         * doc/glibc-functions/lgetxattr.texi: Likewise.
37331         * doc/glibc-functions/listxattr.texi: Likewise.
37332         * doc/glibc-functions/llistxattr.texi: Likewise.
37333         * doc/glibc-functions/lremovexattr.texi: Likewise.
37334         * doc/glibc-functions/lsetxattr.texi: Likewise.
37335         * doc/glibc-functions/pow10.texi: Likewise.
37336         * doc/glibc-functions/pow10f.texi: Likewise.
37337         * doc/glibc-functions/rcmd_af.texi: Likewise.
37338         * doc/glibc-functions/removexattr.texi: Likewise.
37339         * doc/glibc-functions/res_init.texi: Likewise.
37340         * doc/glibc-functions/res_mkquery.texi: Likewise.
37341         * doc/glibc-functions/res_query.texi: Likewise.
37342         * doc/glibc-functions/res_querydomain.texi: Likewise.
37343         * doc/glibc-functions/res_send.texi: Likewise.
37344         * doc/glibc-functions/rresvport_af.texi: Likewise.
37345         * doc/glibc-functions/setxattr.texi: Likewise.
37346         * doc/glibc-functions/strcasestr.texi: Likewise.
37347
37348 2008-12-15  Bruno Haible  <bruno@clisp.org>
37349
37350         Fix compilation error on OSF/1 4.0.
37351         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
37352         <sys/time.h>, simply delegate to the system header.
37353         Reported by Daniel Richard G. <oss@teragram.com>.
37354
37355 2008-12-15  Bruno Haible  <bruno@clisp.org>
37356
37357         * doc/posix-functions/openat.texi: Mention the 'openat' module.
37358         * doc/posix-functions/fchmodat.texi: Likewise.
37359         * doc/posix-functions/fchownat.texi: Likewise.
37360         * doc/posix-functions/fdopendir.texi: Likewise.
37361         * doc/posix-functions/fstatat.texi: Likewise.
37362         * doc/posix-functions/mkdirat.texi: Likewise.
37363         * doc/posix-functions/unlinkat.texi: Likewise.
37364
37365 2008-12-14  Bruno Haible  <bruno@clisp.org>
37366
37367         Update doc for POSIX:2008.
37368         * doc/posix-functions/faccessat.texi: New file.
37369         * doc/posix-functions/fchmodat.texi: New file.
37370         * doc/posix-functions/fchownat.texi: New file.
37371         * doc/posix-functions/fdopendir.texi: New file.
37372         * doc/posix-functions/fstatat.texi: New file.
37373         * doc/posix-functions/futimens.texi: New file.
37374         * doc/posix-functions/linkat.texi: New file.
37375         * doc/posix-functions/mkdirat.texi: New file.
37376         * doc/posix-functions/mkfifoat.texi: New file.
37377         * doc/posix-functions/mknodat.texi: New file.
37378         * doc/posix-functions/open_wmemstream.texi: New file.
37379         * doc/posix-functions/openat.texi: New file.
37380         * doc/posix-functions/psiginfo.texi: New file.
37381         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
37382         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
37383         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
37384         * doc/posix-functions/readlinkat.texi: New file.
37385         * doc/posix-functions/renameat.texi: New file.
37386         * doc/posix-functions/strerror_l.texi: New file.
37387         * doc/posix-functions/symlinkat.texi: New file.
37388         * doc/posix-functions/unlinkat.texi: New file.
37389         * doc/posix-functions/utimensat.texi: New file.
37390         * doc/gnulib.texi (Function Substitutes): Add these subsections.
37391
37392 2008-12-14  Bruno Haible  <bruno@clisp.org>
37393
37394         Update doc for POSIX:2008.
37395         * doc/posix-functions/alphasort.texi: Renamed from
37396         doc/glibc-functions/alphasort.texi.
37397         * doc/posix-functions/dirfd.texi: Renamed from
37398         doc/glibc-functions/dirfd.texi.
37399         * doc/posix-functions/dprintf.texi: Renamed from
37400         doc/glibc-functions/dprintf.texi.
37401         * doc/posix-functions/duplocale.texi: Renamed from
37402         doc/glibc-functions/duplocale.texi.
37403         * doc/posix-functions/fexecve.texi: Renamed from
37404         doc/glibc-functions/fexecve.texi.
37405         * doc/posix-functions/fmemopen.texi: Renamed from
37406         doc/glibc-functions/fmemopen.texi.
37407         * doc/posix-functions/freelocale.texi: Renamed from
37408         doc/glibc-functions/freelocale.texi.
37409         * doc/posix-functions/getdate_err.texi: Renamed from
37410         doc/glibc-functions/getdate_err.texi.
37411         * doc/posix-functions/isalnum_l.texi: Renamed from
37412         doc/glibc-functions/isalnum_l.texi.
37413         * doc/posix-functions/isalpha_l.texi: Renamed from
37414         doc/glibc-functions/isalpha_l.texi.
37415         * doc/posix-functions/isblank_l.texi: Renamed from
37416         doc/glibc-functions/isblank_l.texi.
37417         * doc/posix-functions/iscntrl_l.texi: Renamed from
37418         doc/glibc-functions/iscntrl_l.texi.
37419         * doc/posix-functions/isdigit_l.texi: Renamed from
37420         doc/glibc-functions/isdigit_l.texi.
37421         * doc/posix-functions/isgraph_l.texi: Renamed from
37422         doc/glibc-functions/isgraph_l.texi.
37423         * doc/posix-functions/islower_l.texi: Renamed from
37424         doc/glibc-functions/islower_l.texi.
37425         * doc/posix-functions/isprint_l.texi: Renamed from
37426         doc/glibc-functions/isprint_l.texi.
37427         * doc/posix-functions/ispunct_l.texi: Renamed from
37428         doc/glibc-functions/ispunct_l.texi.
37429         * doc/posix-functions/isspace_l.texi: Renamed from
37430         doc/glibc-functions/isspace_l.texi.
37431         * doc/posix-functions/isupper_l.texi: Renamed from
37432         doc/glibc-functions/isupper_l.texi.
37433         * doc/posix-functions/iswalnum_l.texi: Renamed from
37434         doc/glibc-functions/iswalnum_l.texi.
37435         * doc/posix-functions/iswalpha_l.texi: Renamed from
37436         doc/glibc-functions/iswalpha_l.texi.
37437         * doc/posix-functions/iswblank_l.texi: Renamed from
37438         doc/glibc-functions/iswblank_l.texi.
37439         * doc/posix-functions/iswcntrl_l.texi: Renamed from
37440         doc/glibc-functions/iswcntrl_l.texi.
37441         * doc/posix-functions/iswctype_l.texi: Renamed from
37442         doc/glibc-functions/iswctype_l.texi.
37443         * doc/posix-functions/iswdigit_l.texi: Renamed from
37444         doc/glibc-functions/iswdigit_l.texi.
37445         * doc/posix-functions/iswgraph_l.texi: Renamed from
37446         doc/glibc-functions/iswgraph_l.texi.
37447         * doc/posix-functions/iswlower_l.texi: Renamed from
37448         doc/glibc-functions/iswlower_l.texi.
37449         * doc/posix-functions/iswprint_l.texi: Renamed from
37450         doc/glibc-functions/iswprint_l.texi.
37451         * doc/posix-functions/iswpunct_l.texi: Renamed from
37452         doc/glibc-functions/iswpunct_l.texi.
37453         * doc/posix-functions/iswspace_l.texi: Renamed from
37454         doc/glibc-functions/iswspace_l.texi.
37455         * doc/posix-functions/iswupper_l.texi: Renamed from
37456         doc/glibc-functions/iswupper_l.texi.
37457         * doc/posix-functions/iswxdigit_l.texi: Renamed from
37458         doc/glibc-functions/iswxdigit_l.texi.
37459         * doc/posix-functions/isxdigit_l.texi: Renamed from
37460         doc/glibc-functions/isxdigit_l.texi.
37461         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
37462         doc/glibc-functions/mbsnrtowcs.texi.
37463         * doc/posix-functions/mkdtemp.texi: Renamed from
37464         doc/glibc-functions/mkdtemp.texi.
37465         * doc/posix-functions/newlocale.texi: Renamed from
37466         doc/glibc-functions/newlocale.texi.
37467         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
37468         doc/glibc-functions/nl_langinfo_l.texi.
37469         * doc/posix-functions/open_memstream.texi: Renamed from
37470         doc/glibc-functions/open_memstream.texi.
37471         * doc/posix-functions/opterr.texi: Renamed from
37472         doc/glibc-functions/opterr.texi.
37473         * doc/posix-functions/optind.texi: Renamed from
37474         doc/glibc-functions/optind.texi.
37475         * doc/posix-functions/optopt.texi: Renamed from
37476         doc/glibc-functions/optopt.texi.
37477         * doc/posix-functions/psignal.texi: Renamed from
37478         doc/glibc-functions/psignal.texi.
37479         * doc/posix-functions/scandir.texi: Renamed from
37480         doc/glibc-functions/scandir.texi.
37481         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
37482         doc/glibc-functions/sched_get_priority_min.texi.
37483         * doc/posix-functions/signgam.texi: Renamed from
37484         doc/glibc-functions/signgam.texi.
37485         * doc/posix-functions/stpcpy.texi: Renamed from
37486         doc/glibc-functions/stpcpy.texi.
37487         * doc/posix-functions/stpncpy.texi: Renamed from
37488         doc/glibc-functions/stpncpy.texi.
37489         * doc/posix-functions/strcasecmp_l.texi: Renamed from
37490         doc/glibc-functions/strcasecmp_l.texi.
37491         * doc/posix-functions/strcoll_l.texi: Renamed from
37492         doc/glibc-functions/strcoll_l.texi.
37493         * doc/posix-functions/strfmon_l.texi: Renamed from
37494         doc/glibc-functions/strfmon_l.texi.
37495         * doc/posix-functions/strftime_l.texi: Renamed from
37496         doc/glibc-functions/strftime_l.texi.
37497         * doc/posix-functions/strncasecmp_l.texi: Renamed from
37498         doc/glibc-functions/strncasecmp_l.texi.
37499         * doc/posix-functions/strndup.texi: Renamed from
37500         doc/glibc-functions/strndup.texi.
37501         * doc/posix-functions/strnlen.texi: Renamed from
37502         doc/glibc-functions/strnlen.texi.
37503         * doc/posix-functions/strsignal.texi: Renamed from
37504         doc/glibc-functions/strsignal.texi.
37505         * doc/posix-functions/strxfrm_l.texi: Renamed from
37506         doc/glibc-functions/strxfrm_l.texi.
37507         * doc/posix-functions/timer_gettime.texi: Renamed from
37508         doc/glibc-functions/timer_gettime.texi.
37509         * doc/posix-functions/tolower_l.texi: Renamed from
37510         doc/glibc-functions/tolower_l.texi.
37511         * doc/posix-functions/toupper_l.texi: Renamed from
37512         doc/glibc-functions/toupper_l.texi.
37513         * doc/posix-functions/towctrans_l.texi: Renamed from
37514         doc/glibc-functions/towctrans_l.texi.
37515         * doc/posix-functions/towlower_l.texi: Renamed from
37516         doc/glibc-functions/towlower_l.texi.
37517         * doc/posix-functions/towupper_l.texi: Renamed from
37518         doc/glibc-functions/towupper_l.texi.
37519         * doc/posix-functions/uselocale.texi: Renamed from
37520         doc/glibc-functions/uselocale.texi.
37521         * doc/posix-functions/vdprintf.texi: Renamed from
37522         doc/glibc-functions/vdprintf.texi.
37523         * doc/posix-functions/wcpcpy.texi:
37524         Renamed from doc/glibc-functions/wcpcpy.texi.
37525         * doc/posix-functions/wcpncpy.texi: Renamed from
37526         doc/glibc-functions/wcpncpy.texi.
37527         * doc/posix-functions/wcscasecmp.texi: Renamed from
37528         doc/glibc-functions/wcscasecmp.texi.
37529         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
37530         doc/glibc-functions/wcscasecmp_l.texi.
37531         * doc/posix-functions/wcscoll_l.texi: Renamed from
37532         doc/glibc-functions/wcscoll_l.texi.
37533         * doc/posix-functions/wcsdup.texi: Renamed from
37534         doc/glibc-functions/wcsdup.texi.
37535         * doc/posix-functions/wcsncasecmp.texi: Renamed from
37536         doc/glibc-functions/wcsncasecmp.texi.
37537         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
37538         doc/glibc-functions/wcsncasecmp_l.texi.
37539         * doc/posix-functions/wcsnlen.texi: Renamed from
37540         doc/glibc-functions/wcsnlen.texi.
37541         * doc/posix-functions/wcsnrtombs.texi: Renamed from
37542         doc/glibc-functions/wcsnrtombs.texi.
37543         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
37544         doc/glibc-functions/wcsxfrm_l.texi.
37545         * doc/posix-functions/wctrans_l.texi: Renamed from
37546         doc/glibc-functions/wctrans_l.texi.
37547         * doc/posix-functions/wctype_l.texi: Renamed from
37548         doc/glibc-functions/wctype_l.texi.
37549         * doc/gnulib.texi (Function Substitutes): Add these subsections.
37550         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
37551         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
37552         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
37553         these subsections.
37554         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
37555         Remove sections.
37556
37557 2008-12-14  Bruno Haible  <bruno@clisp.org>
37558
37559         Update doc for POSIX:2008.
37560         * doc/posix-functions/*.texi: Update URL of POSIX specification.
37561
37562 2008-12-14  Bruno Haible  <bruno@clisp.org>
37563
37564         Update doc for POSIX:2008.
37565         * doc/pastposix-functions/bcmp.texi: Renamed from
37566         doc/posix-functions/bcmp.texi.
37567         * doc/pastposix-functions/bcopy.texi: Renamed from
37568         doc/posix-functions/bcopy.texi.
37569         * doc/pastposix-functions/bsd_signal.texi: Renamed from
37570         doc/posix-functions/bsd_signal.texi.
37571         * doc/pastposix-functions/bzero.texi: Renamed from
37572         doc/posix-functions/bzero.texi.
37573         * doc/pastposix-functions/ecvt.texi: Renamed from
37574         doc/posix-functions/ecvt.texi.
37575         * doc/pastposix-functions/fcvt.texi: Renamed from
37576         doc/posix-functions/fcvt.texi.
37577         * doc/pastposix-functions/ftime.texi: Renamed from
37578         doc/posix-functions/ftime.texi.
37579         * doc/pastposix-functions/gcvt.texi: Renamed from
37580         doc/posix-functions/gcvt.texi.
37581         * doc/pastposix-functions/getcontext.texi: Renamed from
37582         doc/posix-functions/getcontext.texi.
37583         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
37584         doc/posix-functions/gethostbyaddr.texi.
37585         * doc/pastposix-functions/gethostbyname.texi: Renamed from
37586         doc/posix-functions/gethostbyname.texi.
37587         * doc/pastposix-functions/getwd.texi: Renamed from
37588         doc/posix-functions/getwd.texi.
37589         * doc/pastposix-functions/h_errno.texi: Renamed from
37590         doc/posix-functions/h_errno.texi.
37591         * doc/pastposix-functions/index.texi: Renamed from
37592         doc/posix-functions/index.texi.
37593         * doc/pastposix-functions/makecontext.texi: Renamed from
37594         doc/posix-functions/makecontext.texi.
37595         * doc/pastposix-functions/mktemp.texi: Renamed from
37596         doc/posix-functions/mktemp.texi.
37597         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
37598         doc/posix-functions/pthread_attr_getstackaddr.texi.
37599         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
37600         doc/posix-functions/pthread_attr_setstackaddr.texi.
37601         * doc/pastposix-functions/rindex.texi: Renamed from
37602         doc/posix-functions/rindex.texi.
37603         * doc/pastposix-functions/scalb.texi: Renamed from
37604         doc/posix-functions/scalb.texi.
37605         * doc/pastposix-functions/setcontext.texi: Renamed from
37606         doc/posix-functions/setcontext.texi.
37607         * doc/pastposix-functions/swapcontext.texi: Renamed from
37608         doc/posix-functions/swapcontext.texi.
37609         * doc/pastposix-functions/ualarm.texi: Renamed from
37610         doc/posix-functions/ualarm.texi.
37611         * doc/pastposix-functions/usleep.texi: Renamed from
37612         doc/posix-functions/usleep.texi.
37613         * doc/pastposix-functions/vfork.texi: Renamed from
37614         doc/posix-functions/vfork.texi.
37615         * doc/pastposix-functions/wcswcs.texi: Renamed from
37616         doc/posix-functions/wcswcs.texi.
37617         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
37618         (Function Substitutes): Update.
37619
37620 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37621
37622         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
37623         m4/strerror.m4.
37624
37625 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37626             Bruno Haible  <bruno@clisp.org>
37627
37628         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
37629
37630 2008-12-13  Bruno Haible  <bruno@clisp.org>
37631
37632         * modules/strtoull (Depends-on): Remove unistd.
37633
37634 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37635
37636         * modules/strtoull (Depends-on): Add stdlib.
37637
37638 2008-12-11  Simon Josefsson  <simon@josefsson.org>
37639
37640         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
37641
37642 2008-12-10  Jim Meyering  <meyering@redhat.com>
37643
37644         gl_ASSERT: don't say assertions are disabled when they're not
37645         * m4/assert.m4 (gl_ASSERT): Do not make configure report
37646         "checking whether to enable assertions... no", when they are in
37647         fact enabled.  This is solely a bug in the output of configure.
37648         In spite of saying "no", NDEBUG was not defined in that case.
37649         Also, as noted by Eric Blake, leave assertions enabled upon
37650         --enable-assert=INVALID.
37651
37652 2008-12-10  Bruno Haible  <bruno@clisp.org>
37653
37654         Change MODULES.html to refer to POSIX:2008 where possible.
37655         * MODULES.html.sh (POSIX2008_URL): New variable.
37656         (posix_headers): Remove sys/timeb, ucontext.
37657         (posix2001_headers): New variable.
37658         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
37659         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
37660         index, makecontext, mktemp, pthread_attr_getstackaddr,
37661         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
37662         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
37663         (posix2001_functions): New variable.
37664         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
37665         otherwise.
37666
37667 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37668
37669         add missing include to parse-duration.c
37670         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
37671         * modules/parse-duration (Depends-on): Add xalloc.
37672
37673         fix sed script reading maint.mk
37674         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
37675         (syntax-check-rules): Use it.
37676
37677 2008-12-09  Bruno Haible  <bruno@clisp.org>
37678
37679         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
37680         MacOS X 10.4/PowerPC.
37681         Reported by Simon Josefsson.
37682
37683 2008-12-08  Jim Meyering  <meyering@redhat.com>
37684
37685         work around mingw's lack of some S_IF definitions
37686         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
37687         Reported by Simon Josefsson.
37688
37689 2008-12-08  Bruno Haible  <bruno@clisp.org>
37690
37691         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
37692         applied to variables. Needed on MacOS X 10.4/PowerPC.
37693         Reported by Simon Josefsson.
37694
37695 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
37696         and Eric Blake  <ebb9@byu.net>
37697
37698         assert: honor --enable-assert
37699         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
37700         order to honor --enable-assert, rather than treating it as a
37701         synonym for --disable-assert.
37702
37703 2008-12-08  Jim Meyering  <meyering@redhat.com>
37704
37705         * lib/posixtm.c: Remove now-useless declaration of mktime.
37706
37707         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
37708
37709 2008-12-07  Bruno Haible  <bruno@clisp.org>
37710
37711         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
37712         test_once): Mark functions as static.
37713         * tests/test-tls.c (test_tls): Likewise.
37714
37715 2008-12-07  Bruno Haible  <bruno@clisp.org>
37716
37717         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
37718         iconv_register_autodetect.
37719
37720 2008-12-07  Jim Meyering  <meyering@redhat.com>
37721
37722         posixtm.c: avoid a warning
37723         * lib/posixtm.c (posixtime): Don't initialize tm0.
37724         It's no longer needed to placate gcc4's -Wuninitialized,
37725         and the attempt to placate would elicit a new warning.
37726
37727         unicodeio.c: mark unused parameters
37728         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
37729         (fallback_failure_callback): Likewise.
37730
37731 2008-12-07  Bruno Haible  <bruno@clisp.org>
37732
37733         * gnulib-tool (func_create_testdir): When building the tests
37734         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
37735         Reported by Simon Josefsson.
37736
37737 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37738
37739         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
37740
37741 2008-12-06  Bruno Haible  <bruno@clisp.org>
37742
37743         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
37744         Suggested by Eric Blake.
37745
37746 2008-12-06  Bruno Haible  <bruno@clisp.org>
37747
37748         Fix a c-stack test failure on MacOS X.
37749         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
37750         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
37751         handler for SIGBUS as well.
37752         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
37753         install a signal handler for SIGBUS as well.
37754         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
37755
37756 2008-12-06  Bruno Haible  <bruno@clisp.org>
37757
37758         Advocacy documentation.
37759         * doc/gnulib-intro.texi (Benefits): New section.
37760         * doc/gnulib.texi: Update.
37761
37762 2008-12-06  Bruno Haible  <bruno@clisp.org>
37763
37764         Document the 'manywarnings' module.
37765         * doc/manywarnings.texi: New file.
37766         * doc/gnulib.texi: Include it.
37767
37768 2008-12-05  Eric Blake  <ebb9@byu.net>
37769
37770         tests: silence some gcc warnings
37771         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
37772         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
37773         type mismatches.
37774
37775 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37776             Bruno Haible  <bruno@clisp.org>
37777
37778         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
37779
37780 2008-11-29  Jim Meyering  <meyering@redhat.com>
37781
37782         unicodeio.c: mark unused parameters
37783         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
37784         (fallback_failure_callback): Likewise.
37785
37786         fts: fix a thinko
37787         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
37788         (set_stat_type): Return S_IF*-valued "type" directly.
37789         Prompted by James Youngman's spotting a related bug.
37790         Confirmed by further testing through find.
37791
37792         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
37793         * lib/fts.c (D_TYPE): Define.
37794         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
37795         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
37796         (s_ifmt_shift_bits): New function.
37797         (set_stat_type): New function.
37798         (fts_build): When not calling fts_stat, call set_stat_type
37799         to propagate dirent.d_type info to fts_read caller.
37800         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
37801         fts_statp->st_mode type information may be valid.
37802
37803 2008-11-28  Simon Josefsson  <simon@josefsson.org>
37804
37805         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
37806         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
37807         <sds@gnu.org>.
37808
37809 2008-11-20  Bruno Haible  <bruno@clisp.org>
37810
37811         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
37812         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
37813         INCLUDE_NEXT.
37814         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
37815         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
37816         * modules/math (Makefile.am): Substitute
37817         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
37818         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
37819
37820 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
37821             Bruno Haible  <bruno@clisp.org>
37822
37823         * lib/stdint.in.h: Define all type macros so that their expansion is
37824         a single typedef'ed token. Fixes a compilation failure in Boost which
37825         does "using ::int8_t;".
37826
37827 2008-11-18  Simon Josefsson  <simon@josefsson.org>
37828
37829         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
37830         gl_MANYWARN_ALL_GCC.
37831         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
37832         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
37833         * modules/manywarnings: New file.
37834         * MODULES.html.sh: Mention manywarnings module.
37835
37836 2008-11-18  Bruno Haible  <bruno@clisp.org>
37837
37838         * doc/gnulib-tool.texi (Unit tests): New section.
37839
37840 2008-11-18  Simon Josefsson  <simon@josefsson.org>
37841
37842         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
37843         paths like 'lib/po/foo.po'.
37844
37845 2008-11-17  Simon Josefsson  <simon@josefsson.org>
37846
37847         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
37848         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
37849
37850 2008-11-17  Simon Josefsson  <simon@josefsson.org>
37851
37852         * m4/warnings.m4: Use CPPFLAGS to really check whether the
37853         parameter works.
37854
37855 2008-11-17  Simon Josefsson  <simon@josefsson.org>
37856
37857         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
37858
37859 2008-11-17  Bruce Korb  <bkorb@gnu.org>
37860
37861         * modules/parse-duration-tests: New file.
37862         * tests/test-parse-duration.sh: New file.
37863         * tests/test-parse-duration.c: New file.
37864
37865         New module 'parse-duration'.
37866         * lib/parse-duration.h: New file.
37867         * lib/parse-duration.c: New file.
37868         * modules/parse-duration: New file.
37869
37870 2008-11-17  Bruno Haible  <bruno@clisp.org>
37871
37872         * tests/test-select-out.sh: Comment out the first pipe test.
37873         Reported by Simon Josefsson.
37874
37875 2008-11-17  Bruno Haible  <bruno@clisp.org>
37876
37877         * modules/getaddrinfo (Depends-on): Add servent, hostent.
37878         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
37879         gl_HOSTENT.
37880
37881 2008-11-17  Bruno Haible  <bruno@clisp.org>
37882
37883         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
37884         -lnetwork and -lnet. Needed for Haiku and BeOS.
37885
37886 2008-11-16  Bruno Haible  <bruno@clisp.org>
37887
37888         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
37889
37890 2008-11-16  Bruno Haible  <bruno@clisp.org>
37891
37892         Avoid test failure on Haiku.
37893         * tests/test-fsync.c: Include <errno.h>.
37894         (main): Don't require that fsync (0) fails.
37895
37896 2008-11-15  Bruno Haible  <bruno@clisp.org>
37897
37898         New module 'hostent'.
37899         * modules/hostent: New file.
37900         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
37901
37902 2008-11-15  Bruno Haible  <bruno@clisp.org>
37903
37904         New module 'servent'.
37905         * modules/servent: New file.
37906         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
37907
37908 2008-11-15  Bruno Haible  <bruno@clisp.org>
37909
37910         Avoid generating same test program with two different rules.
37911         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
37912         test-frexp to test-frexp-nolibm.
37913         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
37914         test-frexpl to test-frexpl-nolibm.
37915
37916 2008-11-15  Bruno Haible  <bruno@clisp.org>
37917
37918         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
37919         $(FREXPL_LIBM).
37920
37921 2008-11-15  Bruno Haible  <bruno@clisp.org>
37922
37923         * lib/netdb.in.h: Activate the definitions also when the system's
37924         <netdb.h> has 'struct addrinfo'.
37925         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
37926         EAI_OVERFLOW or AI_NUMERICSERV.
37927         * doc/posix-headers/netdb.texi: Document the problem.
37928
37929 2008-11-15  Bruno Haible  <bruno@clisp.org>
37930
37931         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
37932
37933         Make the 'sched' module work on platforms where <sched.h> exists but
37934         is incomplete (such as Haiku).
37935         * lib/sched.in.h; Include the system's <sched.h> if it exists.
37936         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
37937         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
37938         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
37939         HAVE_STRUCT_SCHED_PARAM.
37940         * modules/sched (Depends-on): Add include_next.
37941         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
37942         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
37943         * doc/posix-headers/sched.texi: Document the issue.
37944
37945 2008-11-13  Jim Meyering  <meyering@redhat.com>
37946
37947         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
37948         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
37949         test would fail due to the difference in the Report bugs to ...
37950         line.  The expected address is empty, "<>", while the actual
37951         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
37952
37953 2008-11-12  Bruno Haible  <bruno@clisp.org>
37954
37955         lstat: don't compile lstat.c on systems lacking lstat
37956         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
37957         which don't have lstat; this is handled by lib/sys_stat.in.h already.
37958         Reported by Daniel P. Berrange via Jim Meyering.
37959
37960 2008-11-12  Jim Meyering  <meyering@redhat.com>
37961
37962         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
37963
37964 2008-11-12  Simon Josefsson  <simon@josefsson.org>
37965
37966         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
37967         instead.
37968
37969 2008-11-12  Bruno Haible  <bruno@clisp.org>
37970
37971         * lib/unicodeio.c: Include unistr.h.
37972         (utf8_wctomb): Remove function.
37973         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
37974
37975 2008-11-12  Simon Josefsson  <simon@josefsson.org>
37976
37977         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
37978         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
37979         <bruno@clisp.org>.
37980         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
37981
37982 2008-11-12  Simon Josefsson  <simon@josefsson.org>
37983
37984         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
37985         * doc/gnulib.texi: Add section for warnings.
37986
37987 2008-11-11  Bruno Haible  <bruno@clisp.org>
37988
37989         * lib/sockets.h: Add a comment.
37990
37991 2008-11-11  Karl Berry  <karl@gnu.org>
37992
37993         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
37994
37995 2008-11-11  Eric Blake  <ebb9@byu.net>
37996
37997         fdl.texi: avoid git symlinks
37998         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
37999
38000 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
38001
38002         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
38003
38004 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
38005
38006         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
38007         (gl_WARN_ADD): Substitute $2 if literal.
38008
38009 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
38010
38011         * m4/warning.m4: Remove.
38012
38013 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
38014
38015         * m4/warnings.m4: Almost complete rewrite. :-)
38016
38017 2008-11-10  Simon Josefsson  <simon@josefsson.org>
38018
38019         * modules/warnings: New module.
38020         * m4/warnings.m4: New file.
38021         * MODULES.html.sh: Mention warnings module.
38022         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
38023         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
38024
38025 2008-11-10  Eric Blake  <ebb9@byu.net>
38026
38027         fdl.texi: make a symlink to the latest version
38028         * doc/standards.texi: Revert today's earlier change.
38029         * doc/fdl-1.2.texi: Rename from old fdl.texi...
38030         * doc/fdl.texi: ...and replace this with a symlink to the newer
38031         fdl-1.3.texi.
38032
38033 2008-11-10  Bruno Haible  <bruno@clisp.org>
38034
38035         * tests/test-select-fd.c (main): Accept the result file name as fourth
38036         argument.
38037         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
38038         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
38039
38040 2008-11-10  Bruno Haible  <bruno@clisp.org>
38041
38042         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
38043         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
38044         as autoconf-substituted macros.
38045         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
38046         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
38047         gl_NETDB_H_DEFAULTS. Set these variables.
38048         * modules/netdb (Makefile.am): Substitute these variables.
38049
38050 2008-11-10  Eric Blake  <ebb9@byu.net>
38051
38052         standards.texi: include correct file for FDL 1.3
38053         * doc/standards.texi (GNU Free Documentation License): Change
38054         include file to pull in FDL 1.3, not 1.2.
38055
38056         fdl.texi: revert accidental change to license
38057         * doc/fdl.texi: This is FDL 1.2, not 1.3.
38058
38059 2008-11-10  Bruno Haible  <bruno@clisp.org>
38060
38061         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
38062         cross-compiling guesses also when the native compile gives no result.
38063
38064 2008-11-10  Bruno Haible  <bruno@clisp.org>
38065
38066         * lib/spawni.c (__spawni): Force variable into the stack.
38067
38068 2008-11-10  Bruno Haible  <bruno@clisp.org>
38069
38070         Add support for Haiku.
38071         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
38072         glibc and BeOS, but also on Haiku.
38073         * lib/fpurge.c (fpurge): Likewise.
38074         * lib/freadable.c (freadable): Likewise.
38075         * lib/freadahead.c (freadahead): Likewise.
38076         * lib/freading.c (freading): Likewise.
38077         * lib/freadptr.c (freadptr): Likewise.
38078         * lib/freadseek.c (freadptrinc): Likewise.
38079         * lib/fseeko.c (rpl_fseeko): Likewise.
38080         * lib/fseterr.c (fseterr): Likewise.
38081         * lib/fwritable.c (fwritable): Likewise.
38082         * lib/fwriting.c (fwriting): Likewise.
38083         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
38084
38085 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
38086
38087         * lib/config.charset: Treat Haiku like BeOS.
38088
38089 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
38090
38091         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
38092         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
38093
38094 2008-11-08  Bruno Haible  <bruno@clisp.org>
38095
38096         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
38097         AC_CACHE_CHECK.
38098
38099 2008-11-08  Bruno Haible  <bruno@clisp.org>
38100
38101         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
38102
38103 2008-11-08  Bruno Haible  <bruno@clisp.org>
38104
38105         * tests/test-select-fd.c: New file.
38106         * tests/test-select-in.sh: New file.
38107         * tests/test-select-out.sh: New file.
38108         * tests/test-select-stdin.c: New file.
38109         * modules/select-tests (Files): Add the new files.
38110         (Depends-on): Add gettimeofday.
38111         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
38112         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
38113         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
38114
38115 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
38116             Bruno Haible  <bruno@clisp.org>
38117
38118         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
38119
38120 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
38121
38122         * build-aux/pmccabe2html: Added support for C++ source files.
38123
38124 2008-11-05  Ben Pfaff  <blp@gnu.org>
38125
38126         Fix lib/close.c build on Windows.
38127         * modules/close (Files): Add lib/w32sock.h.
38128
38129 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
38130
38131         Accept Bison's NEWS format.
38132         * build-aux/announce-gen (print_news_deltas): Tweak
38133         $re_prefix.
38134
38135 2008-11-04  Bruno Haible  <bruno@clisp.org>
38136
38137         * modules/random_r (Maintainer): Add glibc.
38138
38139 2008-11-04  Simon Josefsson  <simon@josefsson.org>
38140
38141         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
38142         by karl@freefriends.org (Karl Berry).
38143         * doc/alloca.texi: Likewise.
38144         * doc/c-ctype.texi: Likewise.
38145         * doc/c-strcase.texi: Likewise.
38146         * doc/c-strcaseeq.texi: Likewise.
38147         * doc/c-strcasestr.texi: Likewise.
38148         * doc/c-strstr.texi: Likewise.
38149         * doc/c-strtod.texi: Likewise.
38150         * doc/c-strtold.texi: Likewise.
38151         * doc/ctime.texi: Likewise.
38152         * doc/error.texi: Likewise.
38153         * doc/fdl.texi: Likewise.
38154         * doc/gcd.texi: Likewise.
38155         * doc/getdate.texi: Likewise.
38156         * doc/gnulib-intro.texi: Likewise.
38157         * doc/gnulib-tool.texi: Likewise.
38158         * doc/gnulib.texi: Likewise.
38159         * doc/inet_ntoa.texi: Likewise.
38160         * doc/maintain.texi: Likewise.
38161         * doc/make-stds.texi: Likewise.
38162         * doc/quote.texi: Likewise.
38163         * doc/regexprops-generic.texi: Likewise.
38164         * doc/standards.texi: Likewise.
38165         * doc/verify.texi: Likewise.
38166         * doc/visibility.texi: Likewise.
38167         * doc/gnulib.texi (GNU Free Documentation License): Include
38168         fdl-1.3.texi instead of fdl.texi.
38169
38170 2008-11-04  Simon Josefsson  <simon@josefsson.org>
38171
38172         * doc/fdl-1.3.texi: New file, from
38173         <http://www.gnu.org/licenses/fdl-1.3.texi>.
38174         * modules/fdl-1.3: Add.
38175         * MODULES.html.sh: Add fdl-1.3.
38176
38177 2008-11-03  Bruno Haible  <bruno@clisp.org>
38178
38179         Make determination of absolute name of header file work with AIX xlc.
38180         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
38181         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
38182         preprocessing.
38183         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
38184         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
38185
38186 2008-11-03  Simon Josefsson  <simon@josefsson.org>
38187
38188         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
38189         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
38190         <ludo@gnu.org>.
38191
38192 2008-11-02  Bruno Haible  <bruno@clisp.org>
38193
38194         Mark 'strpbrk' obsolete.
38195         * modules/strpbrk (Status, Notice): New sections.
38196         * modules/strtok_r (Depends-on): Add strpbrk.
38197
38198 2008-11-02  Bruno Haible  <bruno@clisp.org>
38199
38200         Mark 'strdup' obsolete.
38201         * modules/strdup (Status, Notice): New sections.
38202         * modules/findprog (Depends-on): Add strdup.
38203         * modules/getaddrinfo (Depends-on): Likewise.
38204         * modules/localename (Depends-on): Likewise.
38205         * modules/relocatable-lib (Depends-on): Likewise.
38206         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
38207         * modules/relocatable-prog (Depends-on): Likewise.
38208         * modules/trim (Depends-on): Likewise.
38209         * modules/unictype/gen-ctype (Depends-on): Likewise.
38210         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
38211
38212 2008-11-02  Bruno Haible  <bruno@clisp.org>
38213
38214         Mark 'strcspn' obsolete.
38215         * modules/strcspn (Status, Notice): New sections.
38216
38217 2008-11-02  Bruno Haible  <bruno@clisp.org>
38218
38219         Mark 'rmdir' obsolete.
38220         * modules/rmdir (Status, Notice): New sections.
38221         * modules/clean-temp (Depends-on): Add rmdir.
38222         * modules/openat (Depends-on): Likewise.
38223
38224 2008-11-02  Bruno Haible  <bruno@clisp.org>
38225
38226         Mark 'raise' obsolete.
38227         * modules/raise (Status, Notice): New sections.
38228         (Include): Specify <signal.h>.
38229         * modules/stdio (Depends-on): Add raise.
38230         * modules/write (Depends-on): Likewise.
38231
38232 2008-11-02  Bruno Haible  <bruno@clisp.org>
38233
38234         Mark 'memset' obsolete.
38235         * modules/memset (Status, Notice): New sections.
38236
38237 2008-11-02  Bruno Haible  <bruno@clisp.org>
38238
38239         Mark 'memmove' obsolete.
38240         * modules/memmove (Status, Notice): New sections.
38241         * modules/argp (Depends-on): Add memmove.
38242         * modules/argz (Depends-on): Likewise.
38243         * modules/canonicalize (Depends-on): Likewise.
38244         * modules/canonicalize-lgpl (Depends-on): Likewise.
38245         * modules/fts (Depends-on): Likewise.
38246         * modules/getcwd (Depends-on): Likewise.
38247         * modules/human (Depends-on): Likewise.
38248         * modules/regex (Depends-on): Likewise.
38249         * modules/striconveh (Depends-on): Likewise.
38250         * modules/trim (Depends-on): Likewise.
38251         * modules/unistr/u8-move (Depends-on): Likewise.
38252         * modules/unistr/u16-move (Depends-on): Likewise.
38253         * modules/unistr/u32-move (Depends-on): Likewise.
38254
38255 2008-11-02  Bruno Haible  <bruno@clisp.org>
38256
38257         Mark 'memcpy' obsolete.
38258         * modules/memcpy (Status, Notice): New sections.
38259
38260 2008-11-02  Bruno Haible  <bruno@clisp.org>
38261
38262         Mark 'memcmp' obsolete.
38263         * modules/memcmp (Status, Notice): New sections.
38264         * modules/argmatch (Depends-on): Add memchr.
38265         * modules/backupfile (Depends-on): Likewise.
38266         * modules/c-strcasestr (Depends-on): Likewise.
38267         * modules/crypto/des (Depends-on): Likewise.
38268         * modules/csharpcomp (Depends-on): Likewise.
38269         * modules/fnmatch (Depends-on): Likewise.
38270         * modules/git-merge-changelog (Depends-on): Likewise.
38271         * modules/isnand (Depends-on): Likewise.
38272         * modules/isnand-nolibm (Depends-on): Likewise.
38273         * modules/isnanf (Depends-on): Likewise.
38274         * modules/isnanf-nolibm (Depends-on): Likewise.
38275         * modules/isnanl (Depends-on): Likewise.
38276         * modules/isnanl-nolibm (Depends-on): Likewise.
38277         * modules/mbchar (Depends-on): Likewise.
38278         * modules/memcoll (Depends-on): Likewise.
38279         * modules/quotearg (Depends-on): Likewise.
38280         * modules/regex (Depends-on): Likewise.
38281         * modules/relocatable-prog (Depends-on): Likewise.
38282         * modules/same (Depends-on): Likewise.
38283         * modules/signbit (Depends-on): Likewise.
38284         * modules/strcasestr-simple (Depends-on): Likewise.
38285         * modules/unictype/gen-ctype (Depends-on): Likewise.
38286         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
38287         * modules/uniname/uniname (Depends-on): Likewise.
38288         * modules/unistr/u8-cmp (Depends-on): Likewise.
38289
38290 2008-11-02  Bruno Haible  <bruno@clisp.org>
38291
38292         Mark 'memchr' obsolete.
38293         * modules/memchr (Status, Notice): New sections.
38294         * modules/argp (Depends-on): Add memchr.
38295         * modules/base64 (Depends-on): Likewise.
38296         * modules/c-strcasestr (Depends-on): Likewise.
38297         * modules/chdir-long (Depends-on): Likewise.
38298         * modules/fnmatch (Depends-on): Likewise.
38299         * modules/getsubopt (Depends-on): Likewise.
38300         * modules/git-merge-changelog (Depends-on): Likewise.
38301         * modules/glob (Depends-on): Likewise.
38302         * modules/strcasestr-simple (Depends-on): Likewise.
38303         * modules/strnlen (Depends-on): Likewise.
38304
38305 2008-11-02  Bruno Haible  <bruno@clisp.org>
38306
38307         Mark 'atexit' obsolete.
38308         * modules/atexit (Status, Notice): New sections.
38309         * modules/chdir-long (Depends-on): Add atexit.
38310         * modules/wait-process (Depends-on): Likewise.
38311
38312 2008-11-02  Bruno Haible  <bruno@clisp.org>
38313
38314         * gnulib-tool: New option --with-obsolete.
38315         (func_usage): Document it.
38316         (func_modules_transitive_closure): Drop obsolete dependencies if
38317         incobsolete is not true.
38318         (func_import): Read and save the incobsolete variable to the cache.
38319
38320 2008-11-02  Bruno Haible  <bruno@clisp.org>
38321
38322         * modules/TEMPLATE-EXTENDED: New field 'Status'.
38323         * gnulib-tool: New option --extract-status.
38324         (func_usage): Document it.
38325         (sed_extract_prog): Recognize it.
38326         (func_get_status): New function.
38327
38328 2008-10-30  Simon Josefsson  <simon@josefsson.org>
38329
38330         * modules/sockets (License): Change from LGPL to LGPLv2+.
38331
38332 2008-10-28  Simon Josefsson  <simon@josefsson.org>
38333
38334         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
38335
38336 2008-10-28  Simon Josefsson  <simon@josefsson.org>
38337
38338         * MODULES.html.sh (Support for systems lacking POSIX:2001):
38339         Mention times and sys_times.
38340         * modules/sys_times, modules/sys_times-tests: New modules.
38341         * modules/times, modules/times-tests: Likewise
38342         * m4/sys_times_h.m4: New file.
38343         * lib/sys_times.in.h: Likewise
38344         * lib/times.c: Likewise.
38345         * tests/test-sys_times.c: Likewise.
38346         * tests/test-times.c: Likewise.
38347         * doc/posix-headers/sys_times.texi: Update.
38348         * doc/posix-functions/times.texi: Update.
38349
38350 2008-10-28  Jim Meyering  <meyering@redhat.com>
38351
38352         * modules/tempname (Depends-on): Add lstat.
38353
38354         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
38355
38356 2008-10-28  Simon Josefsson  <simon@josefsson.org>
38357
38358         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
38359         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
38360         using idiom used elsewhere in gnulib.
38361
38362 2008-10-27  Jim Meyering  <meyering@redhat.com>
38363
38364         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
38365
38366 2008-10-27  Simon Josefsson  <simon@josefsson.org>
38367
38368         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
38369         TESTS_ENVIRONMENT, for shell scripts that needs to call built
38370         programs.
38371         * tests/test-argp-2.sh: Use $EXEEXT when needed.
38372
38373 2008-10-27  Simon Josefsson  <simon@josefsson.org>
38374
38375         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
38376
38377 2008-10-27  Bruno Haible  <bruno@clisp.org>
38378
38379         * tests/test-lstat.c: Include <stdio.h>.
38380
38381 2008-10-27  Simon Josefsson  <simon@josefsson.org>
38382
38383         * modules/lstat-tests: New module.
38384         * tests/test-lstat.c: New file.
38385
38386 2008-10-26  Jim Meyering  <meyering@redhat.com>
38387
38388         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
38389
38390 2008-10-26  Simon Josefsson  <simon@josefsson.org>
38391             Bruno Haible  <bruno@clisp.org>
38392
38393         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
38394         * modules/configmake (Include): Add a note that the include must come
38395         after all system headers.
38396         * lib/javaversion.c: Include configmake.h after all other includes.
38397
38398 2008-10-26  Bruno Haible  <bruno@clisp.org>
38399
38400         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
38401         HAVE_STRUCT_RANDOM_DATA to 1.
38402         (gl_STDLIB_H): Simplify.
38403
38404 2008-10-26  Simon Josefsson  <simon@josefsson.org>
38405
38406         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
38407         substitute HAVE_STRUCT_RANDOM_DATA.
38408         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
38409         random_data.
38410         * modules/stdlib (Makefile.am): Substitute
38411         HAVE_STRUCT_RANDOM_DATA.
38412
38413 2008-10-26  Simon Josefsson  <simon@josefsson.org>
38414
38415         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
38416         * doc/gnulib-intro.texi (Copyright): Likewise.
38417
38418 2008-10-26  Simon Josefsson  <simon@josefsson.org>
38419
38420         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
38421         findings.
38422
38423 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
38424             Bruno Haible  <bruno@clisp.org>
38425
38426         * lib/unistd.in.h: Include <winsock2.h>.
38427         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
38428         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
38429         Provide dummy declarations.
38430         (gethostname): Override.
38431         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
38432         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
38433         gl_PREREQ_SYS_H_WINSOCK2.
38434         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
38435         * doc/posix-functions/gethostname.texi: More details.
38436
38437 2008-10-25  Bruno Haible  <bruno@clisp.org>
38438
38439         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
38440         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
38441         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
38442
38443         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
38444         here ...
38445         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
38446         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
38447         gl_UNISTD_H_DEFAULTS.
38448
38449 2008-10-25  Eric Blake  <ebb9@byu.net>
38450
38451         signbit: avoid spurious compiler failure
38452         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
38453         declarations inside function.
38454
38455 2008-10-24  Simon Josefsson  <simon@josefsson.org>
38456             Bruno Haible  <bruno@clisp.org>
38457
38458         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
38459         * modules/random_r (Depends-on): Add stdint.
38460
38461 2008-10-24  Bruno Haible  <bruno@clisp.org>
38462
38463         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
38464         Eggert.
38465         * modules/strerror (License): Likewise.
38466
38467 2008-10-24  Jim Meyering  <meyering@redhat.com>
38468
38469         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
38470         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
38471
38472 2008-10-24  Eric Blake  <ebb9@byu.net>
38473
38474         getgroups: fix compilation when getgroups is available
38475         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
38476         but with <config.h> override of getgroups disabled.
38477
38478 2008-10-24  Simon Josefsson  <simon@josefsson.org>
38479
38480         * doc/gnulib.texi (Header files): Add note about C++ problems.
38481         Explained by Bruno Haible <bruno@clisp.org>.
38482
38483 2008-10-23  Bruno Haible  <bruno@clisp.org>
38484
38485         Define a dummy SA_NODEFER macro on Interix.
38486         * lib/signal.in.h (SA_NODEFER): Define fallback.
38487         Reported by Aleksey Cheusov <cheusov@tut.by> via
38488         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
38489
38490 2008-10-23  Bruno Haible  <bruno@clisp.org>
38491
38492         * modules/freadahead (License): Change to LGPLv2+.
38493         Suggested by Simon Josefsson.
38494
38495 2008-10-23  Jim Meyering  <meyering@redhat.com>
38496
38497         random_r: new module
38498         * modules/random_r: New file.
38499         * m4/random_r.m4: New file.
38500         * lib/random_r.c: New file, from glibc.
38501         * modules/random_r-tests: New file.
38502         * tests/test-random_r.c: New file.
38503         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
38504          Declare.
38505         (RAND_MAX): Define.
38506         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
38507         * modules/stdlib: Substitute them, too.
38508         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
38509         * doc/glibc-functions/initstate_r.texi: Mention the new module.
38510         * doc/glibc-functions/random_r.texi: Likewise.
38511         * doc/glibc-functions/setstate_r.texi: Likewise.
38512         * doc/glibc-functions/srandom_r.texi: Likewise.
38513         * config/srclist.txt: Mention it.
38514
38515 2008-10-23  David Lutterkort  <lutter@redhat.com>
38516
38517         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
38518         link requirement
38519
38520 2008-10-23  Jim Meyering  <meyering@redhat.com>
38521
38522         selinux-h: mark parameters of stub functions as intentionally unused
38523         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
38524         * lib/se-context.in.h: Likewise.
38525
38526 2008-10-22  Simon Josefsson  <simon@josefsson.org>
38527
38528         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
38529
38530 2008-10-22  Simon Josefsson  <simon@josefsson.org>
38531
38532         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
38533
38534 2008-10-22  Eric Blake  <ebb9@byu.net>
38535
38536         glthread/thread: avoid compiler warning
38537         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
38538         Add unreachable abort to silence compiler.
38539
38540 2008-10-22  Eric Blake  <ebb9@byu.net>
38541
38542         netdb: also supply struct addrinfo for cygwin 1.5.x
38543         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
38544         older cygwin.
38545         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
38546         cygwin.
38547         * doc/posix-headers/netdb.texi (netdb.h): Document this.
38548
38549 2008-10-22  Bruno Haible  <bruno@clisp.org>
38550
38551         * users.txt: Update entry about pspp.
38552
38553 2008-10-21  Bruno Haible  <bruno@clisp.org>
38554
38555         Simplification.
38556         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
38557         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
38558
38559         Simplification.
38560         * lib/ioctl.c (ioctl): Don't undefine.
38561         * lib/socket.c (socket): Don't undefine.
38562
38563         Remove unused module indicator macros.
38564         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
38565         GNULIB_$1 as a C macro.
38566
38567         * doc/posix-functions/close.texi: Undo last change.
38568         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
38569         Windows platforms.
38570
38571 2008-10-21  Bruno Haible  <bruno@clisp.org>
38572
38573         Add gethostname() declaration to <unistd.h>.
38574         * lib/unistd.in.h (gethostname): New declaration.
38575         * lib/gethostname.c: Include <unistd.h>.
38576         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
38577         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
38578         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
38579         and HAVE_GETHOSTNAME.
38580         * modules/gethostname (Depends-on): Add unistd.
38581         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
38582         (Include): Specify <unistd.h>.
38583         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
38584         HAVE_GETHOSTNAME.
38585         * tests/test-gethostname.c: Include <unistd.h> first.
38586
38587 2008-10-21  Bruno Haible  <bruno@clisp.org>
38588
38589         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
38590         * modules/select-tests (Depends-on): Likewise.
38591         Reported by Simon Josefsson.
38592
38593 2008-10-21  Simon Josefsson  <simon@josefsson.org>
38594
38595         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
38596         * lib/accept.c: New file, based on winsock.c.
38597         * lib/bind.c: New file, based on winsock.c.
38598         * lib/connect.c: New file, based on winsock.c.
38599         * lib/getpeername.c: New file, based on winsock.c.
38600         * lib/getsockname.c: New file, based on winsock.c.
38601         * lib/getsockopt.c: New file, based on winsock.c.
38602         * lib/ioctl.c: New file, based on winsock.c.
38603         * lib/listen.c: New file, based on winsock.c.
38604         * lib/recv.c: New file, based on winsock.c.
38605         * lib/recvfrom.c: New file, based on winsock.c.
38606         * lib/send.c: New file, based on winsock.c.
38607         * lib/sendto.c: New file, based on winsock.c.
38608         * lib/setsockopt.c: New file, based on winsock.c.
38609         * lib/shutdown.c: New file, based on winsock.c.
38610         * lib/socket.c: New file, based on winsock.c.
38611         * lib/w32sock.h: New file, based on winsock.c.
38612         * lib/winsock.c: Remove file.
38613         * modules/accept: Likewise.
38614         * modules/bind: Likewise.
38615         * modules/connect: Likewise.
38616         * modules/getpeername: Likewise.
38617         * modules/getsockname: Likewise.
38618         * modules/getsockopt: Likewise.
38619         * modules/ioctl: Likewise.
38620         * modules/listen: Likewise.
38621         * modules/recv: Likewise.
38622         * modules/recvfrom: Likewise.
38623         * modules/send: Likewise.
38624         * modules/sendto: Likewise.
38625         * modules/setsockopt: Likewise.
38626         * modules/shutdown: Likewise.
38627         * modules/socket: Use socket.c instead of winsock.c.
38628         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
38629         * doc/posix-functions/accept.texi: Doc fix.
38630         * doc/posix-functions/bind.texi: Doc fix.
38631         * doc/posix-functions/close.texi: Doc fix.
38632         * doc/posix-functions/connect.texi: Doc fix.
38633         * doc/posix-functions/getpeername.texi: Doc fix.
38634         * doc/posix-functions/getsockname.texi: Doc fix.
38635         * doc/posix-functions/getsockopt.texi: Doc fix.
38636         * doc/posix-functions/ioctl.texi: Doc fix.
38637         * doc/posix-functions/listen.texi: Doc fix.
38638         * doc/posix-functions/recv.texi: Doc fix.
38639         * doc/posix-functions/recvfrom.texi: Doc fix.
38640         * doc/posix-functions/send.texi: Doc fix.
38641         * doc/posix-functions/sendto.texi: Doc fix.
38642         * doc/posix-functions/setsockopt.texi: Doc fix.
38643         * doc/posix-functions/shutdown.texi: Doc fix.
38644         * doc/posix-functions/socket.texi: Doc fix.
38645
38646 2008-10-20  Bruno Haible  <bruno@clisp.org>
38647
38648         Take into account the role of SIGABRT_COMPAT on Windows 2008.
38649         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
38650         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
38651         as an alias for SIGABRT.
38652         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
38653         (sigaction): Map it to SIGABRT.
38654         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
38655
38656 2008-10-20  Bruno Haible  <bruno@clisp.org>
38657
38658         * lib/fts.c: Don't include lstat.h.
38659         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
38660
38661         Move the lstat() declaration to <sys/stat.h>.
38662         * lib/lstat.h: Remove file.
38663         * lib/sys_stat.in.h: Add special invocation convention.
38664         (lstat): New declaration.
38665         * lib/lstat.c (orig_lstat): New function.
38666         (rpl_lstat): Use orig_lstat instead of lstat.
38667         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
38668         AC_C_INLINE. Set REPLACE_LSTAT.
38669         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
38670         and REPLACE_LSTAT.
38671         * modules/lstat (Files): Remove lib/lstat.h.
38672         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
38673         (Include): Specify <sys/stat.h> instead of lstat.h.
38674         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
38675         REPLACE_LSTAT.
38676         * NEWS: Mention the change.
38677
38678 2008-10-20  Bruno Haible  <bruno@clisp.org>
38679
38680         * modules/posix_spawn-tests: New file.
38681         * tests/test-posix_spawn3.c: New file.
38682
38683 2008-10-20  Bruno Haible  <bruno@clisp.org>
38684
38685         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
38686         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
38687         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
38688         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
38689         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
38690
38691 2008-10-20  Bruno Haible  <bruno@clisp.org>
38692
38693         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
38694         of posix_spawn on AIX 5.3.
38695
38696 2008-10-20  Bruno Haible  <bruno@clisp.org>
38697
38698         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
38699
38700 2008-10-20  Bruno Haible  <bruno@clisp.org>
38701
38702         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
38703         of AC_LANG_PROGRAM.
38704
38705 2008-10-20  Simon Josefsson  <simon@josefsson.org>
38706
38707         * lib/netdb.in.h: Don't define GNU specific constants until they
38708         are supported or needed.  Reported by Bruno Haible
38709         <bruno@clisp.org>.
38710
38711 2008-10-20  Simon Josefsson  <simon@josefsson.org>
38712
38713         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
38714
38715 2008-10-20  Simon Josefsson  <simon@josefsson.org>
38716
38717         * lib/getaddrinfo.h: Remove file.
38718         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
38719         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
38720         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
38721         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
38722         * modules/netdb: Substitute GNULIB_GETADDRINFO.
38723         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
38724         * tests/test-getaddrinfo.c: Likewise.
38725         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
38726         * NEWS: Mention change.
38727
38728 2008-10-19  Bruno Haible  <bruno@clisp.org>
38729
38730         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
38731
38732 2008-10-19  Bruno Haible  <bruno@clisp.org>
38733
38734         * lib/wait-process.c: Include simply <sys/wait.h>.
38735         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
38736         WIFSTOPPED): Remove fallback definitions.
38737         * modules/wait-process (Depends-on): Add sys_wait.
38738
38739         New module 'sys_wait'.
38740         * modules/sys_wait: New file.
38741         * lib/sys_wait.in.h: New file, partially copied from
38742         lib/wait-process.c.
38743         * m4/sys_wait_h.m4: New file.
38744         * doc/posix-headers/sys_wait.texi: Mention the new module.
38745
38746 2008-10-19  Bruno Haible  <bruno@clisp.org>
38747
38748         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
38749
38750 2008-10-19  Bruno Haible  <bruno@clisp.org>
38751
38752         Assume that waitpid() fills an 'int' status, not a 'union wait'.
38753         * lib/wait-process.c (WAIT_T): Remove type.
38754         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
38755         (wait_subprocess): Update.
38756
38757 2008-10-19  Bruno Haible  <bruno@clisp.org>
38758
38759         New module 'atoll'.
38760         * modules/atoll: New file.
38761         * lib/stdlib.in.h (atoll): New declaration.
38762         * lib/atoll.c: New file, from glibc with modifications.
38763         * m4/atoll.m4: New file.
38764         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
38765         HAVE_ATOLL.
38766         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
38767         * doc/posix-functions/atoll.texi: Mention the new module.
38768
38769 2008-10-19  Bruno Haible  <bruno@clisp.org>
38770
38771         Add strtoull() declaration to <stdlib.h>.
38772         * lib/stdlib.in.h (strtoull): New declaration.
38773         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
38774         Set HAVE_STRTOULL.
38775         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
38776         HAVE_STRTOULL.
38777         * modules/strtoull (Depends-on): Add stdlib.
38778         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
38779         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
38780         HAVE_STRTOULL.
38781
38782 2008-10-19  Bruno Haible  <bruno@clisp.org>
38783
38784         Add strtoll() declaration to <stdlib.h>.
38785         * lib/stdlib.in.h (strtoll): New declaration.
38786         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
38787         Set HAVE_STRTOLL.
38788         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
38789         HAVE_STRTOLL.
38790         * modules/strtoll (Depends-on): Add stdlib.
38791         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
38792         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
38793
38794 2008-10-19  Bruno Haible  <bruno@clisp.org>
38795
38796         * modules/bcopy (Depends-on): Add strings.
38797         (Include): Specify <strings.h>.
38798
38799 2008-10-19  Bruno Haible  <bruno@clisp.org>
38800
38801         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
38802
38803 2008-10-19  Bruno Haible  <bruno@clisp.org>
38804
38805         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
38806         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
38807         mingw.
38808
38809 2008-10-19  Bruno Haible  <bruno@clisp.org>
38810
38811         * lib/atanl.c: Don't include isnanl.h.
38812         * lib/cosl.c: Likewise.
38813         * lib/ldexpl.c: Likewise.
38814         * lib/logl.c: Likewise.
38815         * lib/sinl.c: Likewise.
38816         * lib/sqrtl.c: Likewise.
38817         * lib/tanl.c: Likewise.
38818
38819         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
38820         * lib/isnanf.h: Remove file.
38821         * lib/isnand.h: Remove file.
38822         * lib/isnanl.h: Remove file.
38823         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
38824         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
38825         macros.
38826         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
38827         HAVE_ISNANF, don't define it as a C macro.
38828         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
38829         HAVE_ISNAND, don't define it as a C macro.
38830         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
38831         HAVE_ISNANL, don't define it as a C macro.
38832         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
38833         HAVE_ISNAN[FDL].
38834         * modules/isnanf (Files): Remove lib/isnanf.h.
38835         (Depends-on): Add math.
38836         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
38837         (Include): Specify <math.h> instead of isnanf.h.
38838         * modules/isnand (Files): Remove lib/isnand.h.
38839         (Depends-on): Add math.
38840         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
38841         (Include): Specify <math.h> instead of isnand.h.
38842         * modules/isnanl (Files): Remove lib/isnanl.h.
38843         (Depends-on): Add math.
38844         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
38845         (Include): Specify <math.h> instead of isnanl.h.
38846         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
38847         HAVE_ISNAN[FDL].
38848         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
38849         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
38850         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
38851         * NEWS: Mention the change.
38852
38853 2008-10-18  Bruno Haible  <bruno@clisp.org>
38854
38855         Add getusershell(), setusershell(), endusershell() declarations to
38856         <unistd.h>.
38857         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
38858         declarations.
38859         * lib/getusershell.c: Include unistd.h.
38860         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
38861         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
38862         HAVE_GETUSERSHELL.
38863         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
38864         and HAVE_GETUSERSHELL.
38865         * modules/getusershell (Depends-on): Add unistd, extensions.
38866         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
38867         (Include): Specify <unistd.h>.
38868         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
38869         HAVE_GETUSERSHELL.
38870
38871 2008-10-18  Bruno Haible  <bruno@clisp.org>
38872
38873         Add a getloadavg() declaration to <stdlib.h>.
38874         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
38875         getloadavg declaration.
38876         (getloadavg): New declaration.
38877         * lib/getloadavg.c: Include <stdlib.h> first.
38878         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
38879         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
38880         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
38881         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
38882         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
38883         * modules/getloadavg (Depends-on): Add stdlib, extensions.
38884         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
38885         (Include): Specify <stdlib.h>.
38886         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
38887         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
38888
38889 2008-10-18  Bruno Haible  <bruno@clisp.org>
38890
38891         * lib/dirchownmod.c: Don't include lchmod.h.
38892
38893         Move the lchmod() declaration to <sys/stat.h>.
38894         * lib/lchmod.h: Remove file.
38895         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
38896         (lchmod): New declaration, moved here from lib/lchown.h.
38897         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
38898         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
38899         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
38900         and HAVE_LCHMOD.
38901         * modules/lchmod (Files): Remove lib/lchmod.h.
38902         (Depends-on): Add sys_stat, extensions.
38903         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
38904         (Include): Specify <sys/stat.h> instead of lchmod.h.
38905         * modules/sys_stat (Depends-on): Add link-warning.
38906         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
38907         definition of GL_LINK_WARNING.
38908         * NEWS: Mention the change.
38909
38910 2008-10-18  Bruno Haible  <bruno@clisp.org>
38911
38912         * lib/fchdir.c: Don't include dirfd.h.
38913         * lib/fts.c: Likewise.
38914         * lib/getcwd.c: Likewise.
38915         * lib/glob.c: Likewise.
38916
38917         Move the dirfd() declaration to <dirent.h>.
38918         * lib/dirfd.h: Remove file.
38919         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
38920         (dirfd): New declaration.
38921         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
38922         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
38923         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
38924         HAVE_DECL_DIRFD.
38925         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
38926         HAVE_DECL_DIRFD.
38927         * modules/dirfd (Files): Remove lib/dirfd.h.
38928         (Depends-on): Add dirent, extensions.
38929         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
38930         (Include): Specify <dirent.h> instead of dirfd.h.
38931         * modules/dirent (Depends-on): Add link-warning.
38932         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
38933         definition of GL_LINK_WARNING.
38934         * NEWS: Mention the change.
38935
38936 2008-10-18  Bruno Haible  <bruno@clisp.org>
38937
38938         Move the euidaccess() declaration to <unistd.h>.
38939         * lib/euidaccess.h: Remove file.
38940         * lib/unistd.in.h (euidaccess): New declaration.
38941         * lib/euidaccess.c: Don't include euidaccess.h.
38942         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
38943         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
38944         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
38945         and HAVE_EUIDACCESS.
38946         * modules/euidaccess (Files): Remove lib/euidaccess.h.
38947         (Depends-on): Add unistd.
38948         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
38949         (Include): Specify <unistd.h> instead of euidaccess.h.
38950         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
38951         HAVE_EUIDACCESS.
38952         * NEWS: Mention the change.
38953
38954 2008-10-18  Bruno Haible  <bruno@clisp.org>
38955
38956         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
38957
38958         Move the getdomainname() declaration to <unistd.h>.
38959         * lib/getdomainname.h: Remove file.
38960         * lib/unistd.in.h (getdomainname): New declaration.
38961         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
38962         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
38963         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
38964         HAVE_GETDOMAINNAME.
38965         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
38966         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
38967         * modules/getdomainname (Files): Remove lib/getdomainname.h.
38968         (Depends-on): Add unistd, extensions.
38969         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
38970         (Includes): Specify <unistd.h> instead of getdomainname.h.
38971         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
38972         HAVE_GETDOMAINNAME.
38973         * NEWS: Mention the change.
38974
38975 2008-10-18  Bruno Haible  <bruno@clisp.org>
38976
38977         * modules/dirent: New file.
38978         * m4/dirent_h.m4: New file.
38979         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
38980         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
38981         * modules/fchdir (Files): Remove lib/dirent.in.h.
38982         (Depends-on): Add dirent.
38983         (Makefile.am): Move rules to modules/dirent.
38984         * doc/posix-headers/dirent.texi: Mention the new module.
38985
38986 2008-10-18  Bruno Haible  <bruno@clisp.org>
38987
38988         Avoid -Wunused-parameter warnings in public gnulib header files.
38989         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
38990         macro.
38991         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
38992
38993 2008-10-18  Bruno Haible  <bruno@clisp.org>
38994
38995         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
38996         * doc/glibc-functions/error.texi: Mention the module 'error'.
38997         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
38998         * doc/glibc-functions/getdomainname.texi: Mention the module
38999         'getdomainname'.
39000         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
39001         * doc/glibc-functions/getpagesize.texi: Mention the module
39002         'getpagesize'.
39003         * doc/glibc-functions/getusershell.texi: Mention the module
39004         'getusershell'.
39005         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
39006         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
39007         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
39008         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
39009         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
39010         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
39011         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
39012         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
39013         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
39014         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
39015         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
39016         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
39017         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
39018         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
39019
39020 2008-10-17  Bruno Haible  <bruno@clisp.org>
39021
39022         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
39023         HP-UX and IRIX, use -0.0L.
39024         * tests/test-ceill.c (minus_zero): Likewise.
39025         * tests/test-floorl.c (minus_zero): Likewise.
39026         * tests/test-frexpl.c (minus_zero): Likewise.
39027         * tests/test-isnan.c (minus_zerol): Likewise.
39028         * tests/test-isnanl.h (minus_zero): Likewise.
39029         * tests/test-ldexpl.c (minus_zero): Likewise.
39030         * tests/test-roundl.c (minus_zero): Likewise.
39031         * tests/test-signbit.c (minus_zerol): Likewise.
39032         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
39033         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
39034         * tests/test-truncl.c (minus_zero): Likewise.
39035         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
39036         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
39037         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
39038         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
39039
39040 2008-10-17  Bruno Haible  <bruno@clisp.org>
39041
39042         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
39043         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
39044         that it gets activated only for gcc >= 3.0.
39045         * lib/dirent.in.h: Likewise.
39046         * lib/errno.in.h: Likewise.
39047         * lib/fcntl.in.h: Likewise.
39048         * lib/float.in.h: Likewise.
39049         * lib/iconv.in.h: Likewise.
39050         * lib/inttypes.in.h: Likewise.
39051         * lib/locale.in.h: Likewise.
39052         * lib/math.in.h: Likewise.
39053         * lib/netdb.in.h: Likewise.
39054         * lib/netinet_in.in.h: Likewise.
39055         * lib/search.in.h: Likewise.
39056         * lib/signal.in.h: Likewise.
39057         * lib/spawn.in.h: Likewise.
39058         * lib/stdarg.in.h: Likewise.
39059         * lib/stdint.in.h: Likewise.
39060         * lib/stdio.in.h: Likewise.
39061         * lib/stdlib.in.h: Likewise.
39062         * lib/string.in.h: Likewise.
39063         * lib/strings.in.h: Likewise.
39064         * lib/sys_file.in.h: Likewise.
39065         * lib/sys_ioctl.in.h: Likewise.
39066         * lib/sys_select.in.h: Likewise.
39067         * lib/sys_socket.in.h: Likewise.
39068         * lib/sys_stat.in.h: Likewise.
39069         * lib/sys_time.in.h: Likewise.
39070         * lib/sysexits.in.h: Likewise.
39071         * lib/time.in.h: Likewise.
39072         * lib/unistd.in.h: Likewise.
39073         * lib/wchar.in.h: Likewise.
39074         * lib/wctype.in.h: Likewise.
39075         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
39076
39077 2008-10-17  Jim Meyering  <meyering@redhat.com>
39078
39079         ignore-value: don't depend on inline module
39080         * modules/ignore-value (Depends-on): Remove 'inline'.
39081         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
39082         Suggestion from Bruno Haible.
39083
39084 2008-10-17  Bruno Haible  <bruno@clisp.org>
39085
39086         New implementation of condition variables for Win32.
39087         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
39088         (gl_linked_waitqueue_t): New type.
39089         (gl_cond_t): Use it.
39090         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
39091         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
39092         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
39093         (glthread_cond_init_func, glthread_cond_wait_func,
39094         glthread_cond_timedwait_func, glthread_cond_signal_func,
39095         glthread_cond_broadcast_func, glthread_cond_destroy_func):
39096         Reimplemented on the basis of gl_linked_waitqueue_t.
39097         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
39098         gl_waitqueue_t.
39099         (gl_rwlock_t): Update.
39100         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
39101
39102 2008-10-17  Simon Josefsson  <simon@josefsson.org>
39103
39104         * modules/recvfrom (Depends-on): Add dependency on getpeername.
39105         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
39106
39107 2008-10-17  Jim Meyering  <meyering@redhat.com>
39108
39109         ignore-value: new module
39110         * modules/ignore-value: New file.
39111         * lib/ignore-value.h: New file.
39112         * MODULES.html.sh (Compiler warning management): New section,
39113         just for this module.  More to come.
39114
39115 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
39116
39117         open-safer.c: avoid 'signed and unsigned in conditional...' warning
39118         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
39119         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
39120
39121 2008-10-16  Jim Meyering  <meyering@redhat.com>
39122
39123         openat-die.c: avoid 'no previous prototype' warning
39124         * lib/openat-die.c: Include "openat.h".
39125         Reported by Reuben Thomas <rrt@sc3d.org>.
39126
39127 2008-10-16  Simon Josefsson  <simon@josefsson.org>
39128
39129         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
39130         * lib/netdb.in.h: Fix typo.
39131         Reported by Bruno Haible  <bruno@clisp.org>
39132
39133         * lib/netdb.in.h: Include sys/socket.h for platforms without
39134         netdb.h, to get structures like hostent on MinGW.
39135         * modules/netdb (Depends-on): Add sys_socket.
39136
39137 2008-10-15  Simon Josefsson  <simon@josefsson.org>
39138
39139         * modules/netdb, modules/netdb-tests: New file.
39140         * m4/netdb_h.m4: New file.
39141         * lib/netdb.in.h: Add, currently just an empty file pending
39142         definitions.
39143         * tests/test-netdb.c: New file.
39144         * doc/posix-headers/netdb.texi: Mention that we replace it if
39145         needed.
39146         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
39147         netdb.
39148
39149 2008-10-15  Simon Josefsson  <simon@josefsson.org>
39150
39151         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
39152         with code.
39153
39154 2008-10-13  Bruno Haible  <bruno@clisp.org>
39155
39156         * lib/glthread/cond.c (glthread_cond_wait_func,
39157         glthread_cond_timedwait_func): Add a comment.
39158
39159 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
39160
39161         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
39162         * tests/test-select.c: Likewise,
39163
39164 2008-10-13  Bruno Haible  <bruno@clisp.org>
39165
39166         * lib/glthread/cond.c (glthread_cond_wait_func,
39167         glthread_cond_timedwait_func): Fix variable name.
39168         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
39169
39170 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
39171
39172         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
39173         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
39174         struct sockaddr.sa_len.
39175         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
39176
39177 2008-10-13  Simon Josefsson  <simon@josefsson.org>
39178
39179         * build-aux/pmccabe2html: Add css and css_url parameters.
39180
39181 2008-10-12  Bruno Haible  <bruno@clisp.org>
39182
39183         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
39184         calling aclx_get.
39185         Reported by Rainer Tammer <tammer@tammer.net>.
39186
39187 2008-10-12  Bruno Haible  <bruno@clisp.org>
39188
39189         Use msvcrt aware primitives for creation/termination of Win32 threads.
39190         * lib/glthread/thread.c: Include <process.h>.
39191         (glthread_create_func): Use _beginthreadex instead of CreateThread.
39192         (wrapper_func): Update signature.
39193         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
39194
39195 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
39196             Bruno Haible  <bruno@clisp.org>
39197
39198         Provide a Win32 implementation of the 'cond' module.
39199         * lib/glthread/cond.h [USE_WIN32]: New implementation.
39200         * lib/glthread/cond.c (glthread_cond_init_func,
39201         glthread_cond_wait_func, glthread_cond_timedwait_func,
39202         glthread_cond_signal_func, glthread_cond_broadcast_func,
39203         glthread_cond_destroy_func) [USE_WIN32]: New functions.
39204         * modules/cond (Dependencies): Add gettimeofday.
39205
39206 2008-10-11  Bruno Haible  <bruno@clisp.org>
39207
39208         Make sleep work on older versions of mingw.
39209         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
39210         only whether it exists.
39211         * doc/posix-functions/sleep.texi: Mention the problem with older
39212         versions of mingw.
39213
39214 2008-10-11  Bruno Haible  <bruno@clisp.org>
39215
39216         New module 'shutdown'.
39217         * modules/shutdown: New file.
39218         * lib/sys_socket.in.h (shutdown): New declaration.
39219         * lib/winsock.c (shutdown): New function.
39220         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
39221         GNULIB_SHUTDOWN.
39222         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
39223         * doc/posix-functions/shutdown.texi: Document the new module.
39224
39225 2008-10-11  Jim Meyering  <meyering@redhat.com>
39226
39227         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
39228
39229 2008-10-11  Bruno Haible  <bruno@clisp.org>
39230
39231         New module 'fclose'.
39232         * modules/fclose: New file.
39233         * lib/stdio.in.h (fclose): New declaration.
39234         * lib/fclose.c: New file.
39235         * m4/fclose.m4: New file.
39236         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
39237         REPLACE_FCLOSE.
39238         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
39239         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
39240         REPLACE_FCLOSE.
39241         * modules/close (Depends-on): fclose.
39242         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
39243
39244 2008-10-11  Bruno Haible  <bruno@clisp.org>
39245
39246         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
39247         set errno and don't call _close.
39248
39249 2008-10-10  Bruno Haible  <bruno@clisp.org>
39250
39251         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
39252         ACL, not afterwards. Fixes test failure on Cygwin.
39253
39254 2008-10-09  Ben Pfaff  <blp@gnu.org>
39255
39256         * build-aux/announce-gen: Fix gnulib version related part of usage
39257         message.  Die with a useful error message if no tarballs are
39258         found.
39259
39260 2008-10-10  Jim Meyering  <meyering@redhat.com>
39261
39262         bootstrap: use git's --depth=N option only if it's supported
39263         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
39264         recognize the --depth option.  Reported by Pádraig Brady.
39265
39266 2008-10-09  Bruno Haible  <bruno@clisp.org>
39267
39268         New module 'ioctl'.
39269         * modules/ioctl: New file.
39270         * lib/sys_socket.in.h (ioctl): Remove declaration.
39271         * lib/winsock.c: Include <sys/ioctl.h>.
39272         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
39273         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
39274         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
39275         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
39276         * doc/posix-functions/ioctl.texi: Mention the new module.
39277
39278 2008-10-09  Bruno Haible  <bruno@clisp.org>
39279
39280         New module 'sys_ioctl'.
39281         * lib/sys_ioctl.in.h: New file.
39282         * m4/sys_ioctl_h.m4: New file.
39283         * modules/sys_ioctl: New file.
39284         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
39285
39286 2008-10-09  Bruno Haible  <bruno@clisp.org>
39287
39288         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
39289         * lib/winsock.c: Include <stdarg.h>.
39290         (rpl_ioctl): Change to second argument 'int' and then varargs.
39291
39292 2008-10-09  Bruno Haible  <bruno@clisp.org>
39293
39294         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
39295         when the sys_socket module is present and the system has <winsock2.h>.
39296
39297 2008-10-09  Bruno Haible  <bruno@clisp.org>
39298
39299         * doc/posix-functions/close.texi: Mention module 'close' instead of
39300         module 'sys_socket'.
39301
39302 2008-10-09  Bruno Haible  <bruno@clisp.org>
39303
39304         * doc/glibc-headers/sys_ioctl.texi: New file.
39305         * doc/gnulib.texi: Include it.
39306
39307 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
39308             Bruno Haible  <bruno@clisp.org>
39309
39310         Combine the two replacements of 'close'.
39311         * lib/sys_socket.in.h (close): Define to a reminder to include
39312         <unistd.h>.
39313         (_gl_close_fd_maybe_socket): New declaration.
39314         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
39315         * lib/winsock.c (close): Remove undefinition.
39316         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
39317         needed for the gnulib module 'close'.
39318         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
39319         define to an error symbol or to a warning, if suitable.
39320         * lib/close.c: Include <sys/socket.h>.
39321         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
39322         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
39323         UNISTD_H_HAVE_WINSOCK2_H.
39324         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
39325         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
39326         UNISTD_H_HAVE_WINSOCK2_H.
39327         * modules/sys_socket (Files): Add m4/unistd_h.m4.
39328         (configure.ac): Set a module indicator.
39329         (Makefile.am): Substitute GNULIB_CLOSE.
39330         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
39331         * modules/poll-tests (Depends-on): Add close.
39332         * modules/select-tests (Depends-on): Likewise.
39333
39334 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
39335             Bruno Haible  <bruno@clisp.org>
39336
39337         New module 'close'.
39338         * modules/close: New file.
39339         * lib/unistd.in.h (close): Move declaration out of the
39340         FCHDIR_REPLACEMENT scope.
39341         (_gl_unregister_fd): New declaration.
39342         * lib/close.c: New file.
39343         * lib/fchdir.c (rpl_close): Remove function.
39344         * m4/close.m4: New file.
39345         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
39346         close.
39347         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
39348         REPLACE_CLOSE.
39349         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
39350         REPLACE_CLOSE.
39351         * modules/fchdir (Depends-on): Add close.
39352
39353 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
39354             Bruno Haible  <bruno@clisp.org>
39355
39356         * lib/fcntl.in.h (open): Simplify conditionals.
39357         (_gl_register_fd): New declaration.
39358         * lib/fchdir.c (rpl_open): Remove function.
39359         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
39360         also.
39361         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
39362         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
39363         open.
39364
39365 2008-10-09  Jim Meyering  <meyering@redhat.com>
39366
39367         GNUmakefile: use the more name-space-friendly "_version"
39368         * top/GNUmakefile (_dummy): Update.
39369         (_version): Rename from "version".
39370
39371 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
39372             Bruno Haible  <bruno@clisp.org>
39373
39374         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
39375         rpl_close.
39376         (_gl_register_fd): New function, extracted from rpl_open.
39377         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
39378         (rpl_open, rpl_opendir): Use _gl_register_fd.
39379
39380 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
39381
39382         Fix organization of 'open' replacement.
39383         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
39384         (gl_FUNC_OPEN): Use it.
39385         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
39386
39387 2008-10-08  Bruno Haible  <bruno@clisp.org>
39388
39389         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
39390
39391 2008-10-08  Simon Josefsson  <simon@josefsson.org>
39392
39393         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
39394         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
39395         listen).
39396
39397 2008-10-08  Eric Blake  <ebb9@byu.net>
39398
39399         GNUmakefile: add 'make version' target
39400         * top/GNUmakefile (_curr-ver): Split version update rules...
39401         (version): ...into a target.
39402
39403 2008-10-07  Bruno Haible  <bruno@clisp.org>
39404
39405         Use a more portable replacement expression for -0.0L.
39406         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
39407         instead of -0.0L. Fix m4 quotation.
39408
39409         * tests/test-signbit.c: Include <float.h>.
39410         (minus_zero): New variable.
39411         (test_signbitl): Use minus_zero instead of -zero.
39412         * modules/signbit-tests (Depends-on): Add float.
39413
39414         * tests/test-ceill.c: Include <float.h>.
39415         (zero): Remove variable.
39416         (minus_zero): New variable.
39417         (main): Use minus_zero instead of -zero.
39418         * modules/ceill-tests (Depends-on): Add float.
39419
39420         * tests/test-floorl.c: Include <float.h>.
39421         (zero): Remove variable.
39422         (minus_zero): New variable.
39423         (main): Use minus_zero instead of -zero.
39424         * modules/floorl-tests (Depends-on): Add float.
39425
39426         * tests/test-roundl.c: Include <float.h>.
39427         (zero): Remove variable.
39428         (minus_zero): New variable.
39429         (main): Use minus_zero instead of -zero.
39430         * modules/roundl-tests (Depends-on): Add float.
39431
39432         * tests/test-truncl.c: Include <float.h>.
39433         (zero): Remove variable.
39434         (minus_zero): New variable.
39435         (main): Use minus_zero instead of -zero.
39436         * modules/truncl-tests (Depends-on): Add float.
39437
39438         * tests/test-frexpl.c (zero): Remove variable.
39439         (minus_zero): New variable.
39440         (main): Use minus_zero instead of -zero.
39441         * modules/frexpl-tests (Depends-on): Add float.
39442
39443         * tests/test-isnan.c (zerol): Remove variable.
39444         (minus_zerol): New variable.
39445         (test_long_double): Use minus_zerol instead of -zerol.
39446         * modules/isnan-tests (Depends-on): Add float.
39447
39448         * tests/test-isnanl.h (zero): Remove variable.
39449         (minus_zero): New variable.
39450         (main): Use minus_zero instead of -zero.
39451         * modules/isnanl-nolibm-tests (Depends-on): Add float.
39452         * modules/isnanl-tests (Depends-on): Add float.
39453
39454         * tests/test-ldexpl.c (zero): Remove variable.
39455         (minus_zero): New variable.
39456         (main): Use minus_zero instead of -zero.
39457         * modules/ldexpl-tests (Depends-on): Add float.
39458
39459         * tests/test-snprintf-posix.h (zerol): Remove variable.
39460         (minus_zerol): New variable.
39461         (test_function): Use minus_zerol instead of -zerol.
39462         * modules/snprintf-posix-tests (Depends-on): Add float.
39463         * modules/vsnprintf-posix-tests (Depends-on): Add float.
39464
39465         * tests/test-sprintf-posix.h (zerol): Remove variable.
39466         (minus_zerol): New variable.
39467         (test_function): Use minus_zerol instead of -zerol.
39468         * modules/sprintf-posix-tests (Depends-on): Add float.
39469         * modules/vsprintf-posix-tests (Depends-on): Add float.
39470
39471         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
39472         (minus_zerol): New variable.
39473         (test_function): Use minus_zerol instead of -zerol.
39474         * modules/vasnprintf-posix-tests (Depends-on): Add float.
39475
39476         * tests/test-vasprintf-posix.c (zerol): Remove variable.
39477         (minus_zerol): New variable.
39478         (test_function): Use minus_zerol instead of -zerol.
39479         * modules/vasprintf-posix-tests (Depends-on): Add float.
39480
39481 2008-10-07  Simon Josefsson  <simon@josefsson.org>
39482
39483         * MODULES.html.sh (Support for building documentation): Mention
39484         pmccabe2html.  Sort entries.
39485
39486         Add pmccabe2html module, from gnupdf.
39487         * build-aux/pmccabe.css: New file.
39488         * build-aux/pmccabe2html: New file.
39489         * m4/pmccabe2html.m4: New file.
39490         * modules/pmccabe2html: New file.
39491
39492 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
39493
39494         flock: new module
39495         * MODULES.html.sh: Add to list of modules.
39496         * lib/flock.c: flock implementation for Windows and Unix systems
39497         which have fcntl.
39498         * doc/glibc-functions/flock.texi: Update documentation.
39499         * lib/sys_file.in.h: <sys/file.h> header file.
39500         * m4/flock.m4: M4 macros.
39501         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
39502         * modules/flock: flock module.
39503         * modules/flock-tests: flock tests module.
39504         * modules/sys_file: sys/file.h module.
39505         * tests/test-flock.c: test suite for flock.
39506
39507 2008-10-06  Jim Meyering  <meyering@redhat.com>
39508
39509         bootstrap: check for LT_INIT more portably still ;-)
39510         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
39511         Spotted by Bruno Haible.
39512
39513 2008-10-06  Eric Blake  <ebb9@byu.net>
39514
39515         test-signbit: avoid tripping Irix cc bug on -0.0L
39516         * tests/test-signbit.c (minus_zerol): Delete, and replace with
39517         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
39518         entire testsuite consistent and avoids an Irix 6.2 bug.
39519
39520 2008-10-05  Bruno Haible  <bruno@clisp.org>
39521             Jim Meyering  <jim@meyering.net>
39522
39523         Add an option for ignoring EPIPE during close_stdout.
39524         * lib/closeout.h: Include <stdbool.h>.
39525         (close_stdout_set_ignore_EPIPE): New declaration.
39526         * lib/closeout.c: Include <stdbool.h>.
39527         (ignore_EPIPE): New variable.
39528         (close_stdout_set_ignore_EPIPE): New function.
39529         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
39530         * lib/close-stream.c (close_stream): Mention the possible EPIPE
39531         failure.
39532         * modules/closeout (Depends-on): Add stdbool.
39533
39534 2008-10-05  Bruno Haible  <bruno@clisp.org>
39535
39536         * modules/accept: New file.
39537         * modules/bind: New file.
39538         * modules/connect: New file.
39539         * modules/getpeername: New file.
39540         * modules/getsockname: New file.
39541         * modules/getsockopt: New file.
39542         * modules/listen: New file.
39543         * modules/recv: New file.
39544         * modules/recvfrom: New file.
39545         * modules/send: New file.
39546         * modules/sendto: New file.
39547         * modules/setsockopt: New file.
39548         * modules/socket: New file.
39549         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
39550         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
39551         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
39552         the particular module is requested. Add a link warning when the
39553         particular module is not requested.
39554         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
39555         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
39556         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
39557         the particular module is requested.
39558         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
39559         gl_SYS_SOCKET_H_DEFAULTS): New macros.
39560         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
39561         * modules/sys_socket (Depends-on): Add link-warning.
39562         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
39563         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
39564         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
39565         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
39566         GL_LINK_WARNING.
39567         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
39568         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
39569         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
39570         * doc/posix-functions/getpeername.texi: Mention the new module
39571         'getpeername'.
39572         * doc/posix-functions/getsockname.texi: Mention the new module
39573         'getsockname'.
39574         * doc/posix-functions/getsockopt.texi: Mention the new module
39575         'getsockopt'.
39576         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
39577         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
39578         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
39579         * doc/posix-functions/send.texi: Mention the new module 'send'.
39580         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
39581         * doc/posix-functions/setsockopt.texi: Mention the new module
39582         'setsockopt'.
39583         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
39584         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
39585         listen, connect, accept.
39586         * modules/select-tests (Depends-on): Likewise.
39587
39588 2008-10-05  Bruno Haible  <bruno@clisp.org>
39589
39590         * lib/winsock.c (strerror): Remove unused #undef.
39591         (rpl_close): Remove unused local variable.
39592
39593         * modules/sys_socket (Depends-on); Add errno.
39594
39595 2008-10-05  Bruno Haible  <bruno@clisp.org>
39596
39597         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
39598         (select): Add a link warning when the 'select' module is not used.
39599         * modules/sys_select (Depends-on): Add link-warning.
39600         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
39601         Suggested by Paolo Bonzini.
39602
39603 2008-10-05  Jim Meyering  <meyering@redhat.com>
39604
39605         bootstrap: check for LT_INIT more portably
39606         * build-aux/bootstrap: Avoid using grep -E, since it's not
39607         portable enough.  Suggestion from Bruno Haible.
39608
39609 2008-10-05  Bruno Haible  <bruno@clisp.org>
39610
39611         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
39612         as being fixed by gnulib.
39613
39614 2008-10-05  Bruno Haible  <bruno@clisp.org>
39615
39616         * modules/select-tests: New file, mostly copied from
39617         modules/sys_select-tests.
39618         * tests/test-select.c: New file, mostly copied from
39619         tests/test-sys_select.c.
39620         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
39621         * modules/sys_select-tests (Depends-on): Remove all dependencies.
39622         (Makefile.am): Remove test_sys_select_LDADD.
39623
39624         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
39625         to an undefined symbol, for an error message.
39626         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
39627         (gl_SYS_SELECT_H_DEFAULTS): New macro.
39628         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
39629         winsock-select.c here.
39630         * modules/sys_select (Files): Remove lib/winsock-select.c.
39631         (Depends-on): Remove alloca.
39632         (Makefile.am): Substitute GNULIB_SELECT.
39633         * modules/select: New file.
39634         * doc/posix-functions/select.texi: Update.
39635
39636 2008-10-05  Bruno Haible  <bruno@clisp.org>
39637
39638         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
39639         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
39640         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
39641         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
39642         getdtablesize.
39643         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
39644         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
39645
39646 2008-10-05  Bruno Haible  <bruno@clisp.org>
39647
39648         * modules/getdtablesize-tests: New file.
39649         * tests/test-getdtablesize.c: New file.
39650
39651         New module 'getdtablesize'.
39652         * lib/unistd.in.h (getdtablesize): New declaration.
39653         * lib/getdtablesize.c: New file.
39654         * m4/getdtablesize.m4: New file.
39655         * modules/getdtablesize: New file.
39656         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
39657         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
39658         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
39659         HAVE_GETDTABLESIZE.
39660         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
39661
39662 2008-10-05  Bruno Haible  <bruno@clisp.org>
39663
39664         * modules/sched (Makefile.am): Fix typo.
39665         Reported by Simon Josefsson.
39666
39667 2008-10-05  Jim Meyering  <meyering@redhat.com>
39668
39669         bootstrap: check for LT_INIT, too
39670         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
39671         are deprecated.  Suggestion from Ralf Wildenhues.
39672
39673 2008-10-05  Bruno Haible  <bruno@clisp.org>
39674
39675         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
39676         overriding them by ours.
39677         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
39678
39679 2008-10-05  Jim Meyering  <meyering@redhat.com>
39680
39681         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
39682         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
39683         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
39684
39685 2008-10-04  Bruno Haible  <bruno@clisp.org>
39686
39687         * modules/dup2 (License): Change to LGPLv2+.
39688         * modules/sleep (License): Likewise.
39689         * modules/perror (License): Likewise.
39690         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
39691         Blake.
39692         * modules/signal (License): Likewise.
39693         * modules/sigprocmask (License): Likewise.
39694         * modules/raise (License): Change to LGPLv2+, with approval by Jim
39695         Meyering.
39696
39697 2008-10-04  Bruno Haible  <bruno@clisp.org>
39698
39699         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
39700         Reported by Rainer Tammer <tammer@tammer.net>.
39701
39702 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
39703             Bruno Haible  <bruno@clisp.org>
39704
39705         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
39706         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
39707         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
39708
39709 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
39710
39711         filevercmp: new module
39712         * lib/filevercmp.h: New function filevercmp comparing version strings.
39713         * lib/filevercmp.c: Implementation of filevercmp function.
39714         * modules/filevercmp: Module metadata.
39715         * tests/test-filevercmp.c: Unit test for new module.
39716         * modules/filevercmp-tests: Unit test metadata.
39717         * MODULES.html.sh: Add filevercmp module.
39718
39719 2008-10-03  Bruno Haible  <bruno@clisp.org>
39720
39721         * lib/c-ctype.h: Add comment.
39722         Reported by Jim Meyering.
39723
39724 2008-10-02  Bruno Haible  <bruno@clisp.org>
39725
39726         * modules/posix_spawn-internal (Depends-on): Add 'open'.
39727
39728 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
39729
39730         * build-aux/bootstrap: Allow renaming bootstrap, and change the
39731         name of bootstrap.conf accordingly.
39732
39733 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
39734
39735         * build-aux/bootstrap: Install git-merge-changelog configuration
39736         items into .gitconfig if needed.
39737
39738 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
39739
39740         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
39741         git repository, and initialize/update it accordingly.
39742
39743 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
39744
39745         * modules/fsync-tests: New file.
39746         * tests/test-fsync.c: New file.
39747
39748         New module 'fsync'.
39749         * lib/fsync.c: New file.
39750         * m4/fsync.m4: New file.
39751         * modules/fsync: New file.
39752         * lib/unistd.in.h (fsync): New declaration.
39753         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
39754         GNULIB_FSYNC and HAVE_FSYNC.
39755         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
39756         * MODULES.html.sh (posix_functions): Add fsync.
39757         * doc/posix-functions/fsync.texi: Mention the new module.
39758
39759 2008-10-02  Jim Meyering  <meyering@redhat.com>
39760
39761         fts.c: sync with similar code from coreutils' remove.c
39762         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
39763         Guard also with "#if defined __linux__", since for now at least,
39764         this code is Linux-kernel-specific.
39765
39766 2008-10-02  Jim Meyering  <meyering@redhat.com>
39767
39768         fts: bug fixes
39769         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
39770         Include <sys/vfs.h>, not <sys/statfs.h>.
39771
39772         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
39773         Include <sys/vfs.h>, not <sys/statfs.h>.
39774
39775 2008-10-01  Bruno Haible  <bruno@clisp.org>
39776
39777         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
39778         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
39779         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
39780         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
39781         * doc/posix-functions/posix_spawnp.texi: Likewise.
39782         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
39783         whether posix_spawn actually works.
39784         * m4/pipe.m4 (gl_PIPE): Likewise.
39785         * modules/execute (Files): Add m4/posix_spawn.m4.
39786         * modules/pipe (Files): Add m4/posix_spawn.m4.
39787         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
39788
39789 2008-10-01  Jim Meyering  <meyering@redhat.com>
39790
39791         remove trailing spaces
39792         * NEWS: Likewise.
39793         * lib/poll.c (poll): Likewise.
39794         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
39795         * lib/winsock.c (rpl_close): Likewise.
39796         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
39797         * modules/yield: Likewise.
39798         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
39799         * tests/test-sys_select.c (connect_to_socket): Likewise.
39800
39801         fts.c: adjust a new interface to be more generally useful
39802         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
39803         (fts_build): Adjust caller.
39804
39805 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
39806
39807         * modules/cond-tests: New file.
39808         * tests/test-cond.c: New file.
39809
39810 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
39811             Bruno Haible  <bruno@clisp.org>
39812
39813         * modules/cond (Dependencies): Add errno, time.
39814         * lib/glthread/cond.h: Include <time.h>.
39815         (gl_cond_define, gl_cond_define_initialized): Use the same definition
39816         across platforms.
39817
39818 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
39819             Bruno Haible  <bruno@clisp.org>
39820
39821         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
39822
39823 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
39824             Bruno Haible  <bruno@clisp.org>
39825
39826         * modules/tls-tests (Depends-on): Add thread, yield.
39827         (configure.ac): Remove all checks.
39828         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
39829         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
39830         gl_thread_self): Remove definitions. Include glthread/thread.h and
39831         glthread/yield.h instead.
39832         (test_tls): Pass an additional NULL argument to gl_thread_join.
39833
39834 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
39835             Bruno Haible  <bruno@clisp.org>
39836
39837         * modules/lock-tests (Depends-on): Add thread, yield.
39838         (configure.ac): Remove all checks.
39839         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
39840         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
39841         gl_thread_self): Remove definitions. Include glthread/thread.h and
39842         glthread/yield.h instead.
39843         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
39844         additional NULL argument to gl_thread_join.
39845
39846 2008-09-30  Bruno Haible  <bruno@clisp.org>
39847
39848         Fix the Win32 implementation of the 'thread' module.
39849         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
39850         pointer type.
39851         (gl_thread_self): Invoke gl_thread_self_func.
39852         (gl_thread_self_func): New declaration.
39853         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
39854         (do_init_self_key, init_self_key): New functions.
39855         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
39856         Remove some fields.
39857         (running_threads, running_lock): Remove variables.
39858         (get_current_thread_handle): New function.
39859         (gl_thread_self_func, wrapper_func, glthread_create_func,
39860         glthread_join_func, gl_thread_exit_func): Largely rewritten and
39861         simplified.
39862
39863 2008-09-30  Bruno Haible  <bruno@clisp.org>
39864
39865         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
39866         files.
39867
39868 2008-09-30  Jim Meyering  <meyering@redhat.com>
39869
39870         fts.m4: correct the test for statfs.f_type
39871         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
39872         when checking for statfs.f_type.
39873
39874 2008-09-15  Simon Josefsson  <simon@josefsson.org>
39875
39876         tests: avoid some compiler warnings
39877         * tests/test-memchr.c (main): Pass NULL indirectly.
39878         * tests/test-getdate.c (main): Remove unused variable 'ret'.
39879
39880 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
39881
39882         getdate.y: disallow countable dayshifts like "4 yesterday ago"
39883         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
39884         exactly specified dayshifts.
39885         (dayshift): New rule.
39886         (rel): Add dayshift.
39887         (relative_time_table) [tomorrow, yesterday, today, now]:
39888         Use tDAY_SHIFT in place of tDAY_UNIT.
39889         * tests/test-getdate.c: Add tests for now-disallowed countable
39890         dayshifts, e.g., "4 yesterday ago".
39891
39892 2008-09-29  Bruno Haible  <bruno@clisp.org>
39893
39894         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
39895         * tests/test-posix_spawn1.in.sh: Renamed from
39896         tests/test-posix_spawn.in.sh.
39897         * tests/test-posix_spawn2.c: New file.
39898         * tests/test-posix_spawn2.in.sh: New file.
39899         * modules/posix_spawnp-tests (Files): Update.
39900         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
39901
39902 2008-09-29  Bruno Haible  <bruno@clisp.org>
39903
39904         Propagate effects of putenv/setenv/unsetenv to child processes.
39905         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
39906         * lib/pipe.c (create_pipe): Likewise.
39907
39908 2008-09-29  Bruno Haible  <bruno@clisp.org>
39909
39910         Enable use of shell scripts as executables in mingw.
39911         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
39912         run the program as a shell script.
39913         * lib/pipe.c (create_pipe): Likewise.
39914         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
39915         resulting array.
39916
39917 2008-09-29  Eric Blake  <ebb9@byu.net>
39918
39919         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
39920
39921 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
39922
39923         * doc/posix-functions/accept.texi: Update mingw problems.
39924         * doc/posix-functions/bind.texi: Update mingw problems.
39925         * doc/posix-functions/close.texi: Update mingw problems.
39926         * doc/posix-functions/connect.texi: Update mingw problems.
39927         * doc/posix-functions/getpeername.texi: Update mingw problems.
39928         * doc/posix-functions/getsockname.texi: Update mingw problems.
39929         * doc/posix-functions/getsockopt.texi: Update mingw problems.
39930         * doc/posix-functions/ioctl.texi: Update mingw problems.
39931         * doc/posix-functions/listen.texi: Update mingw problems.
39932         * doc/posix-functions/recv.texi: Update mingw problems.
39933         * doc/posix-functions/recvfrom.texi: Update mingw problems.
39934         * doc/posix-functions/select.texi: Update mingw problems.
39935         * doc/posix-functions/send.texi: Update mingw problems.
39936         * doc/posix-functions/sendto.texi: Update mingw problems.
39937         * doc/posix-functions/setsockopt.texi: Update mingw problems.
39938         * doc/posix-functions/socket.texi: Update mingw problems.
39939
39940 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
39941             Bruno Haible  <bruno@clisp.org>
39942
39943         * lib/sys_select.in.h: Include sys/time.h.
39944         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
39945         * modules/sys_select: Depend on sys_time.
39946         * tests/test-sys_select.c: Test that sys/select.h defines struct
39947         timeval fully.
39948
39949 2008-09-29  Bruno Haible  <bruno@clisp.org>
39950
39951         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
39952         * lib/sys_select.in.h: Likewise.
39953
39954 2008-09-29  Bruno Haible  <bruno@clisp.org>
39955
39956         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
39957
39958 2008-09-29  Bruno Haible  <bruno@clisp.org>
39959
39960         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
39961         Set LIBSOCKET instead of augmenting LIBS.
39962         * modules/sockets (Link): New section.
39963         * modules/sockets-tests (test_sockets_LDADD): New variable.
39964         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
39965         * modules/poll-tests (test_poll_LDADD): New variable.
39966         * NEWS: Document the change.
39967
39968 2008-09-29  Bruno Haible  <bruno@clisp.org>
39969
39970         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
39971         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
39972         ARPA_INET_H directly.
39973         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
39974
39975 2008-09-28  Bruno Haible  <bruno@clisp.org>
39976
39977         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
39978         from gl_HEADER_SYS_SOCKET.
39979         (gl_HEADER_SYS_SOCKET): Invoke it.
39980         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
39981
39982 2008-09-28  Bruno Haible  <bruno@clisp.org>
39983
39984         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
39985         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
39986         Needed on OSF/1 4.0.
39987
39988 2008-09-28  Bruno Haible  <bruno@clisp.org>
39989
39990         Override open more carefully.
39991         * lib/open.c (orig_open): New function.
39992         (rpl_open): Use orig_open instead of open.
39993         * lib/fcntl.in.h: Add special invocation convention.
39994         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
39995         (gl_FUNC_OPEN): Invoke it.
39996
39997         Override freopen more carefully.
39998         * lib/freopen.c (orig_freopen): New function.
39999         (rpl_freopen): Use orig_freopen instead of freopen.
40000         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
40001         (gl_FUNC_FREOPEN): Invoke it.
40002
40003         Override fopen more carefully.
40004         * lib/fopen.c (orig_fopen): New function.
40005         (rpl_fopen): Use orig_fopen instead of fopen.
40006         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
40007         (gl_FUNC_FOPEN): Invoke it.
40008         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
40009
40010 2008-09-28  Bruno Haible  <bruno@clisp.org>
40011
40012         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
40013         SIGPIPE.
40014
40015 2008-09-28  Bruno Haible  <bruno@clisp.org>
40016
40017         * tests/test-sigaction.c (handler, main): Disable the check whether
40018         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
40019         glibc systems with LinuxThreads.
40020
40021 2008-09-28  Bruno Haible  <bruno@clisp.org>
40022
40023         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
40024
40025         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
40026         with AIX xlc.
40027         * lib/fcntl.in.h (open): Likewise.
40028         Reported by Rainer Tammer <tammer@tammer.net>.
40029
40030 2008-09-28  Bruno Haible  <bruno@clisp.org>
40031
40032         * modules/posix_spawnp-tests: New file.
40033         * tests/test-posix_spawn.c: New file.
40034         * tests/test-posix_spawn.in.sh: New file.
40035
40036         New module 'posix_spawnp'.
40037         * modules/posix_spawnp: New file.
40038         * lib/spawnp.c: New file, from GNU libc with modifications.
40039         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
40040
40041         New module 'posix_spawn'.
40042         * modules/posix_spawn: New file.
40043         * lib/spawn.c: New file, from GNU libc with modifications.
40044         * doc/posix-functions/posix_spawn.texi: Mention the new module.
40045
40046         New module 'posix_spawnattr_destroy'.
40047         * modules/posix_spawnattr_destroy: New file.
40048         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
40049         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
40050         module.
40051
40052         New module 'posix_spawnattr_setsigmask'.
40053         * modules/posix_spawnattr_setsigmask: New file.
40054         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
40055         modifications.
40056         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
40057         new module.
40058
40059         New module 'posix_spawnattr_getsigmask'.
40060         * modules/posix_spawnattr_getsigmask: New file.
40061         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
40062         modifications.
40063         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
40064         new module.
40065
40066         New module 'posix_spawnattr_setsigdefault'.
40067         * modules/posix_spawnattr_setsigdefault: New file.
40068         * lib/spawnattr_setdefault.c: New file, from GNU libc with
40069         modifications.
40070         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
40071         new module.
40072
40073         New module 'posix_spawnattr_getsigdefault'.
40074         * modules/posix_spawnattr_getsigdefault: New file.
40075         * lib/spawnattr_getdefault.c: New file, from GNU libc with
40076         modifications.
40077         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
40078         new module.
40079
40080         New module 'posix_spawnattr_setschedpolicy'.
40081         * modules/posix_spawnattr_setschedpolicy: New file.
40082         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
40083         modifications.
40084         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
40085         new module.
40086
40087         New module 'posix_spawnattr_getschedpolicy'.
40088         * modules/posix_spawnattr_getschedpolicy: New file.
40089         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
40090         modifications.
40091         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
40092         new module.
40093
40094         New module 'posix_spawnattr_setschedparam'.
40095         * modules/posix_spawnattr_setschedparam: New file.
40096         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
40097         modifications.
40098         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
40099         new module.
40100
40101         New module 'posix_spawnattr_getschedparam'.
40102         * modules/posix_spawnattr_getschedparam: New file.
40103         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
40104         modifications.
40105         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
40106         new module.
40107
40108         New module 'posix_spawnattr_setpgroup'.
40109         * modules/posix_spawnattr_setpgroup: New file.
40110         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
40111         modifications.
40112         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
40113         module.
40114
40115         New module 'posix_spawnattr_getpgroup'.
40116         * modules/posix_spawnattr_getpgroup: New file.
40117         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
40118         modifications.
40119         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
40120         module.
40121
40122         New module 'posix_spawnattr_setflags'.
40123         * modules/posix_spawnattr_setflags: New file.
40124         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
40125         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
40126         module.
40127
40128         New module 'posix_spawnattr_getflags'.
40129         * modules/posix_spawnattr_getflags: New file.
40130         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
40131         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
40132         module.
40133
40134         New module 'posix_spawnattr_init'.
40135         * modules/posix_spawnattr_init: New file.
40136         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
40137         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
40138         module.
40139
40140         New module 'posix_spawn_file_actions_destroy'.
40141         * modules/posix_spawn_file_actions_destroy: New file.
40142         * lib/spawn_faction_destroy.c: New file, from GNU libc with
40143         modifications.
40144         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
40145         the new module.
40146
40147         New module 'posix_spawn_file_actions_addopen'.
40148         * modules/posix_spawn_file_actions_addopen: New file.
40149         * lib/spawn_faction_addopen.c: New file, from GNU libc with
40150         modifications.
40151         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
40152         the new module.
40153
40154         New module 'posix_spawn_file_actions_adddup2'.
40155         * modules/posix_spawn_file_actions_adddup2: New file.
40156         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
40157         modifications.
40158         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
40159         the new module.
40160
40161         New module 'posix_spawn_file_actions_addclose'.
40162         * modules/posix_spawn_file_actions_addclose: New file.
40163         * lib/spawn_faction_addclose.c: New file, from GNU libc with
40164         modifications.
40165         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
40166         the new module.
40167
40168         New module 'posix_spawn_file_actions_init'.
40169         * modules/posix_spawn_file_actions_init: New file.
40170         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
40171         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
40172         new module.
40173
40174         New module 'posix_spawn-internal'.
40175         * modules/posix_spawn-internal: New file.
40176         * lib/spawn_int.h: New file, from GNU libc with modifications.
40177         * lib/spawni.c: New file, from GNU libc with modifications.
40178         * m4/posix_spawn.m4: New file.
40179
40180         New module 'spawn'.
40181         * modules/spawn: New file.
40182         * lib/spawn.in.h: New file, from GNU libc with modifications.
40183         * m4/spawn_h.m4: New file.
40184         * doc/posix-headers/spawn.texi: Mention the new module.
40185
40186 2008-09-28  Bruno Haible  <bruno@clisp.org>
40187
40188         * modules/sched-tests: New file.
40189         * tests/test-sched.c: New file.
40190
40191         New module 'sched'.
40192         * modules/sched: New file.
40193         * lib/sched.in.h: New file.
40194         * m4/sched_h.m4: New file.
40195         * doc/posix-headers/sched.texi: Mention the new module.
40196
40197 2008-09-27  Eric Blake  <ebb9@byu.net>
40198
40199         Fix previous patch, and tweak references to $0.
40200         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
40201         (func_version, func_gnulib_dir): Don't call this program
40202         gnulib-tool.
40203         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
40204         with using $0 in function.
40205         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
40206         (func_fatal_error): Reuse the name the user invoked us with.
40207
40208 2008-09-27  Bruno Haible  <bruno@clisp.org>
40209
40210         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
40211         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
40212         (gl_ICONV_H): Not here.
40213         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
40214         instead of assigning ICONV_H directly.
40215
40216         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
40217         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
40218         WCHAR_H directly.
40219
40220 2008-09-27  Bruno Haible  <bruno@clisp.org>
40221
40222         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
40223         * modules/arpa_inet (Depends-on): Add link-warning.
40224         (Makefile.am): Insert the definition of GL_LINK-WARNING.
40225         * modules/unistd (Makefile.am): Likewise.
40226
40227 2008-09-26  Bruno Haible  <bruno@clisp.org>
40228
40229         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
40230         variables.
40231         (func_version): Essentially copied from gnulib-tool.
40232         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
40233         func_readlink): Copied from gnulib-tool.
40234
40235 2008-09-26  Bruno Haible  <bruno@clisp.org>
40236
40237         * gnulib-tool (func_version): Change directory to $gnulib_dir before
40238         invoking git-version-gen.
40239
40240 2008-09-26  Bruno Haible  <bruno@clisp.org>
40241
40242         * posix-modules: Update to directory names changed on 2008-01-19.
40243         Remove commas in output before splitting into words. No more need to
40244         avoid 'ftruncate' since 2007-02-19.
40245
40246 2008-09-26  Bruno Haible  <bruno@clisp.org>
40247
40248         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
40249
40250 2008-09-26  Bruno Haible  <bruno@clisp.org>
40251
40252         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
40253         * modules/fwriteerror (Depends-on): Add errno.
40254
40255 2008-09-26  Bruno Haible  <bruno@clisp.org>
40256
40257         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
40258         * tests/test-vc-list-files-cvs.sh: Likewise.
40259
40260 2008-09-26  Bruno Haible  <bruno@clisp.org>
40261
40262         * doc/posix-headers/sys_resource.texi: Reorder items.
40263
40264 2008-09-26  Jim Meyering  <meyering@redhat.com>
40265
40266         fts: tweak inode comparison function
40267         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
40268         inode numbers, as documented.
40269
40270         fts: sort dirent entries on inode number before traversing
40271         This avoids a quadratic, seek-related performance penalty when
40272         operating on a directory containing many entries (measurable at 10k;
40273         3.5 hours at 2 million entries with a cold cache) on certain types
40274         of file systems, including ext3 and ext4, but not tmpfs.
40275         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
40276         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
40277         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
40278         (fs_handles_readdir_ordered_dirents_efficiently): New function.
40279         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
40280         (fts_build): Set the stat.st_ino member from D_INO.
40281         If it is likely to be useful, sort dirent entries on inode number.
40282
40283         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
40284         and the struct statfs.f_type member.
40285         * modules/fts (Depends-on): Add d-ino.
40286
40287 2008-09-26  Bruno Haible  <bruno@clisp.org>
40288
40289         * modules/sigpipe-die (Depends-on): Add sigpipe.
40290
40291         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
40292         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
40293         and GNULIB_STDIO_H_SIGPIPE are set.
40294         * lib/stdio-write.c: New file.
40295         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
40296         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
40297         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
40298         REPLACE_STDIO_WRITE_FUNCS.
40299         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
40300         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
40301         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
40302         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
40303         * modules/stdio (Files): Add lib/stdio-write.c.
40304         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
40305         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
40306         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
40307         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
40308         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
40309         REPLACE_FPRINTF_POSIX.
40310         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
40311         REPLACE_PRINTF_POSIX.
40312         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
40313         REPLACE_VFPRINTF_POSIX.
40314         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
40315         REPLACE_VPRINTF_POSIX.
40316         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
40317         SIGPIPE issue.
40318         * doc/posix-functions/fputc.texi: Likewise.
40319         * doc/posix-functions/fputs.texi: Likewise.
40320         * doc/posix-functions/fwrite.texi: Likewise.
40321         * doc/posix-functions/printf.texi: Likewise.
40322         * doc/posix-functions/putc.texi: Likewise.
40323         * doc/posix-functions/putchar.texi: Likewise.
40324         * doc/posix-functions/puts.texi: Likewise.
40325         * doc/posix-functions/vfprintf.texi: Likewise.
40326         * doc/posix-functions/vprintf.texi: Likewise.
40327
40328         * modules/safe-write (Depends-on): Add write.
40329
40330         * modules/sigpipe-tests: New file.
40331         * tests/test-sigpipe.c: New file.
40332         * tests/test-sigpipe.sh: New file.
40333
40334         * modules/write: New file.
40335         * lib/unistd.in.h: Include <sys/types.h>.
40336         (write): New declaration.
40337         * lib/write.c: New file.
40338         * m4/write.m4: New file.
40339         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
40340         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
40341         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
40342         GNULIB_WRITE, REPLACE_WRITE.
40343         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
40344         and the SIGPIPE issue.
40345
40346         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
40347         (raise): New declaration.
40348         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
40349         (ext_signal): New function.
40350         (rpl_raise): New function.
40351         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
40352         GNULIB_SIGNAL_H_SIGPIPE.
40353         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
40354         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
40355
40356         * modules/sigpipe: New file.
40357         * m4/sigpipe.m4: New file.
40358
40359 2008-09-25  Derek Price  <derek@ximbiot.com>
40360             Bruno Haible  <bruno@clisp.org>
40361
40362         * gnulib-tool (func_import): Report all license incompatibilities, not
40363         just the first one.
40364
40365 2008-09-25  Bruno Haible  <bruno@clisp.org>
40366
40367         * gnulib-tool (func_import): When computing the edits, consider not
40368         only the Makefile.ams that exist but also those that will be generated.
40369
40370 2008-09-25  Simon Josefsson  <simon@josefsson.org>
40371
40372         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
40373         fixes gnulib-tool --test warning about duplicate dependency.
40374
40375 2008-09-25  Bruno Haible  <bruno@clisp.org>
40376
40377         * gnulib-tool: Don't ask the user to perform edits in the generated
40378         Makefile.ams.
40379         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
40380         apply to the Makefile.am being generated.
40381         (func_emit_tests_Makefile_am): Execute edits that apply to the
40382         Makefile.am being generated.
40383         (func_import): Setup list of Makefile.am edits before emitting the
40384         Makefile.ams, not at the end.
40385         (func_create_testdir): Update.
40386         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
40387
40388 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
40389
40390         * gnulib-tool (func_import): Store the --tests-base option in the
40391         comment in gnulib-cache.m4.
40392
40393 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
40394
40395         * NEWS: Document increased portability that sys_select now provides.
40396
40397         * lib/sys_select.in.h: Install select wrapper.
40398         * lib/sys_socket.in.h: Use more descriptive name when there is no
40399         select wrapper.
40400         * lib/winsock-select.c: New.
40401         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
40402         Require gl_HEADER_SYS_SOCKET.
40403         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
40404         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
40405         * tests/test-sys_select.c: Add functional tests.
40406
40407 2008-09-24  Eric Blake  <ebb9@byu.net>
40408
40409         open, fopen: close fd leak in last patch
40410         * lib/open.c (rpl_open): Close fd before returning error.
40411         * lib/fopen.c (rpl_fopen): Close fd before returning error.
40412         * doc/posix-functions/open.texi (open): Document that Irix also
40413         has the bug.
40414         * doc/posix-functions/fopen.texi (fopen): Likewise.
40415         Reported by Paolo Bonzini.
40416
40417 2008-09-24  Bruno Haible  <bruno@clisp.org>
40418
40419         Ensure that a filename ending in a slash cannot be used to access a
40420         non-directory.
40421         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
40422         to check whether it's really a directory.
40423         * lib/fopen.c: Include fcntl.h, unistd.h.
40424         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
40425         and fdopen().
40426         * modules/fopen (Depends-on): Add unistd.
40427         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
40428         * tests/test-fopen.c (main): Likewise.
40429         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
40430         * doc/posix-functions/fopen.texi: Likewise.
40431         Reported by Eric Blake.
40432
40433 2008-09-23  Eric Blake  <ebb9@byu.net>
40434
40435         c-stack: avoid compiler optimizations when provoking overflow
40436         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
40437         recursion harder to optimize, to ensure a stack overflow occurs.
40438         * tests/test-c-stack.c (recurse): Likewise.
40439         Borrowed from libsigsegv.
40440
40441         c-stack: work around Irix sigaltstack bug
40442         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
40443         whether sigaltstack uses wrong end of stack_t (copied in part from
40444         libsigsegv).
40445         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
40446         Irix bug, without requiring an over-allocation.
40447         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
40448         bug.
40449
40450         fopen: document mingw bug on directories
40451         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
40452         not allowing a stream visiting a directory, even though reading
40453         from such a stream is not portable.
40454
40455 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
40456
40457         * lib/poll.c: Rewrite.
40458         * modules/poll: Depend on alloca.
40459
40460 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
40461
40462         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
40463         instead define prototypes for a full set of wrappers.  Ensure
40464         that Cygwin does not use the compatibility code, which is only
40465         for MinGW.
40466         * lib/winsock.c: New.
40467         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
40468         * modules/sys_socket: Add lib/winsock.c.
40469
40470         * modules/poll-tests: Add errno and perror.
40471         * tests/test-poll.c: Use ioctl, not ioctlsocket.
40472
40473 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
40474
40475         * tests/test-poll.c: Downgrade minimum needed Winsock version.
40476
40477 2008-09-23  Bruno Haible  <bruno@clisp.org>
40478
40479         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
40480         * doc/glibc-functions/*: Likewise.
40481
40482 2008-09-23  Simon Josefsson  <simon@josefsson.org>
40483
40484         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
40485         success.
40486
40487 2008-09-22  Eric Blake  <ebb9@byu.net>
40488             Bruno Haible  <bruno@clisp.org>
40489
40490         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
40491         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
40492         supply %A but mishandle pseudo-NaN.
40493         Reported by Simon Josefsson.
40494
40495 2008-09-21  Bruno Haible  <bruno@clisp.org>
40496
40497         * tests/test-lock.c (main): Tweak skip message.
40498         * tests/test-tls.c (main): Likewise.
40499
40500 2008-09-21  Bruno Haible  <bruno@clisp.org>
40501
40502         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
40503         whether 'struct sigaction' has sa_sigaction here...
40504         (gl_PREREQ_SIG_HANDLER_H): ... not here.
40505         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
40506
40507 2008-09-21  Bruno Haible  <bruno@clisp.org>
40508
40509         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
40510         section.
40511         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
40512         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
40513         the new section.
40514         (Support for obsolete systems lacking POSIX:2001): New section.
40515         (String handling <string.h>): Move strdup to the new section.
40516         Suggested by Simon Josefsson and Paolo Bonzini.
40517
40518 2008-09-21  Bruno Haible  <bruno@clisp.org>
40519
40520         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
40521         exponents in %e and %g results on 'long double'. Needed for mingw's
40522         improved *printf functions.
40523         * tests/test-vasprintf-posix.c (test_function): Likewise.
40524         * tests/test-snprintf-posix.h (test_function): Likewise.
40525         * tests/test-sprintf-posix.h (test_function): Likewise.
40526         Reported by Eric Blake.
40527
40528 2008-09-21  Bruno Haible  <bruno@clisp.org>
40529
40530         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
40531         * tests/test-sprintf-posix.h (test_function): Likewise.
40532
40533 2008-09-21  Bruno Haible  <bruno@clisp.org>
40534
40535         * modules/getpass (Depends-on): Add strdup-posix.
40536
40537         New module 'strdup-posix'.
40538         * modules/strdup-posix: New file.
40539         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
40540         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
40541         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
40542         REPLACE_STRDUP.
40543         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
40544         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
40545         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
40546         strdup-posix.
40547
40548         * modules/strdup (Depends-on): Remove malloc-posix.
40549
40550 2008-09-20  Bruno Haible  <bruno@clisp.org>
40551
40552         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
40553         Wildenhues.
40554
40555 2008-09-20  Bruno Haible  <bruno@clisp.org>
40556
40557         Ensure that wint_t gets defined on IRIX 5.3.
40558         * lib/wchar.in.h (wint_t): Define if not defined by the system.
40559         * lib/wctype.in.h (wint_t): Likewise.
40560         (__wctype_wint_t): Remove type.
40561         (isw*): Use wint_t instead of __wctype_wint_t.
40562         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
40563         * modules/wchar (Files): Add m4/wint_t.m4.
40564         (Makefile.am): Substitute HAVE_WINT_T.
40565         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
40566         * tests/test-wctype.c: Check that wint_t is defined.
40567         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
40568         * doc/posix-headers/wctype.texi: Likewise.
40569         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
40570
40571 2008-09-18  Bruno Haible  <bruno@clisp.org>
40572
40573         * gnulib-tool (func_exit): Update comment.
40574
40575 2008-09-18  Simon Josefsson  <simon@josefsson.org>
40576
40577         * modules/getaddrinfo (Depends-on): Remove strdup, this module
40578         assumes strdup exists and does not depend on strdup to return
40579         ENOMEM on out of memory conditions.
40580
40581 2008-09-18  Bruno Haible  <bruno@clisp.org>
40582
40583         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
40584         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
40585         digits for the exponent.
40586
40587 2008-09-18  Jim Meyering  <meyering@redhat.com>
40588             Bruno Haible  <bruno@clisp.org>
40589
40590         * lib/vasnprintf.c (decimal_point_char): Define also if
40591         NEED_PRINTF_INFINITE_LONG_DOUBLE.
40592
40593 2008-09-16  Bruno Haible  <bruno@clisp.org>
40594         and Eric Blake  <ebb9@byu.net>
40595
40596         vasnprintf: support Irix 5.3
40597         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
40598         that mishandle long double infinity.
40599         Reported by Tom G. Christensen.
40600
40601 2008-09-16  Bruno Haible  <bruno@clisp.org>
40602
40603         * doc/glibc-functions/scandir.texi: Mention the function is missing on
40604         Solaris 9.
40605         * doc/glibc-functions/alphasort.texi: Likewise.
40606         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
40607
40608 2008-09-16  Jim Meyering  <meyering@redhat.com>
40609
40610         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
40611         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
40612         a umask modification leak out of a subshell.  Otherwise, the
40613         opensolaris /bin/sh would be accepted and thus cause unwarranted
40614         failures in the coreutils test suite.
40615
40616 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
40617
40618         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
40619         to succeed.
40620
40621 2008-09-16  Jim Meyering  <meyering@redhat.com>
40622
40623         avoid spurious test failure when library is built without ACL support
40624         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
40625         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
40626         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
40627         * tests/test-copy-acl.sh: Likewise.
40628
40629 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40630
40631         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
40632         based on character occurrence counts.
40633
40634 2008-09-15  Eric Blake  <ebb9@byu.net>
40635
40636         tests: avoid some compiler warnings
40637         * tests/test-memchr.c (main): Pass NULL indirectly.
40638         * tests/test-closein.c (main): Avoid unused variable.
40639
40640 2008-09-15  Bruno Haible  <bruno@clisp.org>
40641
40642         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
40643         are missing on OpenBSD 4.0 individually.
40644         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
40645
40646 2008-09-15  Bruno Haible  <bruno@clisp.org>
40647
40648         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
40649         * doc/posix-functions/strerror.texi: Mention also Cygwin.
40650         * doc/posix-functions/perror.texi: Likewise.
40651         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
40652         is missing.
40653         Reported by Eric Blake.
40654
40655         * lib/errno.in.h: Use replacement values >= 2000.
40656         Reported by Eric Blake.
40657
40658 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40659
40660         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
40661         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
40662         limit.
40663         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
40664         compareseq was aborted.
40665
40666 2008-09-14  Bruno Haible  <bruno@clisp.org>
40667
40668         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
40669         yvec_edit_count.
40670         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
40671         (fstrcmp_bounded): Simplify result computation accordingly.
40672
40673 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40674
40675         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
40676         (fstrcmp): Define in terms of fstrcmp_bounded.
40677         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
40678         lower_bound argument.
40679         Return quickly if the result is certainly < lower_bound.
40680         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
40681
40682 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40683
40684         * lib/diffseq.h (EARLY_ABORT): New macro.
40685         (compareseq): Change return type to bool. Return true when EARLY_ABORT
40686         evaluates to true.
40687
40688 2008-09-14  Bruno Haible  <bruno@clisp.org>
40689
40690         * modules/perror-tests: New file.
40691         * tests/test-perror.sh: New file.
40692         * tests/test-perror.c: New file.
40693
40694         New module 'perror'.
40695         * lib/stdio.in.h (perror): New declaration.
40696         * lib/perror.c: New file.
40697         * m4/perror.m4: New file.
40698         * modules/perror: New file.
40699         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
40700         * doc/posix-functions/perror.texi: Mention the perror module.
40701         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
40702         REPLACE_PERROR.
40703         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
40704         REPLACE_PERROR.
40705
40706 2008-09-14  Bruno Haible  <bruno@clisp.org>
40707
40708         * modules/stdio (Makefile.am): Reorder to match the order in
40709         lib/stdio.in.h.
40710         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
40711
40712 2008-09-13  Bruno Haible  <bruno@clisp.org>
40713
40714         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
40715
40716 2008-09-13  Bruno Haible  <bruno@clisp.org>
40717
40718         Extend strerror to cover the added errno values.
40719         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
40720         (rpl_strerror): Provide error messages for the added errno values and
40721         for the WSA* values.
40722         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
40723         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
40724         strerror.
40725         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
40726         * modules/strerror (Depends-on): Add errno.
40727         * doc/posix-functions/strerror.texi: Document the change.
40728         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
40729         and EOVERFLOW.
40730
40731 2008-09-13  Bruno Haible  <bruno@clisp.org>
40732
40733         * modules/EOVERFLOW: Remove file.
40734         * m4/eoverflow.m4: Remove file.
40735         * modules/EOVERFLOW-tests: Remove file.
40736         * tests/test-EOVERFLOW.c: Remove file.
40737         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
40738         * modules/ftell (Depends-on): Likewise.
40739         * modules/getdelim (Depends-on): Likewise.
40740         * modules/getugroups (Depends-on): Likewise.
40741         * modules/poll (Depends-on): Likewise.
40742         * modules/snprintf (Depends-on): Likewise.
40743         * modules/sprintf-posix (Depends-on): Likewise.
40744         * modules/vasnprintf (Depends-on): Likewise.
40745         * modules/vasprintf (Depends-on): Likewise.
40746         * modules/vfprintf-posix (Depends-on): Likewise.
40747         * modules/vsnprintf (Depends-on): Likewise.
40748         * modules/vsprintf-posix (Depends-on): Likewise.
40749         * modules/xvasprintf (Depends-on): Likewise.
40750         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
40751         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
40752         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
40753         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
40754         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
40755         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
40756         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
40757         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
40758         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
40759         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
40760         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
40761         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
40762         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
40763         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
40764         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
40765         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
40766         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
40767         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
40768         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
40769         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
40770         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
40771         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
40772         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
40773         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
40774         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
40775         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
40776         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
40777         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
40778         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
40779         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
40780         * MODULES.html.sh: Remove EOVERFLOW.
40781         * NEWS: Mention the change.
40782
40783 2008-09-13  Bruno Haible  <bruno@clisp.org>
40784
40785         * modules/errno-tests: New file.
40786         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
40787
40788         * lib/errno.in.h: New file.
40789         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
40790         * modules/errno: New file.
40791         * doc/posix-headers/errno.texi: Update documentation.
40792         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
40793
40794 2008-09-13  Bruno Haible  <bruno@clisp.org>
40795
40796         * tests/test-poll.c: Use #if for native Windows, rather than testing
40797         __MSVCRT__.
40798
40799 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
40800             Bruno Haible  <bruno@clisp.org>
40801
40802         * lib/glob.c: Don't include <pwd.h> on native Windows.
40803         (WINDOWS32): New macro.
40804         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
40805
40806 2008-09-13  Bruno Haible  <bruno@clisp.org>
40807
40808         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
40809         (ETIMEDOUT): Remove macro.
40810         (glthread_cond_timedwait_multithreaded): New declaration.
40811         (glthread_cond_timedwait): Use it.
40812         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
40813         (glthread_cond_timedwait_multithreaded): New function.
40814
40815 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
40816
40817         * modules/poll-tests: Do not check for io.h.
40818         * tests/test-poll.c: Check for __MSVCRT__ instead.
40819
40820 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
40821
40822         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
40823         * modules/poll-tests: Add inet_pton, stdbool, sockets.
40824         * tests/test-poll.c: Use them.  Use _pipe on Windows.
40825
40826 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
40827
40828         * modules/poll-tests: New.
40829         * tests/test-poll.c: New.
40830
40831 2008-09-12  Eric Blake  <ebb9@byu.net>
40832
40833         frexp: test for NetBSD failure on -0.0
40834         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
40835         not all, bugs from NetBSD 3.0 have been fixed.
40836         * doc/posix-functions/frexp.texi (frexp): Document bug.
40837         Reported by Thomas Klausner.
40838
40839         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
40840         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
40841         literal -0.0.
40842         Reported by Jonathan C. Patschke <jp@centtech.com>.
40843
40844 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
40845
40846         * lib/glthread/cond.h: Use dummy implementation also if
40847         USE_WIN32_THREADS.
40848
40849 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
40850
40851         * modules/fnmatch-posix (License): Change to LGPLv2+.
40852         * modules/fnmatch-gnu (License): Likewise.
40853
40854 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
40855
40856         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
40857
40858 2008-09-11  Jim Meyering  <meyering@redhat.com>
40859
40860         * users.txt: Add gtk-vnc.
40861
40862 2008-09-08  Simon Josefsson  <simon@josefsson.org>
40863
40864         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
40865         rotate amounts.
40866
40867         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
40868         required for 16-bit and 8-bit rotates.
40869         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
40870         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
40871         UINT8_MAX instead of hard-coded constants.
40872         Suggested by Paul Eggert.
40873
40874 2008-09-07  Bruno Haible  <bruno@clisp.org>
40875
40876         * tests/test-striconveh.c (main): Check behaviour when converting from
40877         UTF-7.
40878
40879         Make striconveh work better with stateful encodings.
40880         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
40881         that iconv does not increment the inptr when returning -1/EINVAL.
40882
40883 2008-09-07  Bruno Haible  <bruno@clisp.org>
40884
40885         * build-aux/config.rpath: Update according to libtool-2.2.6.
40886         * build-aux/config.libpath: Likewise.
40887
40888 2008-09-06  Bruno Haible  <bruno@clisp.org>
40889
40890         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
40891         * lib/freadptr.c (freadptr): Likewise.
40892         * lib/freadseek.c (freadptrinc): Likewise.
40893         Reported by Simon Josefsson.
40894
40895 2008-09-06  Bruno Haible  <bruno@clisp.org>
40896
40897         * modules/freadptr (License): Change to LGPLv2+.
40898         * modules/freadseek (License): Likewise.
40899         Suggested by Eric Blake.
40900
40901         * modules/memchr2 (License): Change to LGPLv2+.
40902         Approved by Eric Blake.
40903
40904 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40905             Bruno Haible  <bruno@clisp.org>
40906
40907         Make gnulib-tool work with native 'sed' on AIX.
40908         * gnulib-tool (sed_noop): New variable.
40909         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
40910         func_add_or_update, func_create_testdir): Use it to initialize sed
40911         script variables.
40912         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
40913
40914 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
40915             Bruno Haible  <bruno@clisp.org>
40916
40917         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
40918         also works after #include directives.
40919
40920 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
40921
40922         getdate.y: reject an out-of-range timezone value
40923         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
40924         the range [-24...+24].  When specified with only one or two digits,
40925         * tests/test-getdate.c: Tests for the fix.
40926         * doc/getdate.texi: Document this change.
40927
40928 2008-09-03  Bruno Haible  <bruno@clisp.org>
40929
40930         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
40931
40932 2008-09-02  Simon Josefsson  <simon@josefsson.org>
40933
40934         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
40935         <bruce.korb@gmail.com> with ideas from Ben Pfaff
40936         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
40937         Blake <ebb9@byu.net>.
40938
40939         * tests/test-bitrotate.c: Add more test vectors.
40940
40941 2008-09-02  Eric Blake  <ebb9@byu.net>
40942
40943         vasnprintf-posix: handle large precision via %.*d
40944         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
40945         when handling it ourselves.
40946         * tests/test-vasnprintf-posix.c (test_function): Add test.
40947         * tests/test-snprintf-posix.h (test_function): Likewise.
40948         * tests/test-sprintf-posix.h (test_function): Likewise.
40949         * tests/test-vasprintf-posix.c (test_function): Likewise.
40950         Reported by Alain Guibert.
40951
40952 2008-09-01  Eric Blake  <ebb9@byu.net>
40953
40954         c-stack: make configure-time check more robust
40955         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
40956         successful sigaction call.
40957         Reported by Tom G. Christensen.
40958
40959 2008-09-01  Bruno Haible  <bruno@clisp.org>
40960
40961         New module 'findprog-lgpl'.
40962         * modules/findprog-lgpl: New file.
40963         * lib/findprog-lgpl.c: New file.
40964         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
40965         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
40966         to decide whether to use strdup or xstrdup, concatenated_filename or
40967         xconcatenated_filename.
40968
40969 2008-09-01  Bruno Haible  <bruno@clisp.org>
40970
40971         Split module 'concat-filename' into 'concat-filename' (LGPL) and
40972         'xconcat-filename' (GPL).
40973         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
40974         (License): Change to LGPLv2+.
40975         * modules/xconcat-filename: New file.
40976         * lib/concat-filename.h (concatenated_filename): Change specification.
40977         (xconcatenated_filename): New declaration.
40978         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
40979         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
40980         memory situations.
40981         * lib/xconcat-filename.c: New file.
40982         * NEWS: Mention the change.
40983         * lib/findprog.c: Include concat-filename.h, not filename.h.
40984         (find_in_path): Use xconcatenated_filename instead of
40985         concatenated_filename.
40986         * lib/javacomp.c: Include concat-filename.h, not filename.h.
40987         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
40988         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
40989         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
40990         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
40991         instead of concatenated_filename.
40992         * lib/javaexec.c: Include concat-filename.h, not filename.h.
40993         (execute_java_class): Use xconcatenated_filename instead of
40994         concatenated_filename.
40995         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
40996         * modules/javacomp (Depends-on): Likewise.
40997         * modules/javaexec (Depends-on): Likewise.
40998
40999 2008-09-01  Bruno Haible  <bruno@clisp.org>
41000
41001         Split module 'filename' into 'filename' and 'concat-filename'.
41002         * modules/filename: Keep only lib/filename.h.
41003         (License): Change to LGPLv2+.
41004         * modules/concat-filename: New file, extracted from modules/filename.
41005         * lib/filename.h (concatenated_filename): Remove declaration.
41006         * lib/concat-filename.h: New file, extracted from lib/filename.h.
41007         * lib/concat-filename.c: Include concat-filename.h.
41008         * NEWS: Mention the change.
41009
41010 2008-09-01  Simon Josefsson  <simon@josefsson.org>
41011
41012         * lib/bitrotate.h (rotl8, rotr8): Add.
41013
41014         * modules/bitrotate (configure.ac): Need
41015         AC_REQUIRE([AC_C_INLINE]).
41016         (Description): Mention stdint.h.  Reported by Bruno Haible
41017         <bruno@clisp.org>.
41018
41019         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
41020         Paolo Bonzini <bonzini@gnu.org>.
41021
41022 2008-08-31  Bruno Haible  <bruno@clisp.org>
41023
41024         Assume Solaris specific bi-arch conventions on Solaris systems.
41025         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
41026         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
41027         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
41028         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
41029         like acl_libdirstem.
41030         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
41031         acl_libdirstem.
41032         * NEWS: Mention the change.
41033         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
41034
41035 2008-08-31  Jim Meyering  <meyering@redhat.com>
41036
41037         * lib/strftime.h: Add comments describing the two added arguments.
41038
41039         remove duplicate #include directives
41040         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
41041         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
41042
41043 2008-08-31  Bruno Haible  <bruno@clisp.org>
41044
41045         New module 'sigpipe-die'.
41046         * modules/sigpipe-die: New file.
41047         * lib/sigpipe-die.h: New file.
41048         * lib/sigpipe-die.c: New file.
41049         * MODULES.html.sh (Signal handling): Add sigpipe-die.
41050
41051 2008-08-31  Bruno Haible  <bruno@clisp.org>
41052
41053         Don't override previously installed signal handlers.
41054         * lib/fatal-signal.c (saved_sigactions): New variable.
41055         (uninstall_handlers): Reset the signal to the saved handler, not
41056         to SIG_DFL (except when ignored).
41057         (install_handlers): Save the previous handlers.
41058
41059 2008-08-30  Bruno Haible  <bruno@clisp.org>
41060
41061         * gnulib-tool (func_reset_sigpipe): New function.
41062         (func_get_automake_snippet, func_modules_transitive_closure,
41063         func_import): Invoke it before a join command that reads from stdin,
41064         to avoid "echo: write error: Broken pipe" error messages on stderr.
41065         Reported by Sam Steingold <sds@gnu.org>.
41066
41067 2008-08-30  Bruno Haible  <bruno@clisp.org>
41068
41069         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
41070         Code copied from m4/open.m4.
41071         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
41072         access and the filename ends in a slash. Code copied from lib/open.c.
41073         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
41074         * tests/test-fopen.c (main): Check against bug with trailing slash.
41075
41076 2008-08-29  Bruno Haible  <bruno@clisp.org>
41077
41078         Avoid some "gcc -pedantic" warnings.
41079         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
41080         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
41081         * lib/dirent.in.h: Likewise.
41082         * lib/fcntl.in.h: Likewise.
41083         * lib/float.in.h: Likewise.
41084         * lib/iconv.in.h: Likewise.
41085         * lib/inttypes.in.h: Likewise.
41086         * lib/locale.in.h: Likewise.
41087         * lib/math.in.h: Likewise.
41088         * lib/netinet_in.in.h: Likewise.
41089         * lib/search.in.h: Likewise.
41090         * lib/signal.in.h: Likewise.
41091         * lib/stdarg.in.h: Likewise.
41092         * lib/stdint.in.h: Likewise.
41093         * lib/stdio.in.h: Likewise.
41094         * lib/stdlib.in.h: Likewise.
41095         * lib/string.in.h: Likewise.
41096         * lib/strings.in.h: Likewise.
41097         * lib/sys_select.in.h: Likewise.
41098         * lib/sys_socket.in.h: Likewise.
41099         * lib/sys_stat.in.h: Likewise.
41100         * lib/sys_time.in.h: Likewise.
41101         * lib/sysexits.in.h: Likewise.
41102         * lib/time.in.h: Likewise.
41103         * lib/unistd.in.h: Likewise.
41104         * lib/wchar.in.h: Likewise.
41105         * lib/wctype.in.h: Likewise.
41106         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
41107         * modules/fchdir (Makefile.am): Likewise.
41108         * modules/fcntl (Makefile.am): Likewise.
41109         * modules/float (Makefile.am): Likewise.
41110         * modules/iconv_open (Makefile.am): Likewise.
41111         * modules/inttypes (Makefile.am): Likewise.
41112         * modules/locale (Makefile.am): Likewise.
41113         * modules/math (Makefile.am): Likewise.
41114         * modules/netinet_in (Makefile.am): Likewise.
41115         * modules/search (Makefile.am): Likewise.
41116         * modules/signal (Makefile.am): Likewise.
41117         * modules/stdarg (Makefile.am): Likewise.
41118         * modules/stdint (Makefile.am): Likewise.
41119         * modules/stdio (Makefile.am): Likewise.
41120         * modules/stdlib (Makefile.am): Likewise.
41121         * modules/string (Makefile.am): Likewise.
41122         * modules/strings (Makefile.am): Likewise.
41123         * modules/sys_select (Makefile.am): Likewise.
41124         * modules/sys_socket (Makefile.am): Likewise.
41125         * modules/sys_stat (Makefile.am): Likewise.
41126         * modules/sys_time (Makefile.am): Likewise.
41127         * modules/sysexits (Makefile.am): Likewise.
41128         * modules/time (Makefile.am): Likewise.
41129         * modules/unistd (Makefile.am): Likewise.
41130         * modules/wchar (Makefile.am): Likewise.
41131         * modules/wctype (Makefile.am): Likewise.
41132         Reported by Reuben Thomas <rrt@sc3d.org>.
41133
41134 2008-08-29  Bruno Haible  <bruno@clisp.org>
41135
41136         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
41137         any more.
41138
41139 2008-08-29  Simon Josefsson  <simon@josefsson.org>
41140
41141         * MODULES.html.sh (Misc): Add bitrotate.
41142
41143         * modules/bitrotate: New file.
41144
41145         * lib/bitrotate.h: New file.
41146
41147         * modules/bitrotate-tests: New file.
41148
41149         * tests/test-bitrotate.c: New file.
41150
41151         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
41152         on the bitrotate module.
41153
41154         * lib/arctwo.c: Use new bitrotate module.
41155
41156 2008-08-29  Jim Meyering  <meyering@redhat.com>
41157
41158         bootstrap: merge changes from coreutils
41159         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
41160         of copied files.  Remove a kludge, now that this is fixed.
41161         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
41162         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
41163         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
41164
41165 2008-08-29  Bruno Haible  <bruno@clisp.org>
41166
41167         * MODULES.html.sh: Remove --cvs-urls option.
41168
41169 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
41170
41171         maint.mk: adjust to file name change
41172         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
41173
41174 2008-08-28  Jim Meyering  <meyering@redhat.com>
41175
41176         * modules/getndelim2 (License): Relicense to LGPLv2+.
41177         Approved by Richard Stallman for the version of 1995, and by
41178         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
41179
41180 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
41181
41182         * lib/getdelim.c (flockfile, funlockfile): Make all of them
41183         dummy if one is not available.  Do not touch them if
41184         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
41185         (getc_maybe_unlocked): New.
41186         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
41187
41188 2008-08-26  Eric Blake  <ebb9@byu.net>
41189
41190         doc/INSTALL: resync from autoconf
41191         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
41192         (INSTALL_PRELUDE): Delete; this is done more efficiently by
41193         moving...
41194         * install.texi [!autoconf]: ...here.  Resync from autoconf.
41195         * INSTALL: Regenerate.
41196         * INSTALL.ISO: New file.
41197         * INSTALL.UTF-8: Likewise.
41198
41199 2008-08-26  Jim Meyering  <meyering@redhat.com>
41200
41201         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
41202         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
41203         these definitions conditional, so that they may be overridden, too.
41204
41205 2008-08-26  Bruno Haible  <bruno@clisp.org>
41206
41207         Generate INSTALL file variants with prettier quotes.
41208         * doc/Makefile (INSTALL_PRELUDE): New macro.
41209         (INSTALL): Use it.
41210         (INSTALL.ISO, INSTALL.UTF-8): New rules.
41211
41212 2008-08-26  Bruno Haible  <bruno@clisp.org>
41213
41214         Run makeinfo in an English locale.
41215         * doc/Makefile (MAKEINFO): New variable.
41216
41217 2008-08-26  Bruno Haible  <bruno@clisp.org>
41218
41219         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
41220         Suggested by Eric Blake.
41221
41222 2008-08-25  Bruno Haible  <bruno@clisp.org>
41223
41224         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
41225
41226 2008-08-25  Eric Blake  <ebb9@byu.net>
41227
41228         c-stack: test that stack overflow can be caught
41229         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
41230         that platform allows handling stack overflow; at least OS/2 EMX
41231         has sigaltstack, but crashes before transferring control to
41232         handler on stack overflow.
41233         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
41234         check for HAVE_STACK_OVERFLOW_HANDLING.
41235         Reported by Elbert Pol.
41236
41237 2008-08-25  Bruno Haible  <bruno@clisp.org>
41238
41239         * doc/posix-functions/strftime.texi: Fix description of strftime
41240         module.
41241
41242 2008-08-24  Bruno Haible  <bruno@clisp.org>
41243
41244         * tests/uniwidth/test-uc_width2.c: New file.
41245         * tests/uniwidth/test-uc_width2.sh: New file.
41246         * modules/uniwidth/width-tests (Files): Add the new files.
41247         (TESTS): Add uniwidth/test-uc_width2.sh.
41248         (TESTS_ENVIRONMENT): New variable.
41249         (check_PROGRAMS): Add test-uc_width2.
41250         (test_uc_width2_SOURCES): New variable.
41251
41252         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
41253         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
41254         not 0x00AB.
41255         Reported by Alexander V. Lukyanov <lav@netis.ru>.
41256
41257 2008-08-22  Eric Blake  <ebb9@byu.net>
41258
41259         test-lock, test-tls: mention why a test is skipped
41260         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
41261         skipped.
41262         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
41263
41264         count-one-bits: relax license
41265         * modules/count-one-bits (License): Relicense to LGPLv2+.
41266         Suggested by Ludovic Courtès, approved by Ben Pfaff.
41267
41268 2008-08-22  Andreas Schwab  <schwab@suse.de>
41269
41270         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
41271         Remove spurious space in assignment.
41272
41273 2008-08-21  Simon Josefsson  <simon@josefsson.org>
41274
41275         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
41276         Paul Eggert <eggert@CS.UCLA.EDU>.
41277
41278 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
41279
41280         * modules/gettext: Add m4/threadlib.m4.
41281
41282 2008-08-19  Eric Blake  <ebb9@byu.net>
41283
41284         test-c-stack: fix compilation failure on FreeBSD 5.0
41285         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
41286         headers before <sys/resource.h>.
41287         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
41288         the bug.
41289         Reported by Nelson H. F. Beebe.
41290
41291         strverscmp: migrate from "strverscmp.h" to <string.h>
41292         * modules/string (Makefile.am): Add new hooks.
41293         * modules/strverscmp (Files): Remove strverscmp.h.
41294         (Depends-on): Add string.
41295         (configure.ac): Add indicator.
41296         (Include): Mention new header.
41297         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
41298         defaults.
41299         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
41300         results.
41301         * lib/strverscmp.h: Delete.
41302         * lib/string.in.h (strverscmp): Provide declaration, when needed.
41303         * tests/test-strverscmp.c (includes): Adjust client.
41304         * lib/check-version.c (includes): Likewise.
41305         * NEWS: Document the change.
41306
41307         strverscmp: add unit test
41308         * modules/strverscmp-tests: New file.
41309         * tests/test-strverscmp.c: Likewise.
41310
41311 2008-08-19  Simon Josefsson  <simon@josefsson.org>
41312
41313         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
41314         regarding Windows crypto stuff, from Mono.
41315
41316 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
41317
41318         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
41319         if present, for intel RND.  Return error on failures.
41320
41321 2008-08-18  Ben Pfaff  <blp@gnu.org>
41322
41323         gitlog-to-changelog: give better diagnostic for failed pipe-open
41324         * build-aux/gitlog-to-changelog: Improve error message: suggest
41325         that the version of Git may be too old.
41326
41327 2008-08-18  Simon Josefsson  <simon@josefsson.org>
41328
41329         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
41330         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
41331
41332 2008-08-18  Bruno Haible  <bruno@clisp.org>
41333
41334         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
41335         pthread_in_use().
41336
41337 2008-08-18  Bruno Haible  <bruno@clisp.org>
41338
41339         * lib/glthread/threadlib.c: Include <pthread.h>.
41340
41341 2008-08-18  Bruno Haible  <bruno@clisp.org>
41342
41343         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
41344         glthread_recursive_lock_* macros.
41345         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
41346         Fix syntax error.
41347
41348 2008-08-18  Bruno Haible  <bruno@clisp.org>
41349
41350         * lib/glthread/thread.c: Avoid forcing a context switch right after
41351         thread creation.
41352
41353 2008-08-17  Bruno Haible  <bruno@clisp.org>
41354
41355         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
41356         * lib/glthread/thread.h: Provide Win32 specific implementation.
41357         * modules/thread (Files): Add lib/glthread/thread.c.
41358         (Depends-on): Add lock.
41359         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
41360
41361 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
41362
41363         New module 'yield'.
41364         * modules/yield: New file.
41365         * lib/glthread/yield.h: New file.
41366         * m4/yield.m4: New file.
41367         * MODULES.html.sh (Multithreading): Add yield.
41368
41369 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
41370
41371         New module 'thread'.
41372         * modules/thread: New file.
41373         * lib/glthread/thread.h: New file.
41374         * m4/thread.m4: New file.
41375         * MODULES.html.sh (Multithreading): Add thread.
41376
41377 2008-08-17  Bruno Haible  <bruno@clisp.org>
41378
41379         * lib/glthread/lock.h: Include <stdlib.h> always.
41380         * lib/glthread/tls.h: Likewise.
41381         * lib/glthread/cond.h: Likewise.
41382
41383 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
41384
41385         New module 'cond'.
41386         * modules/cond: New file.
41387         * lib/glthread/cond.h: New file.
41388         * lib/glthread/cond.c: New file.
41389         * m4/cond.m4: New file.
41390         * MODULES.html.sh (Multithreading): Add cond.
41391
41392 2008-08-16  Eric Blake  <ebb9@byu.net>
41393
41394         c-stack: fix regression on Irix 5.3 from 2008-06-21
41395         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
41396         sa_sigaction...
41397         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
41398         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
41399         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
41400         * modules/signal (Makefile.am): Use the value.
41401         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
41402         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
41403         * doc/posix-headers/signal.texi (signal.h): Document this
41404         portability issue.
41405         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
41406         Reported by Tom G. Christensen.
41407
41408 2008-08-17  Bruno Haible  <bruno@clisp.org>
41409
41410         New module 'threadlib'.
41411         * modules/threadlib: New file.
41412         * lib/glthread/threadlib.c: New file, extracted from
41413         lib/glthread/lock.c.
41414         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
41415         functions.
41416         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
41417         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
41418         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
41419         macros.
41420         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
41421         (gl_DISABLE_THREADS): Remove macro.
41422         * modules/lock (Files): Remove build-aux/config.rpath.
41423         (Depends-on): Remove havelib. Add threadlib.
41424         (configure.ac-early): Remove section.
41425         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
41426         * modules/tls (Depends-on): Remove lock. Add threadlib.
41427         (Link): New section, copied from threadlib.
41428         * MODULES.html.sh (Multithreading): Add threadlib.
41429
41430 2008-08-14  Bruno Haible  <bruno@clisp.org>
41431
41432         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
41433         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
41434         glthread_rwlock_unlock, glthread_rwlock_destroy,
41435         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
41436         glthread_recursive_lock_destroy): Define as macros always.
41437         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
41438         glthread_lock_lock.
41439         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
41440         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
41441         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
41442         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
41443         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
41444         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
41445         (glthread_recursive_lock_lock_func): Renamed from
41446         glthread_recursive_lock_lock.
41447         (glthread_recursive_lock_unlock_func): Renamed from
41448         glthread_recursive_lock_unlock.
41449         (glthread_recursive_lock_destroy_func): Renamed from
41450         glthread_recursive_lock_destroy.
41451
41452 2008-08-14  Bruno Haible  <bruno@clisp.org>
41453
41454         * lib/glthread/lock.h: Renamed from lib/lock.h.
41455         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
41456         * lib/glthread/tls.h: Renamed from lib/tls.h.
41457         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
41458         * lib/fstrcmp.c: Update includes.
41459         * lib/strsignal.c: Update includes.
41460         * modules/lock (Files, Makefile.am): Update.
41461         (Include): Change to "glthread/lock.h".
41462         * modules/tls (Files, Makefile.am): Update.
41463         (Include): Change to "glthread/tls.h".
41464         * tests/test-lock.c: Update includes.
41465         * tests/test-tls.c: Update includes.
41466         * NEWS: Mention the renamed header files.
41467
41468 2008-08-11  Jim Meyering  <meyering@redhat.com>
41469
41470         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
41471
41472 2008-08-11  Eric Blake  <ebb9@byu.net>
41473
41474         test-c-stack: avoid C99-ism
41475         * tests/test-c-stack.c (main): Fix whitespace, move declaration
41476         before statement.
41477         Reported by Alain Guibert.
41478
41479 2008-08-10  Jim Meyering  <meyering@redhat.com>
41480
41481         ensure that return value of uinttostr et al are not ignored
41482         * lib/inttostr.h (__GNUC_PREREQ): Define.
41483         (__attribute_warn_unused_result__): Define.
41484         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
41485
41486 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
41487
41488         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
41489         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
41490
41491 2008-08-07  Jim Meyering  <meyering@redhat.com>
41492
41493         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
41494
41495         * modules/mkstemp (License): Relicense under LGPLv2+.
41496         * modules/tempname (License): Likewise.
41497
41498 2008-08-06  Bruno Haible  <bruno@clisp.org>
41499
41500         * lib/poll.c (poll): Further micro-optimization.
41501
41502 2008-08-06  Jim Meyering  <meyering@redhat.com>
41503
41504         inet_pton.c: use locale-independent tolower
41505         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
41506         (inet_pton6): Use c_tolower rather than tolower.
41507         * modules/inet_pton (Depends-on): Add c-ctype.
41508
41509 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
41510
41511         * lib/poll.c (poll): Avoid division when timeout is 0, cache
41512         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
41513
41514 2008-08-06  Jim Meyering  <meyering@redhat.com>
41515
41516         * modules/inet_pton (License): Relicense under LGPLv2+.
41517
41518 2008-08-03  Bruno Haible  <bruno@clisp.org>
41519
41520         Additional non-aborting API for lock and tls.
41521         * lib/lock.h: Include <errno.h>.
41522         (glthread_lock_init): New macro/function.
41523         (gl_lock_init): Define as wrapper around glthread_lock_init.
41524         (glthread_lock_lock): New macro/function.
41525         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
41526         (glthread_lock_unlock): New macro/function.
41527         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
41528         (glthread_lock_destroy): New macro/function.
41529         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
41530         (glthread_rwlock_init): New macro/function.
41531         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
41532         (glthread_rwlock_rdlock): New macro/function.
41533         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
41534         (glthread_rwlock_wrlock): New macro/function.
41535         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
41536         (glthread_rwlock_unlock): New macro/function.
41537         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
41538         (glthread_rwlock_destroy): New macro/function.
41539         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
41540         (glthread_recursive_lock_init): New macro/function.
41541         (gl_recursive_lock_init): Define as wrapper around
41542         glthread_recursive_lock_init.
41543         (glthread_recursive_lock_lock): New macro/function.
41544         (gl_recursive_lock_lock): Define as wrapper around
41545         glthread_recursive_lock_lock.
41546         (glthread_recursive_lock_unlock): New macro/function.
41547         (gl_recursive_lock_unlock): Define as wrapper around
41548         glthread_recursive_lock_unlock.
41549         (glthread_recursive_lock_destroy): New macro/function.
41550         (gl_recursive_lock_destroy): Define as wrapper around
41551         glthread_recursive_lock_destroy.
41552         (glthread_once): New macro/function.
41553         (gl_once): Define as wrapper around glthread_once.
41554         Update function declarations.
41555         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
41556         glthread_rwlock_init. Return error code.
41557         (glthread_rwlock_rdlock_multithreaded): Renamed from
41558         glthread_rwlock_rdlock. Return error code.
41559         (glthread_rwlock_wrlock_multithreaded): Renamed from
41560         glthread_rwlock_wrlock. Return error code.
41561         (glthread_rwlock_unlock_multithreaded): Renamed from
41562         glthread_rwlock_unlock. Return error code.
41563         (glthread_rwlock_destroy_multithreaded): Renamed from
41564         glthread_rwlock_destroy. Return error code.
41565         (glthread_recursive_lock_init_multithreaded): Renamed from
41566         glthread_recursive_lock_init. Return error code.
41567         (glthread_recursive_lock_lock_multithreaded): Renamed from
41568         glthread_recursive_lock_lock. Return error code.
41569         (glthread_recursive_lock_unlock_multithreaded): Renamed from
41570         glthread_recursive_lock_unlock. Return error code.
41571         (glthread_recursive_lock_destroy_multithreaded): Renamed from
41572         glthread_recursive_lock_destroy. Return error code.
41573         (glthread_once_call): Make static.
41574         (glthread_once_multithreaded): Renamed from glthread_once.
41575         * lib/tls.h: Include <errno.h>.
41576         (glthread_tls_key_init): New macro/function.
41577         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
41578         (glthread_tls_set): New macro/function.
41579         (gl_tls_set): Define as wrapper around glthread_tls_set.
41580         (glthread_tls_key_destroy): New macro/function.
41581         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
41582         Update function declarations.
41583         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
41584         glthread_tls_get.
41585         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
41586
41587 2008-08-04  Eric Blake  <ebb9@byu.net>
41588
41589         gnumakefile: use space, not TAB, outside of targets
41590         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
41591
41592 2008-08-02  Jim Meyering  <meyering@redhat.com>
41593
41594         getdate.y: avoid locale-dependent date parsing failure
41595         In Turkish locales, getdate would fail to recognize keywords
41596         containing a lowercase "i".  The solution is not to rely on
41597         locale-sensitive case-conversion.
41598         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
41599         (lookup_word): Use c_toupper in place of toupper.
41600         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
41601         Reported by Vefa Bicakci <bicave@superonline.com> in
41602         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
41603         * modules/getdate (Depends-on): Add c-ctype.
41604
41605 2008-08-02  Bruno Haible  <bruno@clisp.org>
41606
41607         * gnulib-tool (func_import): When updating or creating a .gitignore
41608         file, prepend each added line with a slash, and ignore leading slashes
41609         from the existing lines.
41610         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
41611
41612 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41613
41614         Portability fix for GNU make 3.79.1.
41615         * top/GNUmakefile: Avoid 'else COND', which older GNU make
41616         versions do not understand.
41617
41618 2008-08-01  Bruno Haible  <bruno@clisp.org>
41619
41620         Work around bug of HP-UX 10.20 cc with -0.0 literal.
41621         * tests/test-isnanf.h (zero): New variable.
41622         (main): Avoid literal -0.0f.
41623         * tests/test-isnand.h (zero): New variable.
41624         (main): Avoid literal -0.0.
41625         * tests/test-isnanl.h (zero): New variable.
41626         (main): Avoid literal -0.0L.
41627         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
41628         (test_float, test_double, test_long_double): Avoid literals -0.0f,
41629         -0.0, -0.0L.
41630         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
41631         (test_signbitd): Avoid literal -0.0.
41632         (test_signbitl): Avoid literal -0.0L.
41633         * tests/test-ceilf1.c (zero): New variable.
41634         (main): Avoid literal -0.0f.
41635         * tests/test-ceill.c (zero): New variable.
41636         (main): Avoid literal -0.0L.
41637         * tests/test-floorf1.c (zero): New variable.
41638         (main): Avoid literal -0.0f.
41639         * tests/test-floorl.c (zero): New variable.
41640         (main): Avoid literal -0.0L.
41641         * tests/test-roundf1.c (zero): New variable.
41642         (main): Avoid literal -0.0f.
41643         * tests/test-round1.c (zero): New variable.
41644         (main): Avoid literal -0.0.
41645         * tests/test-roundl.c (zero): New variable.
41646         (main): Avoid literal -0.0L.
41647         * tests/test-truncf1.c (zero): New variable.
41648         (main): Avoid literal -0.0f.
41649         * tests/test-trunc1.c (zero): New variable.
41650         (main): Avoid literal -0.0.
41651         * tests/test-truncl.c (zero): New variable.
41652         (main): Avoid literal -0.0L.
41653         * tests/test-frexp.c (zero): New variable.
41654         (main): Avoid literal -0.0.
41655         * tests/test-frexpl.c (zero): New variable.
41656         (main): Avoid literal -0.0L.
41657         * tests/test-ldexpl.c (zero): New variable.
41658         (main): Avoid literal -0.0L.
41659         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
41660         (zerod, zerol): New variables.
41661         (test_function): Avoid literals -0.0, -0.0L.
41662         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
41663         (zerod, zerol): New variables.
41664         (test_function): Avoid literals -0.0, -0.0L.
41665         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
41666         (zerod, zerol): New variables.
41667         (test_function): Avoid literals -0.0, -0.0L.
41668         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
41669         (zerod, zerol): New variables.
41670         (test_function): Avoid literals -0.0, -0.0L.
41671         * tests/test-strtod.c (zero): New variable.
41672         (main): Avoid literal -0.0.
41673         Reported by Jonathan C. Patschke <jp@centtech.com>.
41674
41675 2008-07-31  Jim Meyering  <meyering@redhat.com>
41676
41677         sha256.h: correct definition of SHA224_DIGEST_SIZE
41678         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
41679         Reported by Paulie Pena IV <paulie4@gmail.com>.
41680         Define as 224 / 8, rather than as a literal.
41681         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
41682         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
41683         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
41684
41685 2008-07-31  Bruno Haible  <bruno@clisp.org>
41686
41687         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
41688         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
41689         Reported by Jonathan Patschke <jp@centtech.com>.
41690
41691 2008-07-31  Bruno Haible  <bruno@clisp.org>
41692
41693         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
41694         Reported by Paolo Bonzini <bonzini@gnu.org>.
41695
41696 2008-07-30  Eric Blake  <ebb9@byu.net>
41697
41698         test-strtod: allow compilation without -lm
41699         * tests/test-strtod.c (main): Avoid link dependence on fabs.
41700         Reported by Dennis Clarke <blastwave@gmail.com>.
41701
41702 2008-07-28  Jim Meyering  <meyering@redhat.com>
41703
41704         bootstrap: work also when there are no .po files in po/
41705         * build-aux/bootstrap (update_po_files): Complete the change
41706         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
41707
41708 2008-07-27  Jim Meyering  <meyering@redhat.com>
41709
41710         * users.txt: Add zile.
41711
41712 2008-07-26  Ben Pfaff  <blp@gnu.org>
41713
41714         Add missing dependencies on new m4/exponent[fdl].m4 files.
41715         * modules/isnanf-nolibm: Add m4/exponentf.m4.
41716         * modules/isnand-nolibm: Add m4/exponentd.m4.
41717         * modules/isnanl-nolibm: Add m4/exponentl.m4.
41718         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
41719         m4/isnan[fdl].m4, because the macros actually used moved.
41720         Reported by Jim Meyering.
41721
41722 2008-07-14  Ben Pfaff  <blp@gnu.org>
41723
41724         Add isinf module.
41725         * lib/isinf.c: New file.
41726         * lib/math.in.h: Define isinf macro if we have decided to replace
41727         it.
41728         * m4/isinf.m4: New file.
41729         * m4/math_h.m4: Initialize and substitute variables for isinf
41730         module.
41731         * modules/isinf: New file.
41732         * modules/isinf-tests: New file.
41733         * modules/math: Add substitutions for new module.
41734         * tests/test-isinf.c: New file.
41735         * doc/posix-functions/isinf.texi: Mention new module.
41736         * MODULES.html.sh: Mention new module.
41737
41738 2008-07-14  Ben Pfaff  <blp@gnu.org>
41739
41740         Factor out some macros for use by additional modules.
41741         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
41742         exponentf.m4.
41743         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
41744         exponentd.m4.
41745         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
41746         file exponentl.m4.
41747         * m4/exponentf.m4: New file.
41748         * m4/exponentd.m4: New file.
41749         * m4/exponentl.m4: New file.
41750         * modules/isnanf: Use new file m4/exponentf.m4.
41751         * modules/isnand: Use new file m4/exponentd.m4.
41752         * modules/isnanl: Use new file m4/exponentl.m4.
41753
41754 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
41755
41756         mktime.c: normalize tp->tm_isdst value to -1/0/1.
41757         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
41758         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
41759         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
41760
41761         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
41762         readlink on platforms without PATH_MAX.
41763
41764 2008-07-21  Eric Blake  <ebb9@byu.net>
41765
41766         Warn, not fail, on stale version.
41767         * top/GNUmakefile (_curr-ver): Tone down previous patch.
41768
41769         Don't allow installation with stale devel version number.
41770         * top/GNUmakefile (_is-install-target): New macro.
41771         (_curr-ver): Forbid installation with stale version number.
41772
41773 2008-07-20  Bruno Haible  <bruno@clisp.org>
41774
41775         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
41776         TESTS_ENVIRONMENT.
41777         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
41778
41779 2008-07-20  Bruno Haible  <bruno@clisp.org>
41780
41781         * lib/c-stack.h (c_stack_action): Add documentation.
41782         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
41783
41784 2008-07-20  Bruno Haible  <bruno@clisp.org>
41785
41786         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
41787         * modules/readlink (License): Likewise.
41788
41789 2008-07-17  Eric Blake  <ebb9@byu.net>
41790
41791         * modules/c-stack (Link): Fix typo.
41792
41793         Make c-stack use libsigsegv, when available.
41794         * modules/c-stack (Depends-on): Add libsigsegv.
41795         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
41796         needed.
41797         * lib/c-stack.c (SIGSTKSZ): Define fallback.
41798         (segv_handler, overflow_handler, c_stack_action)
41799         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
41800         implementation when libsigsegv is available, but only when using
41801         the library is necessary.
41802         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
41803         comment, explaining why XSI check fails on Linux.
41804         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
41805         * tests/test-c-stack2.sh: Tweak skip message.
41806         * NEWS: Document new link-time requirements.
41807
41808 2008-07-16  Eric Blake  <ebb9@byu.net>
41809
41810         c-stack: Expose false positives when not using libsigsegv.
41811         * modules/c-stack-tests (Files): Expand test.
41812         * tests/test-c-stack.c (main): Add means to conditionally trigger
41813         non-overflow SIGSEGV.
41814         * tests/test-c-stack2.sh: New file.
41815
41816 2008-07-14  Bruno Haible  <bruno@clisp.org>
41817
41818         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
41819         Reported by Eric Blake.
41820
41821 2008-07-14  Sam Steingold  <sds@gnu.org>
41822             Bruno Haible  <bruno@clisp.org>
41823
41824         New module libsigsegv.
41825         * modules/libsigsegv: New file.
41826         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
41827         modifications.
41828         * MODULES.html.sh (Signal handling): New section.
41829
41830 2008-07-14  Bruno Haible  <bruno@clisp.org>
41831
41832         * modules/unictype/ctype-* (Description): Add the word "function".
41833         Improves the resulting doc in MODULES.html.
41834
41835 2008-07-12  Ben Pfaff  <blp@gnu.org>
41836
41837         Add longlong module.
41838         * modules/longlong: New file.
41839
41840 2008-07-12  Bruno Haible  <bruno@clisp.org>
41841
41842         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
41843         to empty.
41844
41845 2008-07-10  Ben Pfaff  <blp@gnu.org>
41846
41847         Add isnan module.
41848         * doc/posix-functions/isnan.texi: Mention new module.
41849         * lib/math.in.h: Define isnan macro if we have decided to replace
41850         it.
41851         * m4/isnan.m4: New file.
41852         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
41853         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
41854         also.
41855         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
41856         redundancy.
41857         * m4/math_h.m4: Initialize and substitute variables for isnan
41858         module.
41859         * modules/isnan: New file.
41860         * modules/isnan-tests: New file.
41861         * modules/math: Add substitutions for new module.
41862         * tests/test-isnan.c: New file.
41863         * MODULES.html.sh: Mention new module.
41864
41865 2008-07-10  Ben Pfaff  <blp@gnu.org>
41866
41867         Add isnanf module.
41868         * lib/isnanf.m4: New file.
41869         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
41870         (gl_HAVE_ISNANF_IN_LIBM): New macro.
41871         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
41872         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
41873         * modules/isnanf: New file.
41874         * modules/isnanf-tests: New file.
41875         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
41876         files.
41877         * tests/test-isnanf-nolibm.c: factored most of its contents into
41878         new file tests/test-isnanf.h.
41879         * tests/test-isnanf.h: New file.
41880         * tests/test-isnanf.c: New file.
41881         * MODULES.html.sh: Mention new module.
41882         * doc/glibc-functions/isnanf.texi: Mention new module.
41883
41884 2008-07-10  Ben Pfaff  <blp@gnu.org>
41885
41886         Add isnand module.
41887         * lib/isnand.h: New file.
41888         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
41889         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
41890         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
41891         functionality also.
41892         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
41893         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
41894         (gl_HAVE_ISNAND_IN_LIBM): New macro.
41895         * modules/isnand: New file.
41896         * modules/isnand-tests: New file.
41897         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
41898         files.
41899         * tests/test-isnand-nolibm.c: factored most of its contents into
41900         new file tests/test-isnand.h.
41901         * tests/test-isnand.h: New file.
41902         * tests/test-isnand.c: New file.
41903         * MODULES.html.sh: Mention new module.
41904
41905 2008-07-10  Ben Pfaff  <blp@gnu.org>
41906
41907         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
41908         * lib/isnand.h: Rename lib/isnand-nolibm.h.
41909         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
41910         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
41911         * modules/isnanf-nolibm: Update references to renamed files.
41912         * modules/isnand-nolibm: Likewise.
41913         * modules/isnanf-nolibm-tests: Likewise.
41914         * modules/isnand-nolibm-tests: Likewise.
41915         * lib/frexp.c: Likewise.
41916         * lib/isfinite.c: Likewise.
41917         * lib/signbitd.c: Likewise.
41918         * lib/signbitf.c: Likewise.
41919         * lib/vasnprintf.c: Likewise.
41920         * tests/test-ceilf1.c: Likewise.
41921         * tests/test-ceilf2.c: Likewise.
41922         * tests/test-floorf1.c: Likewise.
41923         * tests/test-floorf2.c: Likewise.
41924         * tests/test-frexp.c: Likewise.
41925         * tests/test-round1.c: Likewise.
41926         * tests/test-round2.c: Likewise.
41927         * tests/test-roundf1.c: Likewise.
41928         * tests/test-strtod.c: Likewise.
41929         * tests/test-trunc1.c: Likewise.
41930         * tests/test-trunc2.c: Likewise.
41931         * tests/test-truncf1.c: Likewise.
41932         * tests/test-truncf2.c: Likewise.
41933         * NEWS: Mention the renamed header files.
41934
41935 2008-07-11  Jim Meyering  <meyering@redhat.com>
41936
41937         vc-list-files: make the last-resort awk code more portable
41938         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
41939         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
41940         does not support it.
41941
41942 2008-07-10  Eric Blake  <ebb9@byu.net>
41943
41944         Work with tar's bootstrap.
41945         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
41946         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
41947         an m4 comment.
41948
41949 2008-07-09  Jim Meyering  <meyering@redhat.com>
41950
41951         posix-shell.m4: fix typo that made this test malfunction
41952         * m4/posix-shell.m4: Remove capitalization in variable name.
41953
41954 2008-07-08  Bruno Haible  <bruno@clisp.org>
41955
41956         * m4/onceonly.m4: Update comments.
41957         Reported by Ben Pfaff <blp@cs.stanford.edu>.
41958
41959 2008-07-04  Jim Meyering  <meyering@redhat.com>
41960
41961         * users.txt: Add vc-dwim.
41962         (bison, coreutils): Use the gitweb URL.
41963
41964 2008-07-03  Jim Meyering  <meyering@redhat.com>
41965
41966         * users.txt: Add libffcall.  From Sam Steingold.
41967
41968 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
41969
41970         getdate.y: do not ignore TZ with relative day, month or year offset
41971         * lib/getdate.y (get_date): Move the tz-handling block to follow the
41972         relative-date-handling, since otherwise, the latter would clobber the
41973         sole output (an updated Start value) of the tz-handling block.
41974         * tests/test-getdate.c: Tests for the fix
41975
41976 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41977
41978         Recognize 'foo_LIBRARIES += libgnu.a'.
41979         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
41980         makefile snippet has already specified an installation location,
41981         also using '+='.
41982
41983 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
41984
41985         getdate.y: factor out common actions
41986         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
41987         Use them in place of open-coded actions.
41988
41989 2008-07-01  Simon Josefsson  <simon@josefsson.org>
41990
41991         Add self-test for getdate module.
41992         * modules/getdate-tests: New file.
41993         * tests/test-getdate.c: New file.
41994
41995 2008-06-29  Bruno Haible  <bruno@clisp.org>
41996
41997         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
41998         .gitignore.
41999         Reported by Sylvain Beucler <beuc@beuc.net>.
42000
42001 2008-06-29  Bruno Haible  <bruno@clisp.org>
42002
42003         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
42004         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
42005
42006 2008-06-29  Bruno Haible  <bruno@clisp.org>
42007
42008         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
42009         EXTRA_DIST.
42010         Reported by Sylvain Beucler <beuc@beuc.net>.
42011
42012 2008-06-26  Jim Meyering  <meyering@redhat.com>
42013
42014         make several modules depend on the "open" module
42015         This provides slightly increased consistency when opening-for-write
42016         the name of a non-directory spelled with a trailing slash.
42017         * modules/chdir-safer: Likewise.
42018         * modules/chown: Likewise.
42019         * modules/clean-temp: Likewise.
42020         * modules/copy-file: Likewise.
42021         * modules/fchdir: Likewise.
42022         * modules/fcntl-safer: Likewise.
42023         * modules/pipe: Likewise.
42024         * modules/utime: Likewise.
42025         Prompted by Eric Blake and Bruno Haible.
42026
42027 2008-06-24  Andreas Schwab  <schwab@suse.de>
42028
42029         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
42030         literals can be used as initializers for global variables.
42031
42032 2008-06-23  Eric Blake  <ebb9@byu.net>
42033
42034         Make gnulib-cache.m4 easier to diff.
42035         * gnulib-tool (func_import): Allow newlines when reading cached
42036         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
42037
42038 2008-06-23  Bruno Haible  <bruno@clisp.org>
42039
42040         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
42041         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
42042         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
42043         m4/signalblocking.m4.
42044         (gl_PREREQ_SIGACTION): Don't invoke it.
42045         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
42046         gl_PREREQ_SIG_HANDLER_H.
42047         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
42048         Don't check for sigaction here.
42049
42050 2008-06-23  Bruno Haible  <bruno@clisp.org>
42051
42052         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
42053         (install_handlers): Don't set the SA_RESETHAND flag.
42054
42055 2008-06-23  Bruno Haible  <bruno@clisp.org>
42056
42057         * m4/sigaction.m4: Comment fixes.
42058         * lib/signal.in.h: Likewise.
42059
42060 2008-06-23  Eric Blake  <ebb9@byu.net>
42061
42062         Fix typo.
42063         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
42064
42065         Avoid SA_ namespace.
42066         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
42067         Reported by Ralf Wildenhues.
42068
42069         Avoid test failure due to SA_RESTORER.
42070         * tests/test-sigaction.c (SA_MASK): New macro.
42071         (main): Avoid failing due to extension flags being set.
42072         Reported by Jim Meyering.
42073
42074         Revert use of sig-handler.h in sigprocmask.c.
42075         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
42076         it requires the existence of struct sigaction.
42077         * lib/sigprocmask.c (handler_t): Restore typedef.
42078         (rpl_signal, old_handlers): Use local type.
42079
42080 2008-06-22  Bruno Haible  <bruno@clisp.org>
42081
42082         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
42083         conditionally.
42084         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
42085
42086 2008-06-22  Bruno Haible  <bruno@clisp.org>
42087
42088         * doc/posix-functions/siginterrupt.texi: Move note.
42089
42090         * lib/signal.in.h (SA_RESTART): New macro.
42091         * lib/sigaction.c: Update comment.
42092
42093         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
42094
42095         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
42096         (gl_PREREQ_SIGPROCMASK): Invoke it.
42097         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
42098
42099         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
42100
42101         * lib/sigprocmask.c: Update a comment.
42102
42103 2008-06-21  Eric Blake  <ebb9@byu.net>
42104
42105         Use sigaction module rather than signal().
42106         * modules/c-stack (Depends-on): Add sigaction.
42107         * modules/fatal-signal (Depends-on): Likewise.
42108         * modules/nanosleep (Depends-on): Likewise.
42109         * modules/sigprocmask (Files): Add sig-handler.h.
42110         * modules/sigaction (Files): Likewise.
42111         * lib/sig-handler.h (get_handler): New file, suggested by Paul
42112         Eggert.
42113         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
42114         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
42115         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
42116         (init_fatal_signals): Likewise.
42117         * lib/nanosleep.c (rpl_nanosleep): Likewise.
42118         (siginterrupt): Delete fallback.
42119         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
42120         instead.
42121         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
42122         siginterrupt.
42123
42124         New module sigaction, for mingw.
42125         * modules/sigaction: New module...
42126         * modules/sigaction-tests: ...and its test.
42127         * m4/sigaction.m4: New file.
42128         * lib/sigaction.c: Likewise.
42129         * tests/test-sigaction.c: Likewise.
42130         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
42131         * modules/signal (Makefile.am): Likewise.
42132         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
42133         needed.
42134         * doc/posix-headers/signal.texi (signal.h): Mention provided
42135         types.
42136         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
42137         that sigaction is preferable.
42138         * doc/posix-functions/sigaction.texi (sigaction): Mention new
42139         module.
42140         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
42141         sigaction.
42142
42143         Improve robustness of sigprocmask by overriding signal.
42144         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
42145         is in use.
42146         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
42147         (SIGKILL, SIGSTOP): Provide fallbacks.
42148         (rpl_signal): Implement.
42149         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
42150         signal can be called inside handlers.
42151
42152         Fix nanosleep module on mingw.
42153         * modules/nanosleep (Depends-on): Add sys_select.
42154         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
42155
42156         Fix licensing of sigprocmask.
42157         * modules/raise (License): Relicense as LGPL.
42158
42159 2008-06-21  Bruno Haible  <bruno@clisp.org>
42160
42161         * lib/propername.c (proper_name_utf8): Don't use the transliterated
42162         result if it contains question marks.
42163         Reported by Michael Geng <linux@michaelgeng.de>.
42164
42165 2008-06-19  Bruno Haible  <bruno@clisp.org>
42166
42167         Fix CVS-ism.
42168         * doc/gnulib.texi: Include updated-stamp.texi.
42169         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
42170         (updated-stamp.texi): New rule.
42171         (gnulib.info): Depend on it.
42172         * doc/.gitignore: Add updated-stamp.texi.
42173         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
42174
42175 2008-06-19  Bruno Haible  <bruno@clisp.org>
42176
42177         * doc/Makefile (gnulib.info): Update and simplify dependencies.
42178         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
42179
42180 2008-06-19  Eric Blake  <ebb9@byu.net>
42181
42182         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
42183         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
42184         Reported by Stepan Kasal.
42185
42186 2008-06-18  Bruno Haible  <bruno@clisp.org>
42187
42188         * lib/fatal-signal.c (init_fatal_signals): Add comment.
42189         Reported by Eric Blake.
42190
42191 2008-06-18  Eric Blake  <ebb9@byu.net>
42192
42193         Work around cygwin 1.5.25 strsignal bug.
42194         * tests/test-strsignal.c: Allow for const char *.
42195         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
42196
42197 2008-06-18  Simon Josefsson  <simon@josefsson.org>
42198
42199         * users.txt: Update URL to article and add author/date
42200         information.
42201
42202 2008-06-17  Bruno Haible  <bruno@clisp.org>
42203
42204         New macro gl_DISABLE_THREADS.
42205         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
42206         if the user did not pass --enable-threads or --disable-threads option.
42207         (gl_DISABLE_THREADS): New macro.
42208         Reported by Eric Blake <ebb9@byu.net>.
42209
42210 2008-06-17  Bruno Haible  <bruno@clisp.org>
42211
42212         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
42213         when the macro ignores it.
42214         Based on a patch by Eric Blake <ebb9@byu.net>.
42215
42216 2008-06-17  Bruno Haible  <bruno@clisp.org>
42217
42218         * modules/tls (License): Change to LGPLv2+.
42219         Reported by Eric Blake.
42220
42221 2008-06-17  Eric Blake  <ebb9@byu.net>
42222
42223         Simplify c-stack prerequisites.
42224         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
42225         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
42226         no longer requires <ucontext.h> to exist.  Optimize setrlimit
42227         check.
42228         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
42229         <sys/resource.h>.
42230
42231         Move c-stack test into testsuite.
42232         * modules/c-stack-tests: New file.
42233         * lib/c-stack.c [DEBUG]: Move test program...
42234         * tests/test-c-stack.c: ...into this new file.  Skip rather than
42235         fail test if sigaltstack is lacking.
42236         * tests/test-c-stack.sh: New driver file.
42237
42238 2008-06-16  Eric Blake  <ebb9@byu.net>
42239
42240         Use raise module consistently.
42241         * modules/fatal-signal (Depends-on): Add raise.
42242         * modules/sigprocmask (Depends-on): Likewise.
42243         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
42244         * lib/sigprocmask.c (sigprocmask): Likewise.
42245         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
42246         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
42247
42248         Fix compliance bug in sigpending.
42249         * lib/sigprocmask.c (sigpending): Return pending array via
42250         parameter, not return value.
42251
42252 2008-06-14  Eric Blake  <ebb9@byu.net>
42253
42254         Improve obstack-printf test code.
42255         * tests/test-obstack-printf.c (test_function): Fix comment, and
42256         simplify usage of obstack_* in macros.  Add a test for coverage.
42257         Reported by Bruno Haible.
42258
42259 2008-06-14  Bruno Haible  <bruno@clisp.org>
42260
42261         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
42262         array size as a constant, not as a const variable.
42263         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
42264         AC_USE_SYSTEM_EXTENSIONS.
42265         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
42266         Test whether the obstack_printf function actually exists.
42267         * modules/obstack-printf (Depends-on): Add extensions.
42268         (Include): Remove obstack.h.
42269         * modules/obstack-printf-posix (Depends-on): Add extensions.
42270         (Include): Remove obstack.h.
42271
42272 2008-06-13  Eric Blake  <ebb9@byu.net>
42273
42274         Add obstack-printf and obstack-printf-posix modules.
42275         * modules/obstack-printf: New file.
42276         * modules/obstack-printf-posix: Likewise.
42277         * MODULES.html.sh (Misc): Mention them.
42278         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
42279         Likewise.
42280         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
42281         Likewise.
42282         * modules/stdio (Makefile.am): Accomodate new modules.
42283         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
42284         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
42285         Declare.
42286         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
42287         functions.
42288         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
42289         (gl_REPLACE_OBSTACK_PRINTF): New macros
42290         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
42291         * tests/test-obstack-printf.c: New file.
42292         * modules/obstack-printf-tests: Likewise.
42293         * modules/obstack-printf-posix-tests: Likewise.
42294
42295 2008-06-11  Bruno Haible  <bruno@clisp.org>
42296
42297         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
42298         * lib/open.c: Include errno.h.
42299         (open): Fail when attempting to write to a file that has a trailing
42300         slash.
42301         * tests/test-open.c (main): Test against trailing slash bug.
42302         * doc/posix-functions/open.texi: Mention the trailing slash bug.
42303
42304 2008-06-10  Bruno Haible  <bruno@clisp.org>
42305
42306         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
42307         for $? to work inside the trap command, with various /bin/sh-s.
42308         * tests/test-vc-list-files-cvs.sh: Likewise.
42309
42310 2008-06-10  Bruno Haible  <bruno@clisp.org>
42311
42312         * lib/acl-internal.h: Don't include gettext.h here.
42313         * lib/set-mode-acl.c: Include gettext.h here.
42314         * lib/copy-acl.c: Likewise.
42315
42316 2008-06-10  Bruno Haible  <bruno@clisp.org>
42317
42318         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
42319         * lib/wait-process.c (wait_subprocess): Likewise.
42320         * lib/execute.h (execute): Add termsigp argument.
42321         * lib/execute.c (execute): Likewise.
42322         * lib/csharpcomp.c (compile_csharp_using_pnet,
42323         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
42324         * lib/csharpexec.c (execute_csharp_using_pnet,
42325         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
42326         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
42327         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
42328         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
42329         is_jikes_present): Update.
42330         * lib/javaexec.c (execute_java_class): Update.
42331         * lib/javaversion.c (execute_and_read_line): Update.
42332         * NEWS: Document the changes.
42333         Reported by Eric Blake.
42334
42335 2008-06-10  Eric Blake  <ebb9@byu.net>
42336
42337         Add missing include.
42338         * tests/test-strstr.c (includes): Add <signal.h>.
42339         * tests/test-strcasestr.c (includes): Likewise.
42340         * tests/test-memmem.c (includes): Likewise.
42341
42342 2008-06-10  Bruno Haible  <bruno@clisp.org>
42343
42344         * lib/wait-process.c (wait_subprocess): Add an assertion.
42345
42346 2008-06-10  Bruno Haible  <bruno@clisp.org>
42347
42348         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
42349
42350 2008-06-10  Bruno Haible  <bruno@clisp.org>
42351
42352         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
42353         using alarm().
42354         * tests/test-strcasestr.c (main): Likewise.
42355         * tests/test-strstr.c (main): Likewise.
42356
42357 2008-06-09  Bruno Haible  <bruno@clisp.org>
42358
42359         Work around the Solaris 10 ACE ACLs ABI change.
42360         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
42361         declare if ACL_NO_TRIVIAL is present.
42362         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
42363         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
42364         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
42365         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
42366         define if ACL_NO_TRIVIAL is present.
42367         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
42368         and use the current ABI.
42369         (file_has_acl): Use same #if condition as elsewhere.
42370         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
42371         in use, and use the current ABI.
42372         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
42373         Reported by Jim Meyering.
42374
42375 2008-06-09  Eric Blake  <ebb9@byu.net>
42376
42377         Work around environments that (stupidly) ignore SIGALRM.
42378         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
42379         before using alarm().
42380         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
42381         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
42382         Reported by Ian Beckwith <ianb@erislabs.net>.
42383
42384         Produce autobuild blurb earlier in log.
42385         * modules/autobuild (configure.ac-early): Move AB_INIT here.
42386
42387 2008-06-09  Jim Meyering  <meyering@redhat.com>
42388         and OndÅ™ej Vašík  <ovasik@redhat.com>
42389
42390         utimens.c: correct kernel bug work-around
42391         OndÅ™ej Vašík found that the invalid return value of 280 indicates
42392         failure, not success, and the kernel bug we're trying to work
42393         around affects not just the utimensat call, but also the fallback
42394         futimens call.
42395         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
42396         not success.
42397         [HAVE_FUTIMENS]: Use the same work-around, here.
42398
42399 2008-06-09  Jim Meyering  <meyering@redhat.com>
42400
42401         add more guards around definition of ACE_-related code
42402         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
42403         ALLOW and ACE_OWNER are also defined.
42404
42405 2008-06-08  Bruno Haible  <bruno@clisp.org>
42406
42407         * lib/acl-internal.h: Add me as co-author.
42408         * lib/file-has-acl.c: Likewise.
42409         * lib/set-mode-acl.c: Likewise.
42410         * lib/copy-acl.c: Likewise.
42411
42412 2008-06-08  Bruno Haible  <bruno@clisp.org>
42413
42414         Add support for AIX ACLs.
42415         * lib/acl-internal.h (acl_nontrivial): New declaration.
42416         * lib/file-has-acl.c (acl_nontrivial): New function.
42417         (file_has_acl): Add implementation using AIX 4 ACL API.
42418         * lib/set-mode-acl.c (qset_acl): Likewise.
42419         * lib/copy-acl.c (qcopy_acl): Likewise.
42420
42421 2008-06-08  Bruno Haible  <bruno@clisp.org>
42422
42423         Add support for HP-UX ACLs.
42424         * lib/acl-internal.h (acl_nontrivial): New declaration.
42425         * lib/file-has-acl.c (acl_nontrivial): New function.
42426         (file_has_acl): Add implementation using HP-UX 11 ACL API.
42427         * lib/set-mode-acl.c (qset_acl): Likewise.
42428         * lib/copy-acl.c (qcopy_acl): Likewise.
42429
42430 2008-06-08  Bruno Haible  <bruno@clisp.org>
42431
42432         Add support for Cygwin ACLs.
42433         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
42434         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
42435         the chmod_or_fchmod call.
42436         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
42437
42438 2008-06-08  Bruno Haible  <bruno@clisp.org>
42439
42440         Fix bug with setuid modes in Solaris 10+ code.
42441         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
42442         succeeded, when the mode contains some special bits.
42443
42444 2008-06-08  Bruno Haible  <bruno@clisp.org>
42445
42446         Add support for Solaris 7..10 ACLs.
42447         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
42448         declarations.
42449         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
42450         functions.
42451         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
42452         * lib/set-mode-acl.c (qset_acl): Likewise.
42453         * lib/copy-acl.c (qcopy_acl): Likewise.
42454
42455 2008-06-08  Bruno Haible  <bruno@clisp.org>
42456
42457         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
42458         declaration.
42459         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
42460         (acl_access_nontrivial): Remove MacOS X case.
42461         (file_has_acl): Use acl_extended_nontrivial.
42462         * lib/copy-acl.c (qcopy_acl): Likewise.
42463
42464 2008-06-08  Bruno Haible  <bruno@clisp.org>
42465
42466         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
42467
42468 2008-06-08  Jim Meyering  <meyering@redhat.com>
42469
42470         * modules/acl (Maintainer): Add Bruno Haible.
42471
42472 2008-06-07  Bruno Haible  <bruno@clisp.org>
42473
42474         Improve support for Tru64 ACLs.
42475         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
42476         ACL on OSF/1.
42477
42478 2008-06-07  Bruno Haible  <bruno@clisp.org>
42479
42480         Add support for MacOS X ACLs.
42481         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
42482         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
42483         * lib/set-mode-acl.c (qset_acl): Likewise.
42484         * lib/copy-acl.c (qcopy_acl): Likewise.
42485
42486 2008-06-07  Bruno Haible  <bruno@clisp.org>
42487
42488         Fix memory leak introduced on 2008-05-22.
42489         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
42490         use.
42491
42492 2008-06-07  Bruno Haible  <bruno@clisp.org>
42493
42494         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
42495         to construct an empty ACL.
42496
42497 2008-06-07  Bruno Haible  <bruno@clisp.org>
42498
42499         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
42500         precisely.
42501         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
42502
42503 2008-06-07  Bruno Haible  <bruno@clisp.org>
42504
42505         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
42506         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
42507
42508 2008-06-07  Bruno Haible  <bruno@clisp.org>
42509
42510         * doc/posix-functions/_setjmp.texi: Explain the use of this function
42511         regardless of POSIX.
42512         * doc/posix-functions/_longjmp.texi: Likewise.
42513         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
42514         SystemV platform in this case.
42515
42516 2008-06-06  Eric Blake  <ebb9@byu.net>
42517
42518         Document abort() bugs.
42519         * doc/posix-functions/abort.texi (abort): Mention anomalies.
42520
42521         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
42522         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
42523         sigsetjmp.
42524         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
42525         siglongjmp, but only as a macro.
42526         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
42527         is obsolete.
42528         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
42529
42530         Tweak documentation to cover cygwin argz bugs.
42531         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
42532         argz bug fix; no code change needed since no cygwin releases
42533         occurred between the last fix and the bug being tested.
42534         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
42535         module and recently fixed cygwin bugs.
42536         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
42537         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
42538         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
42539         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
42540         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
42541         Likewise.
42542         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
42543         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
42544         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
42545         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
42546         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
42547         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
42548         Likewise.
42549
42550         Avoid gcc warning on cygwin.
42551         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
42552         !ACL_NO_TRIVIAL]: Avoid unused variable.
42553
42554 2008-06-05  Eric Blake  <ebb9@byu.net>
42555
42556         Be tolerant of UNKNOWN version in gnulib-tool test dir.
42557         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
42558         git-version-gen fails to come up with a version.
42559         Reported by Simon Josefsson.
42560
42561 2008-06-05  Jim Meyering  <meyering@redhat.com>
42562             Paul Eggert  <eggert@cs.ucla.edu>
42563
42564         utimens.c: work around a probable Linux kernel bug
42565         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
42566         appears to be a kernel bug that causes utimensat to return 280
42567         instead of 0, indicating success.
42568
42569 2008-06-04  Bruno Haible  <bruno@clisp.org>
42570
42571         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
42572         2008-06-01 commit.
42573
42574 2008-06-04  Bruno Haible  <bruno@clisp.org>
42575
42576         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
42577         * lib/file-has-acl.c (acl_access_nontrivial): New function.
42578         (file_has_acl): Use it. Save errno afterwards.
42579         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
42580
42581 2008-06-03  Bruno Haible  <bruno@clisp.org>
42582
42583         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
42584         draft code. Simplify #ifs.
42585         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
42586         Put Solaris code after POSIX-draft code. Fix comments regarding
42587         Solaris 10, HP-UX. Mention Cygwin.
42588         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
42589
42590 2008-06-03  Eric Blake  <ebb9@byu.net>
42591
42592         Provide fallback for older kernels.
42593         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
42594         Provide runtime fallback if kernel lacks support.
42595         Reported by Mike Frysinger.
42596
42597 2008-06-02  Bruno Haible  <bruno@clisp.org>
42598
42599         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
42600         it exists.
42601
42602 2008-06-02  Bruno Haible  <bruno@clisp.org>
42603
42604         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
42605         * lib/copy-acl.c (qcopy_acl): Update comment.
42606
42607 2008-06-02  Bruno Haible  <bruno@clisp.org>
42608
42609         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
42610         like ACL APIs.
42611
42612 2008-06-02  Bruno Haible  <bruno@clisp.org>
42613
42614         * tests/test-file-has-acl.sh: Use different code for Cygwin.
42615         * tests/test-set-mode-acl.sh: Likewise.
42616         * tests/test-copy-acl.sh: Likewise.
42617         * tests/test-copy-file.sh: Likewise.
42618
42619 2008-06-02  Bruno Haible  <bruno@clisp.org>
42620
42621         * tests/test-file-has-acl.sh: Remove unused code.
42622
42623 2008-06-01  Bruno Haible  <bruno@clisp.org>
42624
42625         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
42626         (copy_acl): Just a wrapper around qcopy_acl that emits the error
42627         messages.
42628         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
42629
42630 2008-06-01  Bruno Haible  <bruno@clisp.org>
42631
42632         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
42633         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
42634         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
42635         APIs.
42636         * modules/acl-tests (configure.ac): Remove tests now contained in
42637         m4/acl.m4.
42638
42639 2008-06-02  Jim Meyering  <meyering@redhat.com>
42640
42641         announce-gen: use a better key-server host name
42642         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
42643         it may be more consistently reliable.  Suggested by Werner Koch
42644         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
42645
42646 2008-06-01  Bruno Haible  <bruno@clisp.org>
42647
42648         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
42649         Reported by Voroskoi Andras <voroskoi@gmail.com>.
42650
42651 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
42652
42653         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
42654
42655 2008-06-01  Bruno Haible  <bruno@clisp.org>
42656
42657         New ACL tests.
42658         * tests/test-file-has-acl.sh: New file.
42659         * tests/test-file-has-acl.c: New file.
42660         * tests/test-set-mode-acl.sh: New file.
42661         * tests/test-set-mode-acl.c: New file.
42662         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
42663         * tests/test-copy-acl.c: New file.
42664         * modules/acl-tests: New file, based on modules/copy-file-tests.
42665         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
42666         (Depends-on): Add acl-tests.
42667         (configure.ac): Remove checks.
42668         (Makefile.am): Don't create test-sameacls program here any more.
42669
42670 2008-06-01  Bruno Haible  <bruno@clisp.org>
42671
42672         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
42673         * tests/test-sameacls.c: Include progname.h.
42674         (main): Invoke set_program_name. Portability fixes for MacOS X,
42675         Solaris, HP-UX.
42676
42677 2008-06-01  Bruno Haible  <bruno@clisp.org>
42678
42679         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
42680         function.
42681         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
42682
42683 2008-06-01  Bruno Haible  <bruno@clisp.org>
42684
42685         * modules/rpmatch (Depends-on): Add strdup.
42686
42687 2008-06-01  Bruno Haible  <bruno@clisp.org>
42688
42689         * lib/pipe.c: Include unistd-safer.h.
42690         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
42691         * modules/pipe (Depends-on): Add unistd-safer.
42692
42693 2008-05-30  Simon Josefsson  <simon@josefsson.org>
42694
42695         * modules/autobuild (configure.ac): Call AB_INIT.
42696
42697 2008-05-30  Simon Josefsson  <simon@josefsson.org>
42698
42699         * tests/test-getaddrinfo.c: Don't print debug messages by default.
42700         Suggested by Bruno Haible <bruno@clisp.org>.
42701
42702 2008-05-30  Simon Josefsson  <simon@josefsson.org>
42703
42704         * tests/test-base64.c: Cast size_t to unsigned long when invoking
42705         printf.  Use %lu instead of %d.  Reported by Bruno Haible
42706         <bruno@clisp.org>.
42707
42708 2008-05-29  Eric Blake  <ebb9@byu.net>
42709
42710         Prefer new POSIX 200x interfaces over futimesat.
42711         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
42712         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
42713         when available.
42714         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
42715
42716 2008-05-28  Bruno Haible  <bruno@clisp.org>
42717
42718         * modules/stpcpy (License): Change to LGPLv2+.
42719         Requested by David Lutterkort <dlutter@redhat.com>.
42720
42721 2008-05-27  Bruno Haible  <bruno@clisp.org>
42722
42723         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
42724         current mingw.
42725         Reported by Jose E. Marchesi <jemarch@gnu.org>.
42726
42727 2008-05-27  Bruno Haible  <bruno@clisp.org>
42728
42729         * modules/iconv_open (Link): New section, from module 'iconv'.
42730         * modules/striconv (Link): Likewise.
42731         * modules/striconveh (Link): Likewise.
42732         * modules/xstriconv (Link): Likewise.
42733         * modules/unicodeio (Link): Likewise.
42734         * modules/propername (Link): Likewise.
42735         Reported by Jim Meyering.
42736
42737 2008-05-26  Jim Meyering  <meyering@redhat.com>
42738
42739         sha256: do not artificially restrict buffer length to be < 2^32
42740         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
42741         uint32_t to size_t.
42742         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
42743         to match.
42744
42745         avoid unaligned access errors, e.g., on sparc
42746         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
42747         direct access through a possibly-unaligned uint64* pointer.
42748         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
42749         direct access through a possibly-unaligned uint32* pointer.
42750         Prompted by this patch from Tom "spot" Callaway:
42751         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
42752
42753         sha512.c: fix typo in comment
42754         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
42755
42756 2008-05-25  Bruno Haible  <bruno@clisp.org>
42757
42758         * lib/set-mode-acl.c: Renamed from lib/acl.c.
42759         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
42760         (Makefile.am): Update lib_SOURCES.
42761
42762 2008-05-25  Bruno Haible  <bruno@clisp.org>
42763
42764         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
42765
42766 2008-05-25  Jim Meyering  <meyering@redhat.com>
42767
42768         useless-if-before-free: freed expr may have white-space differences
42769         * build-aux/useless-if-before-free: Recognize cases in which the
42770         freed expression differs from the tested one in embedded white
42771         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
42772         $1 was used, so we can't make any regexp shy.  Improved tests now
42773         detect this.
42774
42775         useless-if-before-free: accept white space in the expression.
42776         * build-aux/useless-if-before-free: For now, any white space
42777         in the expression must be identical in the free argument.
42778
42779         useless-if-before-free: efficiency tweak
42780         * build-aux/useless-if-before-free: Make the expression-matching
42781         regexp "shy".
42782         Make the *outer* regexp shy, not the expr-matching one.
42783
42784         update code-in-comment to accept cast of free arg
42785         * build-aux/useless-if-before-free: Update regexp.
42786
42787 2008-05-25  Bruno Haible  <bruno@clisp.org>
42788
42789         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
42790         * modules/copy-file-tests (Files, Makefile.am): Update.
42791         * tests/test-copy-file.c (func_test_copy): Update.
42792
42793 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
42794
42795         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
42796
42797 2008-05-23  Bruno Haible  <bruno@clisp.org>
42798
42799         Improve support for ACLs on OSF/1.
42800         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
42801         Remove fallback for unknown flavors of ACLs.
42802
42803 2008-05-22  Bruno Haible  <bruno@clisp.org>
42804
42805         Add support for ACLs on OSF/1.
42806         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
42807         replacements.
42808         (acl_free_text): New macro fallback.
42809         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
42810         acl_free.
42811         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
42812         acl_free_text function. Require AC_C_INLINE.
42813
42814 2008-05-22  Bruno Haible  <bruno@clisp.org>
42815
42816         Make copy_acl work on MacOS X 10.5.
42817         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
42818         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
42819         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
42820         If MODE_INSIDE_ACL, don't assume that every system has the same text
42821         representation for ACLs as FreeBSD.
42822         * lib/copy-acl.c (copy_acl): Add support for platforms with
42823         !MODE_INSIDE_ACL.
42824         * lib/file-has-acl.c (file_has_acl): Likewise.
42825         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
42826         FreeBSD, MacOS X, or IRIX, respectively.
42827
42828 2008-05-22  Bruno Haible  <bruno@clisp.org>
42829
42830         * lib/acl.h: Don't include <sys/acl.h>.
42831         (GETACLCNT): Move fallback to lib/acl-internal.h.
42832         * lib/acl-internal.h: Include <sys/acl.h> here.
42833         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
42834
42835 2008-05-22  Bruno Haible  <bruno@clisp.org>
42836
42837         Split off copy_acl function to separate file.
42838         * lib/copy-acl.c: New file, extracted from lib/acl.c.
42839         * lib/acl.c (copy_acl): Moved function to separate file.
42840         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
42841         * modules/acl (Files): Add lib/copy-acl.c.
42842         (Makefiles.am): Augment lib_SOURCES.
42843
42844 2008-05-22  Bruno Haible  <bruno@clisp.org>
42845
42846         * modules/copy-file-tests: New file.
42847         * tests/test-copy-file.sh: New file.
42848         * tests/test-copy-file.c: New file.
42849         * tests/test-copy-file-sameacls.c: New file.
42850
42851 2008-05-22  Eric Blake  <ebb9@byu.net>
42852
42853         Avoid gcc warning.
42854         * tests/test-memcmp.c (main): Pass NULL indirectly.
42855
42856 2008-05-21  Bruno Haible  <bruno@clisp.org>
42857
42858         Add reference doc about ACLs.
42859         * doc/acl-resources.txt: New file.
42860         * doc/acl-cygwin.txt: New file.
42861
42862 2008-05-21  Bruno Haible  <bruno@clisp.org>
42863
42864         Avoid one more warning from gcc.
42865         * lib/vasnprintf.c (IF_LINT): Update comments.
42866         (VASNPRINTF): Use it also for the 'prefix' array initializer.
42867
42868 2008-05-21  Jim Meyering  <meyering@redhat.com>
42869
42870         avoid a warning from gcc
42871         * lib/vasnprintf.c (IF_LINT): Define.
42872         (scale10_round_decimal_long_double):
42873         Use it to avoid a "may be used uninitialized" warning.
42874         (scale10_round_decimal_double): Likewise.
42875
42876 2008-05-21  Simon Josefsson  <simon@josefsson.org>
42877
42878         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
42879         declared.
42880
42881 2008-05-20  Bruno Haible  <bruno@clisp.org>
42882
42883         * tests/test-memcmp.c (main): Test also the sign of the result. Test
42884         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
42885
42886 2008-05-20  Simon Josefsson  <simon@josefsson.org>
42887
42888         * modules/memcmp-tests: New file.
42889         * tests/test-memcmp.c: New file.
42890
42891 2008-05-19  Bruno Haible  <bruno@clisp.org>
42892
42893         * modules/propername (Notice, configure.ac): Put quoted "..." into
42894         --keyword option.
42895         * lib/propername.h: Update comments accordingly.
42896         Reported by Eric Blake.
42897
42898 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
42899
42900         * modules/getpass-gnu (Depends-on): Add fseeko.
42901
42902 2008-05-19  Simon Josefsson  <simon@josefsson.org>
42903
42904         * modules/base64-tests: New file.
42905
42906 2008-05-19  Bo Borgerson <gigabo@gmail.com>
42907
42908         * lib/base64.c (base64_decode_ctx): If a decode context structure
42909         was passed in use it to ignore newlines.  If a context structure
42910         was _not_ passed in, continue to treat newlines as garbage (this
42911         is the historical behavior).  Formerly base64_decode.
42912         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
42913         takes a decode context structure.
42914         * lib/base64.h (base64_decode): Macro for four-argument calls.
42915         (base64_decode_alloc): Likewise.
42916         * lib/base64.c (base64_decode_ctx): If a decode context structure
42917         was passed in use it to ignore newlines.  If a context structure
42918         was _not_ passed in, continue to treat newlines as garbage (this
42919         is the historical behavior).  Formerly base64_decode.
42920         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
42921         takes a decode context structure.
42922         * lib/base64.h (base64_decode): Macro for four-argument calls.
42923         (base64_decode_alloc): Likewise.
42924
42925 2008-05-19  Jim Meyering  <meyering@redhat.com>
42926
42927         avoid a warning from gcc
42928         * lib/trim.c (IF_LINT): Define.
42929         (trim2): Use it to avoid a "may be used uninitialized" warning.
42930
42931         Fix doc typo.
42932         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
42933
42934 2008-05-19  Bruno Haible  <bruno@clisp.org>
42935
42936         * doc/glibc-functions/getpass.texi: Document limits of other
42937         implementations.
42938
42939 2008-05-19  Simon Josefsson  <simon@josefsson.org>
42940             Bruno Haible <bruno@clisp.org>
42941
42942         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
42943
42944 2008-05-18  Bruno Haible  <bruno@clisp.org>
42945
42946         * modules/propername: New file, from GNU gettext.
42947         * lib/propername.h: New file, from GNU gettext.
42948         * lib/propername.c: New file, from GNU gettext.
42949         * MODULES.html.sh (Internationalization functions): Add propername.
42950
42951 2008-05-16  Jim Meyering  <meyering@redhat.com>
42952             Bruno Haible  <bruno@clisp.org>
42953
42954         Avoid some warnings from "gcc -Wshadow".
42955         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
42956
42957 2008-05-15  Eric Blake  <ebb9@byu.net>
42958
42959         Extend previous patch to cygwin 1.7.0.
42960         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
42961         fast implementation in cygwin >= 1.7.0.
42962         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
42963         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
42964
42965 2008-05-15  Bruno Haible  <bruno@clisp.org>
42966
42967         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
42968         implementation in glibc >= 2.9.
42969         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
42970         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
42971
42972 2008-05-15  Bruno Haible  <bruno@clisp.org>
42973
42974         * MODULES.html.sh (Internationalization functions): Remove linebreak.
42975         (Unicode string functions): Add unilbrk/*.
42976         Reported by Karl Berry.
42977
42978 2008-05-15  Eric Blake  <ebb9@byu.net>
42979
42980         Fix violation of <stdbool.h> replacement in regex.
42981         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
42982         * lib/regexec.c (re_search_internal): Likewise.
42983         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
42984
42985 2008-05-15  Jim Meyering  <meyering@redhat.com>
42986
42987         avoid distracting test output when git or cvs is not found
42988         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
42989         * tests/test-vc-list-files-git.sh: Likewise.
42990
42991 2008-05-15  Eric Blake  <ebb9@byu.net>
42992
42993         Glibc finally accepted the memmem speedup code, bugzilla #5514.
42994         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
42995         glibc version.
42996         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
42997         * doc/posix-functions/strstr.texi (strstr): Likewise.
42998         * lib/str-two-way.h (MAX): Sychronize with glibc.
42999
43000 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
43001
43002         * lib/regcomp.c (optimize_utf8): Add a note on why we test
43003         opr.ctx_type.
43004         (calc_first): Initialize constraint field.
43005         (duplicate_node_closure): Use it instead of special casing ANCHORS.
43006         Fix grammar.
43007         (duplicate_node): Merge constraint field for all node types.
43008         (calc_eclosure_iter): Look at constraint field for all node types.
43009         * lib/regex_internal.c (create_cd_newstate): Don't look at
43010         opr.ctx_type.
43011
43012 2008-05-14  Bruno Haible  <bruno@clisp.org>
43013
43014         Help GCC to do better code generation.
43015         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
43016         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
43017         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
43018         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
43019         Declare with attribute 'malloc' if supported.
43020
43021 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
43022
43023         use "echo STR|wc -c" rather than unportable "expr length STR"
43024         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
43025         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
43026
43027 2008-05-14  Jim Meyering  <meyering@redhat.com>
43028
43029         use dd ibs=$n count=1 ... rather than less-portable head -c$n
43030         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
43031         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
43032         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
43033         via Collin Lasse.
43034
43035 2008-05-14  Eric Blake  <ebb9@byu.net>
43036
43037         Avoid quadratic growth in gl_LIBSOURCES.
43038         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
43039         Suggested by Bruno Haible.
43040
43041         Test xmemdup0.
43042         * modules/xmemdup0-tests: New file.
43043         * tests/test-xmemdup0.c: Likewise.
43044
43045 2008-05-13  Eric Blake  <ebb9@byu.net>
43046
43047         Split xmemdup0 into its own module.
43048         * modules/xmemdup0: New file.
43049         * lib/xmemdup0.h: Likewise.
43050         * lib/xmemdup0.c: Likewise.
43051         * MODULES.html.sh (Memory management functions): Add xmemdup0.
43052         * lib/xalloc.h (xmemdup0): Remove.
43053         * lib/xmalloc.c (xmemdup0): Likewise.
43054
43055 2008-05-13  Eric Blake  <ebb9@byu.net>
43056             Bruno Haible  <bruno@clisp.org>
43057
43058         Reduce number of forks required during autoconf.
43059         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
43060         and gl_LIBSOURCES_DIR.
43061         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
43062         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
43063         m4_syscmd per file.
43064         <m4_foreach_w>: Move...
43065         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
43066
43067 2008-05-13  Eric Blake  <ebb9@byu.net>
43068
43069         * gnulib-tool: Fix various comment typos.
43070
43071 2008-05-12  Bruno Haible  <bruno@clisp.org>
43072
43073         Tailor the linebreaking algorithm.
43074         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
43075
43076 2008-05-12  Bruno Haible  <bruno@clisp.org>
43077
43078         Update to Unicode 5.0.0.
43079         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
43080         LBP_JV, LBP_JT. Redistribute values.
43081         (unilbrk_table): Change size.
43082         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
43083         Unicode TR#14 rev. 22.
43084         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
43085         LBP_JV, LBP_JT. Redistribute values.
43086         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
43087         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
43088         Update.
43089         * lib/unilbrk/lbrkprop1.h: Regenerated.
43090         * lib/unilbrk/lbrkprop2.h: Regenerated.
43091         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
43092         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
43093         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
43094         Likewise.
43095         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
43096         Likewise.
43097         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
43098         result.
43099         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
43100         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
43101         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
43102         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
43103         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
43104         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
43105
43106 2008-05-11  Bruno Haible  <bruno@clisp.org>
43107
43108         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
43109
43110 2008-05-11  Bruno Haible  <bruno@clisp.org>
43111
43112         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
43113         * modules/unilbrk/gen-lbrk: New file.
43114
43115 2008-05-11  Bruno Haible  <bruno@clisp.org>
43116
43117         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
43118         * m4/sha512.m4 (gl_SHA512): Likewise.
43119
43120 2008-05-11  Jim Meyering  <meyering@redhat.com>
43121
43122         New modules: crypto/sha256, crypto/sha512 (from coreutils)
43123         * modules/crypto/sha256: New file.
43124         * modules/crypto/sha512: Likewise.
43125         * lib/sha256.c: Likewise.
43126         * lib/sha256.h: Likewise.
43127         * lib/sha512.c: Likewise.
43128         * lib/sha512.h: Likewise.
43129         * lib/u64.h: Likewise.
43130         * m4/sha256.m4: Likewise.
43131         * m4/sha512.m4: Likewise.
43132         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
43133
43134 2008-05-10  Bruno Haible  <bruno@clisp.org>
43135
43136         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
43137         (Input/Output <stdio.h>): Add xprintf.
43138         (Signal handling <signal.h>): Add strsignal.
43139         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
43140         (Core language properties): Add func.
43141         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
43142         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
43143         strings.
43144         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
43145         (Input/output): New section.
43146         (File system functions): Add openat-die, stat-macros.
43147         (Networking functions): Add sockets.
43148         (Unicode string functions): Add unictype/*.
43149         (Support for building libraries and executables): Add gperf.
43150         (Support for building documentation): Add agpl-3.0.
43151         (Misc): Add nocrash.
43152
43153 2008-05-10  Bruno Haible  <bruno@clisp.org>
43154
43155         * modules/unictype/gen-ctype: New file.
43156
43157 2008-05-10  Jim Meyering  <meyering@redhat.com>
43158
43159         Make chdir-safer.c more efficient on a system with no symlinks.
43160         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
43161         also if ELOOP is zero.  Suggested by Bruno Haible.
43162
43163         Make chdir-safer.c slightly safer.
43164         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
43165         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
43166
43167         Avoid compile failure on systems without ELOOP (like mingw).
43168         * lib/chdir-safer.c (ELOOP): Define if not already defined.
43169         Reported by Bruno Haible.
43170
43171 2008-05-10  Bruno Haible  <bruno@clisp.org>
43172
43173         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
43174         (is_utf8_encoding): Use a case-insensitive comparison.
43175         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
43176         streq.
43177
43178 2008-05-10  Bruno Haible  <bruno@clisp.org>
43179
43180         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
43181         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
43182         * lib/unilbrk/ulc-common.h (iconv_string_length,
43183         iconv_string_keeping_offsets): Remove declarations.
43184         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
43185         Don't include <iconv.h>, streq.h, xsize.h.
43186         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
43187         conversion.
43188         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
43189         <iconv.h>, streq.h, xsize.h.
43190         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
43191         conversion.
43192         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
43193         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
43194         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
43195         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
43196
43197 2008-05-10  Bruno Haible  <bruno@clisp.org>
43198
43199         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
43200         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
43201
43202         * modules/unilbrk/u32-width-linebreaks-tests: New file.
43203         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
43204
43205         * modules/unilbrk/u16-width-linebreaks-tests: New file.
43206         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
43207
43208         * modules/unilbrk/u8-width-linebreaks-tests: New file.
43209         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
43210
43211         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
43212         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
43213
43214         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
43215         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
43216
43217         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
43218         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
43219
43220         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
43221         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
43222
43223 2008-05-10  Bruno Haible  <bruno@clisp.org>
43224
43225         Split up 'linebreak' module.
43226         * lib/unilbrk.h: New file, based on lib/linebreak.h.
43227         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
43228         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
43229         modifications.
43230         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
43231         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
43232         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
43233         lib/linebreak.c.
43234         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
43235         lib/linebreak.c.
43236         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
43237         lib/linebreak.c.
43238         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
43239         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
43240         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
43241         lib/linebreak.c.
43242         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
43243         lib/linebreak.c.
43244         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
43245         lib/linebreak.c.
43246         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
43247         lib/linebreak.c.
43248         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
43249         lib/linebreak.c.
43250         * modules/unilbrk/base: New file.
43251         * modules/unilbrk/tables: New file.
43252         * modules/unilbrk/u8-possible-linebreaks: New file.
43253         * modules/unilbrk/u16-possible-linebreaks: New file.
43254         * modules/unilbrk/u32-possible-linebreaks: New file.
43255         * modules/unilbrk/ulc-common: New file.
43256         * modules/unilbrk/ulc-possible-linebreaks: New file.
43257         * modules/unilbrk/u8-width-linebreaks: New file.
43258         * modules/unilbrk/u16-width-linebreaks: New file.
43259         * modules/unilbrk/u32-width-linebreaks: New file.
43260         * modules/unilbrk/ulc-width-linebreaks: New file.
43261         * lib/linebreak.h: Remove file.
43262         * lib/linebreak.c: Remove file.
43263         * m4/linebreak.m4: Remove file.
43264         * modules/linebreak: Remove file.
43265         * NEWS: Mention the changes.
43266
43267 2008-05-09  Eric Blake  <ebb9@byu.net>
43268
43269         Add xmemdup0.
43270         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
43271         implementation.
43272         * lib/xmalloc.c (xmemdup0): New C implementation.
43273
43274 2008-05-08  Bruno Haible  <bruno@clisp.org>
43275
43276         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
43277
43278 2008-05-07  Eric Blake  <ebb9@byu.net>
43279
43280         Support cross-compilation of <wctype.h>.
43281         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
43282         AC_CACHE_CHECK.
43283
43284 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
43285
43286         * build-aux/vc-list-files: Add support for bzr.
43287
43288 2008-05-03  Jim Meyering  <meyering@redhat.com>
43289
43290         avoid failed assertion with tight malloc
43291         * tests/test-getndelim2.c: Correct an off-by-one assertion.
43292
43293 2008-05-03  Simon Josefsson  <simon@josefsson.org>
43294
43295         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
43296         are needed from arpa/inet.h.
43297         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
43298         Reported by Bruno Haible.
43299
43300 2008-05-02  Jim Meyering  <meyering@redhat.com>
43301
43302         avoid compilation error on FreeBSD 6
43303         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
43304
43305 2008-05-01  Jim Meyering  <meyering@redhat.com>
43306
43307         useless-if-before-free: correct --help's exit status description
43308         * build-aux/useless-if-before-free (usage): Like grep, exit 0
43309         for one or more matches, etc.  Reported by Bruno Haible.
43310
43311         vc-list-files: make the stand-alone gnulib test work
43312         * modules/vc-list-files-tests (configure.ac):
43313         Define and AC_SUBST abs_aux_dir.
43314         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
43315         $(abs_top_srcdir) to each script and having each of them
43316         duplicate the work of setting PATH, set PATH here, using
43317         the new variable, abs_aux_dir instead.
43318         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
43319         * tests/test-vc-list-files-git.sh: Likewise.
43320         Reported by Bruno Haible.
43321
43322 2008-05-01  Bruno Haible  <bruno@clisp.org>
43323
43324         * lib/getndelim2.c (getndelim2): Fix newsize computation during
43325         reallocation. Rename 'done' to 'found_delimiter'.
43326
43327 2008-05-01  Jim Meyering  <meyering@redhat.com>
43328
43329         vc-list-files: accommodate /bin/sh like the one from Solaris 10
43330         * build-aux/vc-list-files: Use `...`, not $(...).
43331
43332 2008-04-30  Jim Meyering  <meyering@redhat.com>
43333
43334         add tests for vc-list-files
43335         * modules/vc-list-files-tests: New module.
43336         * tests/test-vc-list-files-cvs.sh: New file.
43337         * tests/test-vc-list-files-git.sh: New file.
43338
43339         avoid a warning from gcc
43340         * lib/getndelim2.c (IF_LINT): Define.
43341         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
43342
43343         vc-list-files: work properly with build-aux/cvsu, too
43344         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
43345         to all cvs-based clauses.
43346
43347         vc-list-files: work properly in the CVS+awk case, too
43348         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
43349
43350         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
43351         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
43352         take more than one file argument, so .  Add quotes, just in case $dir
43353         ever contains a shell meta-character.  Prompted by Soren Hansen in
43354         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
43355
43356 2008-04-29  Eric Blake  <ebb9@byu.net>
43357
43358         Optimize getndelim2 to use block operations when possible.
43359         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
43360         freadseek, and memchr2.
43361         * lib/getndelim2.c (getndelim2): Use them for block reads.
43362
43363 2008-04-29  Bruno Haible  <bruno@clisp.org>
43364
43365         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
43366         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
43367         * modules/inet_ntop (Depends-on): Add extensions.
43368         * modules/inet_pton (Depends-on): Likewise.
43369         Reported by Simon Josefsson.
43370
43371 2008-04-29  Jim Meyering  <meyering@redhat.com>
43372
43373         When the is more than one match in a block, match all of them.
43374         * build-aux/useless-if-before-free: Iterate through each block
43375         until there are no more matches.
43376
43377         Fix broken useless-if-before-free script.
43378         * build-aux/useless-if-before-free: Fix typo: missing "?" after
43379         the expression to match cast of argument to free-like function.
43380
43381 2008-04-29  Eric Blake  <ebb9@byu.net>
43382
43383         Use new header.
43384         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
43385
43386 2008-04-29  Jim Meyering  <meyering@redhat.com>
43387
43388         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
43389         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
43390         by gnulib to exist and to declare e.g., inet_ntop.
43391         Don't include "inet_ntop.h", now removed.
43392
43393         * m4/arpa_inet_h.m4: Remove trailing blanks.
43394
43395 2008-04-29  Eric Blake  <ebb9@byu.net>
43396
43397         Silence valgrind on safe reads beyond potential array bounds.
43398         * lib/rawmemchr.valgrind: New file.
43399         * lib/strchrnul.valgrind: Likewise.
43400         * modules/rawmemchr (Files): Distribute new file.
43401         * modules/strchrnul (Files): Likewise.
43402         Suggested by Bruno Haible.
43403
43404 2008-04-29  Bruno Haible  <bruno@clisp.org>
43405
43406         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
43407         (inet_ntop, inet_pton): Change portability warning's wording.
43408         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
43409         Invoke gl_CHECK_NEXT_HEADERS.
43410         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
43411         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
43412         set ARPA_INET_H.
43413         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
43414         * modules/arpa_inet (Description): No longer only for systems that
43415         lack it.
43416         (Depends-on): Add include_next.
43417         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
43418         HAVE_ARPA_INET_H.
43419
43420 2008-04-29  Jim Meyering  <meyering@redhat.com>
43421
43422         * modules/mkdir (License): Re-license as LGPLv2+.
43423
43424 2008-04-29  Bruno Haible  <bruno@clisp.org>
43425
43426         * modules/rawmemchr (Maintainer): Set to Eric.
43427         * modules/strchrnul (Maintainer): Likewise.
43428
43429 2008-04-29  Simon Josefsson  <simon@josefsson.org>
43430
43431         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
43432         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
43433
43434         * modules/arpa_inet (arpa/inet.h): Use them.
43435
43436 2008-04-28  Eric Blake  <ebb9@byu.net>
43437
43438         Test getndelim2.
43439         * modules/getndelim2-tests: New file.
43440         * tests/test-getndelim2.c: Likewise.
43441         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
43442         stream.
43443         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
43444
43445         * MODULES.html.sh: Document new module.
43446
43447 2008-04-20  Bruno Haible  <bruno@clisp.org>
43448
43449         * lib/c-stack.c (die): Use raise.
43450         * modules/c-stack (Depends-on): Add raise.
43451
43452 2008-04-28  Bruno Haible  <bruno@clisp.org>
43453
43454         Expect rpmatch to be declared.
43455         * lib/yesno.c (rpmatch): Remove declaration.
43456
43457         Declare rpmatch.
43458         * lib/stdlib.in.h (rpmatch): New declaration.
43459         * lib/rpmatch.c: Include <stdlib.h> first.
43460         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
43461         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
43462         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
43463         HAVE_RPMATCH.
43464         * modules/rpmatch (Depends-on): Add stdlib, extensions.
43465         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
43466         (Include): Set to <stdlib.h>.
43467         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
43468         HAVE_RPMATCH.
43469         * NEWS: Document the change.
43470
43471 2008-04-28  Bruno Haible  <bruno@clisp.org>
43472
43473         Change rpmatch to use nl_langinfo when appropriate.
43474         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
43475         (N_): New macro.
43476         (localized_pattern): New function/macro.
43477         (try): Remove match, nomatch arguments. Copy the pattern into safe
43478         memory before caching it.
43479         (rpmatch): Use localized_pattern. Add translator comments.
43480         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
43481         Suggested by Eric Blake.
43482         * modules/rpmatch (Depends-on): Add stdbool.
43483
43484 2008-04-28  Eric Blake  <ebb9@byu.net>
43485
43486         Add rawmemchr module, matching glibc.
43487         * modules/string (Makefile.am): New indicator.
43488         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
43489         * lib/string.in.h (rawmemchr): Declare when appropriate.
43490         * modules/rawmemchr: New file.
43491         * m4/rawmemchr.m4: Likewise.
43492         * lib/rawmemchr.c: Likewise.
43493         * modules/rawmemchr-tests: Likewise.
43494         * tests/test-rawmemchr.c: Likewise.
43495         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
43496         module.
43497         * modules/strchrnul (Depends-on): Add rawmemchr.
43498         * lib/strchrnul.c (strchrnul): Optimize a corner case.
43499
43500         Whitespace cleanup.
43501         * tests/test-strchrnul.c: Reindent.
43502         * lib/strchrnul.c: Likewise.
43503
43504         Optimize and test strchrnul.
43505         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
43506         * modules/strchrnul-tests: New file.
43507         * tests/test-strchrnul.c: Likewise.
43508
43509         Remove intprops dependency.
43510         * modules/memchr (Depends-on): Remove intprops.
43511         * modules/memrchr (Depends-on): Likewise.
43512         * modules/memchr2 (Depends-on): Likewise.
43513         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
43514         * lib/memrchr.c (__memrchr): Likewise.
43515         * lib/memrchr2.c (memchr2): Likewise.
43516         Reported by Simon Josefsson.
43517
43518 2008-04-28  Simon Josefsson  <simon@josefsson.org>
43519
43520         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
43521         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
43522
43523 2008-04-28  Simon Josefsson  <simon@josefsson.org>
43524
43525         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
43526
43527         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
43528
43529         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
43530
43531         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
43532         declarations.
43533         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
43534
43535         * m4/inet_pton.m4: Don't check for header files.
43536
43537         * m4/inet_ntop.m4: Don't check for header files.
43538
43539 2008-04-28  Simon Josefsson  <simon@josefsson.org>
43540
43541         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
43542         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
43543         trigger for cygwin).
43544         Reported by Bruno Haible  <bruno@clisp.org>.
43545
43546 2008-04-28  Bruno Haible  <bruno@clisp.org>
43547
43548         * doc/posix-functions/strdup.texi: Mention mingw problem.
43549
43550 2008-04-27  Bruno Haible  <bruno@clisp.org>
43551
43552         * modules/stat-time-tests (Depends-on): Add sleep.
43553         * tests/test-stat-time.c (force_unlink): New function.
43554         (cleanup): Use it.
43555         (test_mtime): Remove the ctime related tests.
43556         (test_ctime): New function, containing the ctime related tests.
43557         (main): Call test_ctime, except on native Windows platforms.
43558
43559 2008-04-27  Bruno Haible  <bruno@clisp.org>
43560
43561         * lib/rpmatch.c (rpmatch): Add some comments.
43562         Reported by James Youngman <jay@gnu.org>.
43563
43564 2008-04-27  Bruno Haible  <bruno@clisp.org>
43565
43566         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
43567         quiet NaNs.
43568
43569 2008-04-27  Bruno Haible  <bruno@clisp.org>
43570
43571         Make test-yesno.sh work on mingw.
43572         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
43573         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
43574         (main): Set stdin to binary mode.
43575         * modules/yesno-tests (Depends-on): Add binary-io.
43576
43577 2008-04-27  Bruno Haible  <bruno@clisp.org>
43578
43579         Fix 'isfinite' on x86, x86_64, ia64 platforms.
43580         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
43581         argument that lie outside the IEEE 854 domain.
43582         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
43583         (gl_ISFINITE): Use it.
43584         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
43585
43586 2008-04-27  Bruno Haible  <bruno@clisp.org>
43587
43588         Allow local renaming in config.h.
43589         * lib/memrchr.c (memrchr): Don't undefine outside libc.
43590
43591 2008-04-27  Bruno Haible  <bruno@clisp.org>
43592
43593         * lib/memchr.c (__memchr): Change type of 'i'.
43594         * lib/memchr2.c (memchr2): Likewise.
43595
43596 2008-04-26  Eric Blake  <ebb9@byu.net>
43597         and Bruno Haible  <bruno@clisp.org>
43598
43599         Optimize and test memrchr.
43600         * modules/memrchr (Depends-on): Add intprops.
43601         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
43602         * modules/memrchr-tests: New file.
43603         * tests/test-memrchr.c: New file.
43604
43605 2008-04-26  Bruno Haible  <bruno@clisp.org>
43606
43607         Add tentative support for DragonFly BSD.
43608         * lib/stdio-impl.h: Add macros for DragonFly BSD.
43609         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
43610         fp.
43611         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
43612         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
43613         * lib/fpurge.c (fpurge): Likewise.
43614         * lib/freadable.c (freaadable): Likewise.
43615         * lib/freadahead.c (freadahead): Likewise.
43616         * lib/freading.c (freading): Likewise.
43617         * lib/freadptr.c (freadptr): Likewise.
43618         * lib/freadseek.c (freadptrinc): Likewise.
43619         * lib/fseeko.c (fseeko): Likewise.
43620         * lib/fseterr.c (fseterr): Likewise.
43621         * lib/fwritable.c (fwritable): Likewise.
43622         * lib/fwriting.c (fwriting): Likewise.
43623
43624 2008-04-26  Bruno Haible  <bruno@clisp.org>
43625
43626         * lib/stdio-impl.h: New file.
43627         * lib/fbufmode.c: Include stdio-impl.h.
43628         (fbufmode): Use fp_, remove redundant #defines.
43629         * lib/fflush.c: Include stdio-impl.h.
43630         (clear_ungetc_buffer): Remove redundant #defines.
43631         * lib/fpurge.c: Include stdio-impl.h.
43632         (fpurge): Remove redundant #defines.
43633         * lib/freadable.c: Include stdio-impl.h.
43634         (freadable): Remove redundant #defines.
43635         * lib/freadahead.c: Include stdio-impl.h.
43636         (freadahead): Remove redundant #defines.
43637         * lib/freading.c: Include stdio-impl.h.
43638         (freading): Remove redundant #defines.
43639         * lib/freadptr.c: Include stdio-impl.h.
43640         (freadptr): Remove redundant #defines.
43641         * lib/freadseek.c: Include stdio-impl.h.
43642         (freadptrinc): Remove redundant #defines.
43643         * lib/fseeko.c: Include stdio-impl.h.
43644         (rpl_fseeko): Remove redundant #defines.
43645         * lib/fseterr.c: Include stdio-impl.h.
43646         (fseterr): Remove redundant #defines.
43647         * lib/fwritable.c: Include stdio-impl.h.
43648         (fwritable: Remove redundant #defines.
43649         * lib/fwriting.c: Include stdio-impl.h.
43650         (fwriting): Remove redundant #defines.
43651         * modules/fbufmode (Files): Add lib/stdio-impl.h.
43652         * modules/fflush (Files): Likewise.
43653         * modules/fpurge (Files): Likewise.
43654         * modules/freadable (Files): Likewise.
43655         * modules/freadahead (Files): Likewise.
43656         * modules/freading (Files): Likewise.
43657         * modules/freadptr (Files): Likewise.
43658         * modules/freadseek (Files): Likewise.
43659         * modules/fseeko (Files): Likewise.
43660         * modules/fseterr (Files): Likewise.
43661         * modules/fwritable (Files): Likewise.
43662         * modules/fwriting (Files): Likewise.
43663
43664 2008-04-26  Bruno Haible  <bruno@clisp.org>
43665
43666         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
43667         restore_seek_optimization, update_fpos_cache): New functions, extracted
43668         from rpl_fflush.
43669         (rpl_fflush): Use them.
43670         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
43671         (gl_REPLACE_FFLUSH): Use it.
43672
43673 2008-04-26  Bruno Haible  <bruno@clisp.org>
43674
43675         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
43676         on Solaris.
43677         * tests/test-xstrtoimax.sh: Likewise.
43678         * tests/test-xstrtoumax.sh: Likewise.
43679         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
43680
43681 2008-04-26  Bruno Haible  <bruno@clisp.org>
43682
43683         * modules/memchr-tests: New file.
43684         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
43685
43686 2008-04-26  Eric Blake  <ebb9@byu.net>
43687             Bruno Haible  <bruno@clisp.org>
43688
43689         * lib/memchr.c: Include intprops.h.
43690         (__memchr): Optimize parallel detection of matching bytes. Rename local
43691         variables. Add explanatory comments.
43692
43693 2008-04-26  Bruno Haible  <bruno@clisp.org>
43694
43695         Fix module 'memchr', broken since 2000-10-28.
43696         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
43697
43698 2008-04-26  Bruno Haible  <bruno@clisp.org>
43699
43700         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
43701         comments.
43702
43703 2008-04-25  Eric Blake  <ebb9@byu.net>
43704
43705         Use native fstatat on cygwin 1.7.0.
43706         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
43707         first.
43708
43709 2008-04-23  Eric Blake  <ebb9@byu.net>
43710
43711         Improve memchr2 performance.
43712         * lib/memchr2.c (memchr2): Further optimize parallel detection of
43713         NUL bytes.
43714         * modules/memchr2 (Depends-on): Use intprops.h.
43715
43716 2008-04-23  Simon Josefsson  <simon@josefsson.org>
43717
43718         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
43719         an inline function instead of a CPP macro.  Patch by Ben Pfaff
43720         <blp@cs.stanford.edu>.
43721
43722 2008-04-23  Simon Josefsson  <simon@josefsson.org>
43723
43724         * lib/arpa_inet.in.h: New file.
43725
43726         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
43727         (Makefile.am): Sed in substitute header file.
43728
43729         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
43730         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
43731
43732         * modules/inet_ntop (configure.ac): Use
43733         gl_ARPA_INET_MODULE_INDICATOR.
43734
43735         * modules/inet_pton (configure.ac): Use
43736         gl_ARPA_INET_MODULE_INDICATOR.
43737
43738 2008-04-22  Jim Meyering  <meyering@redhat.com>
43739
43740         * modules/verify (License): Re-license as LGPLv2+.
43741
43742 2008-04-22  Simon Josefsson  <simon@josefsson.org>
43743
43744         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
43745         parameter to void* as per POSIX standard (MinGW uses char*).
43746
43747 2008-04-21  Bruno Haible  <bruno@clisp.org>
43748
43749         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
43750         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
43751         Define to replacements if REPLACE_ISWCNTRL is 1.
43752         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
43753         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
43754         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
43755         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
43756         what it fixes.
43757         * doc/posix-functions/iswalpha.texi: Likewise.
43758         * doc/posix-functions/iswblank.texi: Likewise.
43759         * doc/posix-functions/iswcntrl.texi: Likewise.
43760         * doc/posix-functions/iswdigit.texi: Likewise.
43761         * doc/posix-functions/iswgraph.texi: Likewise.
43762         * doc/posix-functions/iswlower.texi: Likewise.
43763         * doc/posix-functions/iswprint.texi: Likewise.
43764         * doc/posix-functions/iswpunct.texi: Likewise.
43765         * doc/posix-functions/iswspace.texi: Likewise.
43766         * doc/posix-functions/iswupper.texi: Likewise.
43767         * doc/posix-functions/iswxdigit.texi: Likewise.
43768         Reported by Alain Guibert.
43769
43770 2008-04-21  Bruno Haible  <bruno@clisp.org>
43771
43772         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
43773         Patch by Alain Guibert.
43774
43775 2008-04-21  Bruno Haible  <bruno@clisp.org>
43776
43777         Fix test failures on mingw.
43778         * tests/test-xstrtol.c (print_no_progname): New function.
43779         (main): Install it in error_print_progname hook.
43780         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
43781         * tests/test-xstrtoimax.sh: Likewise.
43782         * tests/test-xstrtoumax.sh: Likewise.
43783
43784 2008-04-21  Bruno Haible  <bruno@clisp.org>
43785
43786         Fix test failure on mingw.
43787         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
43788
43789 2008-04-21  Bruno Haible  <bruno@clisp.org>
43790
43791         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
43792         Actually assign a value.
43793
43794 2008-04-20  Bruno Haible  <bruno@clisp.org>
43795
43796         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
43797         take 2.
43798         * lib/canonicalize.c (canonicalize_file_name): Elide if the
43799         'canonicalize-lgpl' module is also used.
43800         * lib/canonicalize-lgpl.c: Undo last change.
43801         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
43802
43803 2008-04-20  Bruno Haible  <bruno@clisp.org>
43804
43805         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
43806         config.h. Provide _mkdir based fallback for mingw.
43807         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
43808         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
43809         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
43810         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
43811         rather than defining mkdir in config.h.
43812         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
43813         (gl_SYS_STAT_H_DEFAULTS): New macro.
43814         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
43815         HAVE_IO_H any more.
43816         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
43817         HAVE_DECL_MKDIR and HAVE_IO_H.
43818
43819 2008-04-20  Bruno Haible  <bruno@clisp.org>
43820
43821         * lib/isapipe.c: Port to native Windows platforms.
43822
43823 2008-04-20  Bruno Haible  <bruno@clisp.org>
43824
43825         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
43826
43827 2008-04-21  Eric Blake  <ebb9@byu.net>
43828
43829         Work around preprocessors that don't handle UINTMAX_MAX.
43830         * lib/memchr2.c (memchr2): Avoid embedded #if.
43831         Reported by Alain Guibert, fix suggested by Bruno Haible.
43832
43833 2008-04-21  Simon Josefsson  <simon@josefsson.org>
43834
43835         * doc/posix-functions/strftime.texi (strftime): Explain better
43836         Windows incompatibility.  Suggested by Micah Cowan
43837         <micah@cowan.name>.
43838
43839 2008-04-20  Bruno Haible  <bruno@clisp.org>
43840
43841         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
43842         unistr/u8-mblen.
43843
43844 2008-04-20  Bruno Haible  <bruno@clisp.org>
43845
43846         Fix test failure on platforms with non-GNU iconv.
43847         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
43848         (U_TO_U8): Use it, rather than u16_to_u8.
43849         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
43850         units at the end of the input string.
43851         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
43852
43853 2008-04-20  Bruno Haible  <bruno@clisp.org>
43854
43855         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
43856         when the resulting length is 0.
43857         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
43858
43859 2008-04-20  Bruno Haible  <bruno@clisp.org>
43860
43861         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
43862         works.
43863         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
43864
43865 2008-04-20  Bruno Haible  <bruno@clisp.org>
43866
43867         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
43868         * modules/tsearch-tests (configure.ac): Test for initstate function.
43869
43870 2008-04-20  Bruno Haible  <bruno@clisp.org>
43871
43872         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
43873         for nlink_t if missing.
43874         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
43875
43876 2008-04-19  Bruno Haible  <bruno@clisp.org>
43877
43878         Work around snprintf bug on Linux libc5.
43879         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
43880         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
43881         gl_SNPRINTF_SIZE1.
43882         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
43883         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
43884         that test failed.
43885         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
43886         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
43887         * modules/snprintf (Files): Add m4/printf.m4.
43888         * modules/vsnprintf (Files): Likewise.
43889         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
43890         * doc/posix-functions/vsnprintf.texi: Likewise.
43891
43892 2008-04-19  Bruno Haible  <bruno@clisp.org>
43893
43894         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
43895         from 0.0058 to less than 10^-7.
43896
43897 2008-04-19  Bruno Haible  <bruno@clisp.org>
43898
43899         Fix rounding when a precision is given.
43900         * lib/vasnprintf.c (is_borderline): New function.
43901         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
43902         9...9x.
43903         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
43904         %e, %g.
43905         * tests/test-vasprintf-posix.c (test_function): Likewise.
43906         * tests/test-snprintf-posix.h (test_function): Likewise.
43907         * tests/test-sprintf-posix.h (test_function): Likewise.
43908         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
43909         * tests/test-printf-posix.h (test_function): Likewise.
43910         * tests/test-printf-posix.output: Update.
43911         Reported by John Darrington <john@darrington.wattle.id.au> via
43912         Ben Pfaff <blp@cs.stanford.edu>.
43913
43914 2008-04-18  Simon Josefsson  <simon@josefsson.org>
43915
43916         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
43917         Suggested by Bruno Haible <bruno@clisp.org>.
43918
43919 2008-04-17  Bruno Haible  <bruno@clisp.org>
43920
43921         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
43922         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
43923         implementation.
43924         Patch by Bruce Merry <bmerry@gmail.com>.
43925
43926 2008-04-17  Simon Josefsson  <simon@josefsson.org>
43927
43928         * doc/posix-functions/strftime.texi (strftime): Mention that %e
43929         doesn't work under Windows.
43930
43931 2008-04-16  Bruno Haible  <bruno@clisp.org>
43932
43933         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
43934         New macros.
43935         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
43936         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
43937         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
43938         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
43939         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
43940         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
43941         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
43942         macros.
43943         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
43944         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
43945         Northern Sotho, Uighur.
43946
43947 2008-04-16  Bruno Haible  <bruno@clisp.org>
43948
43949         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
43950         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
43951         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
43952         Reported by Daniel Bergström <daniel@octocode.com>.
43953
43954 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
43955             Bruno Haible  <bruno@clisp.org>
43956
43957         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
43958         function.
43959         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
43960         New functions, mostly extracted from gl_locale_name_default.
43961         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
43962
43963 2008-04-16  Eric Blake  <ebb9@byu.net>
43964
43965         Adjust strtod detection to catch glibc 2.7 bug.
43966         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
43967         Reported by John Gatewood Ham.
43968
43969 2008-04-16  Bruno Haible  <bruno@clisp.org>
43970
43971         Add tentative support for Linux libc5.
43972         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
43973         * lib/fpurge.c (fpurge): Likewise.
43974         * lib/freadable.c (freadable): Likewise.
43975         * lib/freadahead.c (freadahead): Likewise.
43976         * lib/freading.c (freading): Likewise.
43977         * lib/freadptr.c (freadptr): Likewise.
43978         * lib/freadseek.c (freadptrinc): Likewise.
43979         * lib/fseeko.c (rpl_fseeko): Likewise.
43980         * lib/fseterr.c (fseterr): Likewise.
43981         * lib/fwritable.c (fwritable): Likewise.
43982         * lib/fwriting.c (fwriting): Likewise.
43983         Reported by Alain Guibert <alguibert+bts@free.fr>.
43984
43985 2008-04-15  Bruno Haible  <bruno@clisp.org>
43986
43987         * modules/mathl (configure.ac): Define module indicator.
43988
43989 2008-04-15  Bruno Haible  <bruno@clisp.org>
43990
43991         * lib/logl.c (logl): Remove unused variables.
43992
43993 2008-04-15  Bruno Haible  <bruno@clisp.org>
43994
43995         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
43996         fails.
43997
43998 2008-04-15  Bruno Haible  <bruno@clisp.org>
43999
44000         * lib/trim.c (trim2): Fix argument of isspace() macro.
44001
44002 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
44003
44004         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
44005         to 0.
44006         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
44007
44008 2008-04-14  Bruno Haible  <bruno@clisp.org>
44009
44010         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
44011         AC_LANG_PROGRAM argument.
44012         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
44013         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
44014         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
44015         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
44016         * m4/math_h.m4 (gl_MATH_H): Likewise.
44017         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
44018         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
44019         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
44020         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
44021         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
44022         * m4/regex.m4 (gl_REGEX): Likewise.
44023         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
44024         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
44025         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
44026         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
44027         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
44028         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
44029         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
44030         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
44031
44032 2008-04-14  Jim Meyering  <meyering@redhat.com>
44033
44034         test-strtod: fix typos: s/abs/fabs/
44035         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
44036
44037 2008-04-13  Bruno Haible  <bruno@clisp.org>
44038
44039         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
44040         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
44041         module is also used and while not building the reloc-wrapper.
44042
44043 2008-04-13  Bruno Haible  <bruno@clisp.org>
44044
44045         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
44046
44047 2008-04-13  Bruno Haible  <bruno@clisp.org>
44048
44049         Fix AIX compilation failure introduced on 2008-04-02.
44050         * tests/test-frexp.c (exp): Undefine before redefining.
44051         * tests/test-frexpl.c (exp): Likewise.
44052
44053 2008-04-13  Bruno Haible  <bruno@clisp.org>
44054
44055         Work around a HP-UX stdio bug.
44056         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
44057         * tests/test-ftello.c (main): Likewise.
44058         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
44059         * doc/posix-functions/ftello.texi: Likewise.
44060
44061 2008-04-13  Bruno Haible  <bruno@clisp.org>
44062
44063         Make test-signbit pass on HP-UX/hppa.
44064         * tests/test-signbit.c (minus_zerol): New variable.
44065         (test_signbitl): Use it.
44066
44067 2008-04-13  Bruno Haible  <bruno@clisp.org>
44068
44069         Make truncl work on OSF/1 4.0.
44070         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
44071         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
44072         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
44073         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
44074         HAVE_DECL_TRUNCL.
44075         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
44076         HAVE_DECL_TRUNCL.
44077         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
44078
44079 2008-04-13  Bruno Haible  <bruno@clisp.org>
44080
44081         * lib/unictype.h: Remove trailing comma from enumeration definitions.
44082
44083 2008-04-13  Bruno Haible  <bruno@clisp.org>
44084
44085         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
44086         expression, so as to avoid HP-UX 11 cc compiler bug.
44087
44088 2008-04-13  Bruno Haible  <bruno@clisp.org>
44089
44090         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
44091
44092 2008-04-13  Bruno Haible  <bruno@clisp.org>
44093
44094         * lib/git-merge-changelog.c: Remove empty declaration outside of
44095         functions.
44096
44097 2008-04-13  Bruno Haible  <bruno@clisp.org>
44098
44099         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
44100
44101 2008-04-13  Bruno Haible  <bruno@clisp.org>
44102
44103         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
44104         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
44105         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
44106         also if it exists but lacks definitions of the SHUT_* macros.
44107         * modules/sys_socket (Description): Update.
44108         Reported by Elbert Pol <e.pol@chello.nl>.
44109
44110 2008-04-13  Bruno Haible  <bruno@clisp.org>
44111
44112         * lib/localcharset.c (OS2): Don't redefine if already defined.
44113         Reported by Elbert Pol <e.pol@chello.nl>.
44114
44115 2008-04-13  Bruno Haible  <bruno@clisp.org>
44116
44117         * lib/binary-io.h [__EMX__]: Include <io.h>.
44118         Reported by Elbert Pol <e.pol@chello.nl>.
44119
44120 2008-04-12  Bruno Haible  <bruno@clisp.org>
44121
44122         * lib/fpucw.h: Enable the definitions also for x86_64.
44123         Needed for NetBSD/x86_64.
44124         Reported by Thomas Klausner <tk@giga.or.at>.
44125
44126 2008-04-12  Bruno Haible  <bruno@clisp.org>
44127
44128         * tests/test-strtod.c: Include isnand.h.
44129         (main): Use isnand instead of isnan.
44130         Reported by Jim Meyering.
44131
44132 2008-04-12  Bruno Haible  <bruno@clisp.org>
44133
44134         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
44135         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
44136
44137 2008-04-12  Jim Meyering  <meyering@redhat.com>
44138
44139         * m4/math_h.m4 (gl_MATH_H): Fix typos.
44140
44141 2008-04-12  Bruno Haible  <bruno@clisp.org>
44142
44143         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
44144         Reported by Elbert Pol <e.pol@chello.nl>.
44145
44146 2008-04-12  Eric Blake  <ebb9@byu.net>
44147
44148         Work around Solaris 10 math.h bug.
44149         * m4/math_h.m4 (gl_MATH_H): Check for bug.
44150         (gl_MATH_H_DEFAULTS): Set up default.
44151         * modules/math (Makefile.am): Replace new indicators.
44152         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
44153         * tests/test-math.c (main): Test this.
44154         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
44155         * doc/posix-headers/math.texi (math.h): Mention bug.
44156         Reported by Nelson H. F. Beebe and Jim Meyering.
44157
44158 2008-04-11  Bruno Haible  <bruno@clisp.org>
44159
44160         Adapt to future versions of Apple GCC.
44161         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
44162         Reported by Peter O'Gorman <peter@pogma.com>.
44163
44164 2008-04-11  Bruno Haible  <bruno@clisp.org>
44165
44166         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
44167
44168 2008-04-11  Bruno Haible  <bruno@clisp.org>
44169
44170         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
44171
44172         * modules/getaddrinfo-tests (Makefile.am): Define
44173         test_getaddrinfo_LDADD.
44174
44175 2008-04-11  Bruno Haible  <bruno@clisp.org>
44176
44177         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
44178         (init): Fix syntax error.
44179         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
44180         is declared.
44181
44182 2008-04-11  Bruno Haible  <bruno@clisp.org>
44183
44184         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
44185         * modules/glob (Depends-on): Add stdbool.
44186
44187 2008-04-11  Bruno Haible  <bruno@clisp.org>
44188
44189         * lib/trim.c: Include <string.h>.
44190
44191 2008-04-11  Eric Blake  <ebb9@byu.net>
44192
44193         Avoid compile failure on OS/2.
44194         * lib/regex_internal.h (internal_function): Disable optimization
44195         on OS/2 (__EMX__), where it caused compiler error.
44196         Reported by Elbert Pol.
44197
44198 2008-04-11  Bruno Haible  <bruno@clisp.org>
44199
44200         Flush the standard error stream before aborting. Needed on mingw.
44201         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
44202         * tests/test-array_list.c (ASSERT): Likewise.
44203         * tests/test-array_oset.c (ASSERT): Likewise.
44204         * tests/test-avltree_list.c (ASSERT): Likewise.
44205         * tests/test-avltree_oset.c (ASSERT): Likewise.
44206         * tests/test-avltreehash_list.c (ASSERT): Likewise.
44207         * tests/test-binary-io.c (ASSERT): Likewise.
44208         * tests/test-byteswap.c (ASSERT): Likewise.
44209         * tests/test-c-ctype.c (ASSERT): Likewise.
44210         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
44211         * tests/test-c-strcasestr.c (ASSERT): Likewise.
44212         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
44213         * tests/test-c-strstr.c (ASSERT): Likewise.
44214         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
44215         * tests/test-canonicalize.c (ASSERT): Likewise.
44216         * tests/test-carray_list.c (ASSERT): Likewise.
44217         * tests/test-ceilf1.c (ASSERT): Likewise.
44218         * tests/test-ceilf2.c (ASSERT): Likewise.
44219         * tests/test-ceill.c (ASSERT): Likewise.
44220         * tests/test-count-one-bits.c (ASSERT): Likewise.
44221         * tests/test-fbufmode.c (ASSERT): Likewise.
44222         * tests/test-fflush2.c (ASSERT): Likewise.
44223         * tests/test-floorf1.c (ASSERT): Likewise.
44224         * tests/test-floorf2.c (ASSERT): Likewise.
44225         * tests/test-floorl.c (ASSERT): Likewise.
44226         * tests/test-fopen.c (ASSERT): Likewise.
44227         * tests/test-fpending.c (ASSERT): Likewise.
44228         * tests/test-fprintf-posix.c (ASSERT): Likewise.
44229         * tests/test-fpurge.c (ASSERT): Likewise.
44230         * tests/test-freadable.c (ASSERT): Likewise.
44231         * tests/test-freadahead.c (ASSERT): Likewise.
44232         * tests/test-freading.c (ASSERT): Likewise.
44233         * tests/test-freadptr.c (ASSERT): Likewise.
44234         * tests/test-freadptr2.c (ASSERT): Likewise.
44235         * tests/test-freadseek.c (ASSERT): Likewise.
44236         * tests/test-freopen.c (ASSERT): Likewise.
44237         * tests/test-frexp.c (ASSERT): Likewise.
44238         * tests/test-frexpl.c (ASSERT): Likewise.
44239         * tests/test-fseek.c (ASSERT): Likewise.
44240         * tests/test-fseeko.c (ASSERT): Likewise.
44241         * tests/test-fstrcmp.c (ASSERT): Likewise.
44242         * tests/test-ftell.c (ASSERT): Likewise.
44243         * tests/test-ftello.c (ASSERT): Likewise.
44244         * tests/test-func.c (ASSERT): Likewise.
44245         * tests/test-fwritable.c (ASSERT): Likewise.
44246         * tests/test-fwriting.c (ASSERT): Likewise.
44247         * tests/test-getdelim.c (ASSERT): Likewise.
44248         * tests/test-getline.c (ASSERT): Likewise.
44249         * tests/test-i-ring.c (ASSERT): Likewise.
44250         * tests/test-iconv-utf.c (ASSERT): Likewise.
44251         * tests/test-iconv.c (ASSERT): Likewise.
44252         * tests/test-isfinite.c (ASSERT): Likewise.
44253         * tests/test-isnand.c (ASSERT): Likewise.
44254         * tests/test-isnanf.c (ASSERT): Likewise.
44255         * tests/test-isnanl.h (ASSERT): Likewise.
44256         * tests/test-ldexpl.c (ASSERT): Likewise.
44257         * tests/test-linked_list.c (ASSERT): Likewise.
44258         * tests/test-linkedhash_list.c (ASSERT): Likewise.
44259         * tests/test-localename.c (ASSERT): Likewise.
44260         * tests/test-lseek.c (ASSERT): Likewise.
44261         * tests/test-mbscasecmp.c (ASSERT): Likewise.
44262         * tests/test-mbscasestr1.c (ASSERT): Likewise.
44263         * tests/test-mbscasestr2.c (ASSERT): Likewise.
44264         * tests/test-mbscasestr3.c (ASSERT): Likewise.
44265         * tests/test-mbscasestr4.c (ASSERT): Likewise.
44266         * tests/test-mbschr.c (ASSERT): Likewise.
44267         * tests/test-mbscspn.c (ASSERT): Likewise.
44268         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
44269         * tests/test-mbspbrk.c (ASSERT): Likewise.
44270         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
44271         * tests/test-mbsrchr.c (ASSERT): Likewise.
44272         * tests/test-mbsspn.c (ASSERT): Likewise.
44273         * tests/test-mbsstr1.c (ASSERT): Likewise.
44274         * tests/test-mbsstr2.c (ASSERT): Likewise.
44275         * tests/test-mbsstr3.c (ASSERT): Likewise.
44276         * tests/test-memchr2.c (ASSERT): Likewise.
44277         * tests/test-memmem.c (ASSERT): Likewise.
44278         * tests/test-open.c (ASSERT): Likewise.
44279         * tests/test-printf-frexp.c (ASSERT): Likewise.
44280         * tests/test-printf-frexpl.c (ASSERT): Likewise.
44281         * tests/test-printf-posix.c (ASSERT): Likewise.
44282         * tests/test-quotearg.c (ASSERT): Likewise.
44283         * tests/test-rbtree_list.c (ASSERT): Likewise.
44284         * tests/test-rbtree_oset.c (ASSERT): Likewise.
44285         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
44286         * tests/test-round1.c (ASSERT): Likewise.
44287         * tests/test-roundf1.c (ASSERT): Likewise.
44288         * tests/test-roundl.c (ASSERT): Likewise.
44289         * tests/test-signbit.c (ASSERT): Likewise.
44290         * tests/test-sleep.c (ASSERT): Likewise.
44291         * tests/test-snprintf-posix.c (ASSERT): Likewise.
44292         * tests/test-snprintf.c (ASSERT): Likewise.
44293         * tests/test-sprintf-posix.c (ASSERT): Likewise.
44294         * tests/test-stat-time.c (ASSERT): Likewise.
44295         * tests/test-strcasestr.c (ASSERT): Likewise.
44296         * tests/test-strerror.c (ASSERT): Likewise.
44297         * tests/test-striconv.c (ASSERT): Likewise.
44298         * tests/test-striconveh.c (ASSERT): Likewise.
44299         * tests/test-striconveha.c (ASSERT): Likewise.
44300         * tests/test-strsignal.c (ASSERT): Likewise.
44301         * tests/test-strstr.c (ASSERT): Likewise.
44302         * tests/test-strtod.c (ASSERT): Likewise.
44303         * tests/test-trunc1.c (ASSERT): Likewise.
44304         * tests/test-trunc2.c (ASSERT): Likewise.
44305         * tests/test-truncf1.c (ASSERT): Likewise.
44306         * tests/test-truncf2.c (ASSERT): Likewise.
44307         * tests/test-truncl.c (ASSERT): Likewise.
44308         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
44309         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
44310         * tests/test-vasnprintf.c (ASSERT): Likewise.
44311         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
44312         * tests/test-vasprintf.c (ASSERT): Likewise.
44313         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
44314         * tests/test-vprintf-posix.c (ASSERT): Likewise.
44315         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
44316         * tests/test-vsnprintf.c (ASSERT): Likewise.
44317         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
44318         * tests/test-wcwidth.c (ASSERT): Likewise.
44319         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
44320         * tests/test-xprintf-posix.c (ASSERT): Likewise.
44321         * tests/test-xvasprintf.c (ASSERT): Likewise.
44322         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
44323         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
44324         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
44325         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
44326         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
44327         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
44328         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
44329         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
44330         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
44331         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
44332         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
44333         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
44334         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
44335         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
44336         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
44337         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
44338         * tests/unictype/test-block_list.c (ASSERT): Likewise.
44339         * tests/unictype/test-block_of.c (ASSERT): Likewise.
44340         * tests/unictype/test-block_test.c (ASSERT): Likewise.
44341         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
44342         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
44343         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
44344         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
44345         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
44346         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
44347         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
44348         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
44349         * tests/unictype/test-combining.c (ASSERT): Likewise.
44350         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
44351         * tests/unictype/test-digit.c (ASSERT): Likewise.
44352         * tests/unictype/test-mirror.c (ASSERT): Likewise.
44353         * tests/unictype/test-numeric.c (ASSERT): Likewise.
44354         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
44355         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
44356         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
44357         * tests/unictype/test-scripts.c (ASSERT): Likewise.
44358         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
44359         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
44360         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
44361         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
44362         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
44363         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
44364         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
44365         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
44366         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
44367         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
44368         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
44369         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
44370         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
44371         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
44372         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
44373         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
44374         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
44375         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
44376         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
44377         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
44378         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
44379         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
44380         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
44381         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
44382         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
44383         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
44384         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
44385         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
44386         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
44387         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
44388         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
44389         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
44390         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
44391         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
44392         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
44393         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
44394         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
44395         Reported by Eric Blake.
44396
44397 2008-04-11  Bruno Haible  <bruno@clisp.org>
44398
44399         * lib/wchar.in.h: Tweak comment.
44400
44401 2008-04-11  Bruno Haible  <bruno@clisp.org>
44402
44403         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
44404         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
44405         gl_COMMON.
44406         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
44407
44408 2008-04-11  Bruno Haible  <bruno@clisp.org>
44409
44410         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
44411
44412 2008-04-11  Simon Josefsson  <simon@josefsson.org>
44413
44414         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
44415         of attempting to use non-existing /dev/*random.  Based on patch
44416         from Adam Strzelecki <ono@java.pl> in
44417         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
44418
44419 2008-04-08  Bruno Haible  <bruno@clisp.org>
44420
44421         Add tentative support for emx+gcc.
44422         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
44423         * lib/fpurge.c (fpurge): Likewise.
44424         * lib/freadable.c (freadable): Likewise.
44425         * lib/freadahead.c (freadahead): Likewise.
44426         * lib/freading.c (freading): Likewise.
44427         * lib/freadptr.c (freadptr): Likewise.
44428         * lib/freadseek.c (freadptrinc): Likewise.
44429         * lib/fseeko.c (rpl_fseeko): Likewise.
44430         * lib/fseterr.c (fseterr): Likewise.
44431         * lib/fwritable.c (fwritable): Likewise.
44432         * lib/fwriting.c (fwriting): Likewise.
44433         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
44434
44435 2008-04-09  Eric Blake  <ebb9@byu.net>
44436
44437         Avoid some autoconf warnings.
44438         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
44439         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
44440         * m4/afs.m4 (gl_AFS): Likewise.
44441         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
44442         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
44443         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
44444         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
44445         (gl_INTEGER_TYPE_SUFFIX): Likewise.
44446         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
44447         (AC_CHECK_DECLS_ONCE): Likewise.
44448         Rename file...
44449         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
44450         gnulib-tool requires autoconf 2.59 or better.
44451         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
44452
44453 2008-04-08  Eric Blake  <ebb9@byu.net>
44454
44455         Use 'git describe --match' if present (added in git 1.5.5).
44456         * build-aux/git-version-gen: Limit result to tags that match 'v*'
44457         if possible.
44458
44459 2008-04-08  Bruno Haible  <bruno@clisp.org>
44460
44461         Add tentative support for OpenServer.
44462         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
44463         _ptr, _cnt.
44464         * lib/fpurge.c (fpurge): Likewise.
44465         * lib/freadable.c (freadable): Likewise.
44466         * lib/freadahead.c (freadahead): Likewise.
44467         * lib/freading.c (freading): Likewise.
44468         * lib/freadptr.c (freadptr): Likewise.
44469         * lib/freadseek.c (freadptrinc): Likewise.
44470         * lib/fseeko.c (rpl_fseeko): Likewise.
44471         * lib/fseterr.c (fseterr): Likewise.
44472         * lib/fwritable.c (fwritable): Likewise.
44473         * lib/fwriting.c (fwriting): Likewise.
44474         Reported by Roger Cornelius <rac@tenzing.org> and
44475         Brian K. White <brian@aljex.com>.
44476
44477 2008-04-06  Jim Meyering  <meyering@redhat.com>
44478
44479         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
44480
44481 2008-04-06  Bruno Haible  <bruno@clisp.org>
44482
44483         Avoid possible error with non-ASCII bytes in UTF-8 locales.
44484         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
44485         * tests/test-printf-posix.sh: Likewise.
44486         * tests/test-vfprintf-posix.sh: Likewise.
44487         * tests/test-vprintf-posix.sh: Likewise.
44488         * tests/test-xprintf-posix.sh: Likewise.
44489
44490 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44491
44492         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
44493         hide error from 'ls', needed on OS/2.
44494         Report by Elbert Pol <elbert.pol@gmail.com>.
44495
44496 2008-04-04  Eric Blake  <ebb9@byu.net>
44497
44498         Make test-fseeko.c failures meaningful.
44499         * tests/test-fseeko.c: Print line number on failure.
44500         * tests/test-fseek.c: Likewise.
44501         Reported by Nelson H. F. Beebe.
44502
44503         Improve strtod bug detection check.
44504         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
44505         required for Solaris 10.
44506         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
44507
44508 2008-04-04  Bruno Haible  <bruno@clisp.org>
44509
44510         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
44511         by m4/setenv.m4.
44512
44513 2008-04-03  Eric Blake  <ebb9@byu.net>
44514
44515         Ensure sane .version contents.
44516         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
44517         version string.
44518         * build-aux/git-version-gen: Improve documentation.
44519
44520         Make GNU make output nicer.
44521         * top/GNUmakefile [!_have-Makefile]: Add dependency on
44522         MAKECMDGOALS to enforce message for all command line targets.  Set
44523         srcdir for use in maint.mk.
44524
44525         Another maintainer tweak.
44526         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
44527         a target that regenerates version.
44528
44529 2008-04-03  Jim Meyering  <meyering@redhat.com>
44530
44531         vc-list-files: don't cause coreutils "make po-check" failure
44532         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
44533
44534 2008-04-03  Eric Blake  <ebb9@byu.net>
44535
44536         Allow VPATH usage of vc-list-files.
44537         * build-aux/vc-list-files (scriptversion): Add timestamp.
44538         (options): Add --help, --version, -C.
44539         (CVS): Support installed cvsu.
44540
44541 2008-04-02  Bruno Haible  <bruno@clisp.org>
44542
44543         Avoid some "statement with no effect" warnings from gcc.
44544         * tests/test-wctype.c (main): Explicitly ignore unused values.
44545         Reported by Jim Meyering.
44546
44547 2008-04-02  Jim Meyering  <meyering@redhat.com>
44548
44549         Avoid some warnings from "gcc -Wshadow".
44550         * tests/test-frexp.c (exp): Define to a different identifier.
44551         * tests/test-frexpl.c (exp): Likewise.
44552
44553 2008-04-03  Jim Meyering  <meyering@redhat.com>
44554
44555         bootstrap: remove dangling *.[ch] symlinks from lib
44556         * build-aux/bootstrap [dangling symlink removal]: Move find's
44557         -depth option to precede all others, to avoid a warning.
44558         Remove *.[ch] files too, and from "$source_base" (usually lib/).
44559
44560 2008-04-02  Bruno Haible  <bruno@clisp.org>
44561
44562         Avoid some warnings from "gcc -Wshadow".
44563         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
44564         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
44565         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
44566         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
44567         Reported by Jim Meyering.
44568
44569 2008-04-01  Bruno Haible  <bruno@clisp.org>
44570
44571         Fix test to work on IRIX 6.5 with cc.
44572         * tests/test-math.c (numeric_equal): New function.
44573         (main): Use it.
44574
44575 2008-04-01  Bruno Haible  <bruno@clisp.org>
44576
44577         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
44578
44579 2008-04-01  Bruno Haible  <bruno@clisp.org>
44580
44581         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
44582         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
44583         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
44584         (Depends-on): Remove math.
44585
44586         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
44587         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
44588         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
44589         (Depends-on): Remove math.
44590
44591         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
44592         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
44593         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
44594         (Depends-on): Remove math.
44595         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
44596         (Depends-on): Remove math.
44597
44598         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
44599         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
44600         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
44601         (Depends-on): Remove math.
44602         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
44603         (Depends-on): Remove math.
44604
44605         * tests/test-round1.c: Include nan.h.
44606         (main): Use NaNd instead of NAN.
44607         * modules/round-tests (Files): Add tests/nan.h.
44608
44609         * tests/test-trunc1.c: Include nan.h.
44610         (main): Use NaNd instead of NAN.
44611         * modules/trunc-tests (Files): Add tests/nan.h.
44612
44613         * tests/test-roundf1.c: Include nan.h.
44614         (main): Use NaNf instead of NAN.
44615         * modules/roundf-tests (Files): Add tests/nan.h.
44616
44617         * tests/test-truncf1.c: Include nan.h.
44618         (main): Use NaNf instead of NAN.
44619         * modules/truncf-tests (Files): Add tests/nan.h.
44620
44621         * tests/test-ceilf1.c: Include nan.h.
44622         (main): Use NaNf instead of NAN.
44623         * modules/ceilf-tests (Files): Add tests/nan.h.
44624
44625         * tests/test-floorf1.c: Include nan.h.
44626         (main): Use NaNf instead of NAN.
44627         * modules/floorf-tests (Files): Add tests/nan.h.
44628
44629         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
44630         (main): Use NaNf instead of NAN.
44631         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
44632
44633         * tests/test-isnand.c: Include nan.h instead of <math.h>.
44634         (main): Use NaNd instead of NAN.
44635         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
44636
44637         * tests/test-frexp.c: Include nan.h.
44638         (main): Use NaNd instead of NAN.
44639         * modules/frexp-tests (Files): Add tests/nan.h.
44640
44641         * lib/isnan.c: Don't include <math.h>.
44642         (FUNC): Don't use NAN macro.
44643         * modules/isnand-nolibm (Depends-on): Remove math.
44644         * modules/isnanf-nolibm (Depends-on): Remove math.
44645         * modules/isnanl (Depends-on): Remove math.
44646         * modules/isnanl-nolibm (Depends-on): Remove math.
44647
44648         * tests/nan.h: New file.
44649
44650 2008-04-01  Eric Blake  <ebb9@byu.net>
44651
44652         Fix typos.
44653         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
44654         values to be the right type.
44655
44656         For now, cater to gnulib strtod inaccuracies.
44657         * tests/test-strtod.c (main): Allow 1-ulp error on expected
44658         fractional results.  While not as nice from a QoI perspective, it
44659         is a quicker patch than correctly implementing decimal to binary
44660         rounding.
44661
44662 2008-03-31  Eric Blake  <ebb9@byu.net>
44663
44664         Guarantee a definition of NAN.
44665         * lib/math.in.h (NAN): Define if missing.
44666         * tests/test-math.c (main): Test it.
44667         * doc/posix-headers/math.texi (math.h): Document this.
44668         * lib/isnan.c (rpl_isnand): Use it.
44669         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
44670         * tests/test-floorf1.c (NaN): Likewise.
44671         * tests/test-frexp.c (NaN): Likewise.
44672         * tests/test-isnand.c (NaN): Likewise.
44673         * tests/test-isnanf.c (NaN): Likewise.
44674         * tests/test-round1.c (NaN): Likewise.
44675         * tests/test-roundf1.c (NaN): Likewise.
44676         * tests/test-snprintf-posix.h (NaN): Likewise.
44677         * tests/test-sprintf-posix.h (NaN): Likewise.
44678         * tests/test-trunc1.c (NaN): Likewise.
44679         * tests/test-truncf1.c (NaN): Likewise.
44680         * tests/test-vasnprintf-posix.c (NaN): Likewise.
44681         * tests/test-vasprintf-posix.c (NaN): Likewise.
44682         * modules/isnand-nolibm (Depends-on): Add math.
44683         * modules/isnanf-nolibm (Depends-on): Likewise.
44684         * modules/isnanl (Depends-on): Likewise.
44685         * modules/isnanl-nolibm (Depends-on): Likewise.
44686         * modules/snprintf-posix-tests (Depends-on): Likewise.
44687         * modules/sprintf-posix-tests (Depends-on): Likewise.
44688         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
44689         * modules/vsprintf-posix-tests (Depends-on): Likewise.
44690         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
44691         * modules/vasprintf-posix-tests (Depends-on): Likewise.
44692
44693 2008-03-31  Bruno Haible  <bruno@clisp.org>
44694
44695         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
44696         * doc/posix-functions/strtod.texi: Likewise.
44697
44698 2008-03-31  Bruno Haible  <bruno@clisp.org>
44699
44700         * tests/test-strtod.c (main): Don't use C99 syntax.
44701
44702 2008-03-31  Bruno Haible  <bruno@clisp.org>
44703
44704         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
44705         Reported by Eric Blake.
44706
44707 2008-03-31  Jim Meyering  <meyering@redhat.com>
44708
44709         Don't compare actual signbit return values.
44710         * tests/test-strtod.c (main): Rather, compare only their
44711         zero/non-zero nature.
44712
44713 2008-03-31  Eric Blake  <ebb9@byu.net>
44714
44715         More strtod documentation.
44716         * doc/posix-functions/strtod.texi (strtod): Interpret more test
44717         failures as distinct bugs.
44718
44719 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
44720
44721         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
44722         Problem reported by Erik Benada in
44723         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
44724
44725 2008-03-30  Bruno Haible  <bruno@clisp.org>
44726
44727         * tests/test-strtod.c: Add comments about which assertion fails on which
44728         platform.
44729         * doc/posix-functions/strtod.texi: Add info about many more platforms.
44730
44731 2008-03-30  Eric Blake  <ebb9@byu.net>
44732
44733         Test signbit behavior on zeros.
44734         * tests/test-signbit.c (test_signbitf): Add tests for zero.
44735         (test_signbitd, test_signbitl): Likewise.
44736
44737         More strtod touchups.
44738         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
44739         sign of negative underflow, for now.  Use .5, not .1.
44740         * doc/posix-functions/strtod.texi (strtod): Mention these
44741         limitations.
44742         Reported by Jim Meyering.
44743
44744 2008-03-30  Bruno Haible  <bruno@clisp.org>
44745
44746         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
44747         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
44748
44749 2008-03-30  Bruno Haible  <bruno@clisp.org>
44750
44751         Avoid failure when attempting to return empty iconv results on some
44752         platforms.
44753         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
44754         allocation, don't report ENOMEM when the resulting string is empty.
44755
44756 2008-03-30  Bruno Haible  <bruno@clisp.org>
44757
44758         Fix buffer overrun.
44759         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
44760         Don't consider the width for tmp_length. Check count against tmp_length
44761         before doing the padding. Ensure enough allocation during padding.
44762
44763 2008-03-30  Eric Blake  <ebb9@byu.net>
44764
44765         strtod touchups.
44766         * lib/strtod.c (strtod): Avoid compiler warnings.
44767         Reported by Jim Meyering.
44768
44769 2008-03-30  Bruno Haible  <bruno@clisp.org>
44770
44771         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
44772         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
44773         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
44774         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
44775         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
44776         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
44777         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
44778         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
44779
44780         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
44781         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
44782         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
44783         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
44784         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
44785         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
44786         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
44787         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
44788
44789         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
44790         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
44791         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
44792         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
44793         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
44794         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
44795         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
44796         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
44797
44798         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
44799         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
44800
44801         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
44802         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
44803
44804         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
44805         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
44806
44807         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
44808         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
44809         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
44810
44811         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
44812         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
44813         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
44814
44815         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
44816         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
44817         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
44818
44819         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
44820         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
44821         * modules/vasprintf (Depends-on): Add EOVERFLOW.
44822
44823         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
44824         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
44825         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
44826         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
44827         (Depends-on): Add EOVERFLOW.
44828         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
44829         (Depends-on): Add EOVERFLOW.
44830         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
44831         (Depends-on): Add EOVERFLOW.
44832         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
44833         (Depends-on): Add EOVERFLOW.
44834         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
44835         (Depends-on): Add EOVERFLOW.
44836         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
44837         (Depends-on): Add EOVERFLOW.
44838         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
44839         (Depends-on): Add EOVERFLOW.
44840         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
44841         (Depends-on): Add EOVERFLOW.
44842
44843         * lib/sprintf.c (EOVERFLOW): Remove fallback.
44844         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
44845         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
44846
44847         * lib/snprintf.c (EOVERFLOW): Remove fallback.
44848         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
44849         * modules/snprintf (Depends-on): Add EOVERFLOW.
44850
44851         * lib/poll.c (EOVERFLOW): Remove fallback.
44852         * modules/poll (Depends-on): Add EOVERFLOW.
44853
44854         * lib/getugroups.c (EOVERFLOW): Remove fallback.
44855         * modules/getugroups (Depends-on): Add EOVERFLOW.
44856
44857         * lib/getdelim.c (EOVERFLOW): Remove fallback.
44858         * modules/getdelim (Depends-on): Add EOVERFLOW.
44859
44860         * lib/ftell.c (EOVERFLOW): Remove fallback.
44861         * modules/ftell (Depends-on): Add EOVERFLOW.
44862
44863         * lib/fprintf.c (EOVERFLOW): Remove fallback.
44864         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
44865         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
44866
44867         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
44868
44869         * modules/EOVERFLOW-tests: New file.
44870         * tests/test-EOVERFLOW.c: New file.
44871
44872         * modules/EOVERFLOW: New file.
44873         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
44874
44875 2008-03-30  Bruno Haible  <bruno@clisp.org>
44876
44877         Fix bug introduced on 2007-06-10.
44878         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
44879         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
44880
44881 2008-03-30  Bruno Haible  <bruno@clisp.org>
44882
44883         Improve freadseek's efficiency after ungetc.
44884         * lib/freadseek.c: Include freadahead.h.
44885         (freadptrinc): New function, extracted from freadseek.
44886         (freadseek): Use it in a loop. Use freadahead to determine the number
44887         of loop iterations.
44888         * modules/freadseek (Depends-on): Add freadahead.
44889         (configure.ac): Require AC_C_INLINE.
44890
44891 2008-03-30  Bruno Haible  <bruno@clisp.org>
44892
44893         * lib/freadseek.c (freadseek): Don't ignore the return value of
44894         freadptr.
44895
44896 2008-03-29  Eric Blake  <ebb9@byu.net>
44897
44898         Add hex float support.
44899         * modules/strtod (Depends-on): Add c-ctype.
44900         (Link): Mention POW_LIB.
44901         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
44902         whitespace between 'e' and exponent.
44903         * tests/test-strtod.c (main): Enable hex float tests.
44904         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
44905         now provides.
44906
44907         Document various strtod bugs, with some fixes.
44908         * doc/posix-functions/strtod.texi (strtod): Document bugs with
44909         "-0x", "inf", "nan", and hex constants.
44910         * doc/posix-functions/atof.texi (atof): Likewise.
44911         * modules/stdlib (Makefile.am): Support strtod.
44912         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
44913         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
44914         detect additional strtod bugs.
44915         * lib/stdlib.in.h (rpl_strtod): Add declarations.
44916         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
44917         bool where appropriate.  Parse 'inf' and 'nan'.
44918         * tests/test-strtod.c: New file.
44919         * modules/strtod (Depends-on): Add stdbool, stdlib.
44920         (configure.ac): Turn on module indicator.
44921         * modules/strtod-tests: New module.
44922
44923 2008-03-29  Eric Blake  <ebb9@byu.net>
44924
44925         Fix ftell on mingw.
44926         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
44927         * modules/ftell-tests (Depends-on): Add binary-io.
44928         * modules/ftello-tests (Depends-on): Likewise.
44929         * tests/test-ftell.c (main): Enhance test to cover behavior after
44930         ungetc.  Enforce binary mode.
44931         * tests/test-ftello.c (main): Likewise.
44932
44933         Pass test-freadseek on cygwin.
44934         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
44935         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
44936         ungetc buffer.
44937
44938         * tests/test-fflush2.c (main): Fix typo.
44939
44940 2008-03-29  Bruno Haible  <bruno@clisp.org>
44941
44942         * tests/test-fflush2.c (main): Temporarily disable the contents of
44943         this test.
44944         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
44945         Reported by Eric Blake.
44946
44947 2008-03-28  Simon Josefsson  <simon@josefsson.org>
44948
44949         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
44950         (GC_SHA224_DIGEST_SIZE): Add.
44951
44952         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
44953         (gc_hash_digest_length): Likewise.
44954         (gc_hash_buffer): Likewise.
44955
44956 2008-03-25  Bruno Haible  <bruno@clisp.org>
44957
44958         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
44959         detail which gettext release to use.
44960         Reported by Simon Josefsson.
44961
44962 2008-03-26  Jim Meyering  <meyering@redhat.com>
44963
44964         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
44965         * modules/gnumakefile (clean-GNUmakefile): Also, use
44966         test ... && ... || : syntax rather than if-then ... fi.
44967
44968         gnumakefile: Don't double-quote-expand $(VPATH) value.
44969         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
44970
44971 2008-03-24  Eric Blake  <ebb9@byu.net>
44972
44973         Alter GNUmakefile to install into top directory.
44974         * modules/maintainer-makefile: Split, and add dependency...
44975         * modules/gnumakefile: to this new module.
44976         * build-aux/GNUmakefile: Move...
44977         * top/GNUmakefile: ...here.
44978         * build-aux/maint.mk: Move...
44979         * top/maint.mk: ...here.
44980         * MODULES.html.sh (Support for maintaining...): Document new
44981         module.
44982
44983 2008-03-23  Bruno Haible  <bruno@clisp.org>
44984
44985         * gnulib-tool: New options --vc-files, --no-vc-files.
44986         (func_usage): Document them.
44987         (vc_files): New variable.
44988         (func_import): Consider vc_files.
44989         (func_create_testdir): Set vc_files to empty.
44990         Suggested by Jim Meyering and Karl Berry.
44991
44992 2008-03-23  Bruno Haible  <bruno@clisp.org>
44993
44994         Fix regex compilation error on HP-UX 11.
44995         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
44996         * modules/regex (Files): Add m4/mbstate_t.m4.
44997         Reported by Ton Voon <ton.voon@altinity.com>.
44998
44999 2008-03-23  Bruno Haible  <bruno@clisp.org>
45000
45001         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
45002
45003 2008-03-23  Eric Blake  <ebb9@byu.net>
45004             Bruno Haible  <bruno@clisp.org>
45005
45006         Install files from top/ in the destination directory.
45007         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
45008         augmentation also for the files from top/.
45009         (func_import, func_create_testdir): Rewrite file names:
45010         top/filename -> filename.
45011
45012 2008-03-23  Bruno Haible  <bruno@clisp.org>
45013
45014         Tweak "gnulib --version" output.
45015         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
45016
45017 2008-03-23  Bruno Haible  <bruno@clisp.org>
45018
45019         Tweak "gnulib --version" output.
45020         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
45021         rather than contents of ChangeLog, when possible.
45022
45023 2008-03-21  Eric Blake  <ebb9@byu.net>
45024
45025         More --version tweaks.
45026         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
45027         date of last ChangeLog entry.
45028
45029 2008-03-21  Jim Meyering  <meyering@redhat.com>
45030
45031         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
45032
45033 2008-03-20  Eric Blake  <ebb9@byu.net>
45034
45035         VPATH fix.
45036         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
45037
45038 2008-03-20  Simon Josefsson  <simon@josefsson.org>
45039
45040         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
45041         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
45042
45043 2008-03-20  Eric Blake  <ebb9@byu.net>
45044
45045         Sync GNUmakefile with coreutils.
45046         * build-aux/GNUmakefile (have-Makefile): Rename...
45047         (_have-Makefile): ...to this, for namespace consideration.
45048         (GNUmakefile.cfg): Include, if present.
45049         (_autoreconf): Define a default.
45050         (_is-dist-target): New rule for rebuilds to pick up intra-release
45051         version.
45052         (maint-cfg.mk): Rename...
45053         (cfg.mk): ...to this.
45054
45055 2008-03-18  Jim Meyering  <meyering@redhat.com>
45056
45057         New script and module: mktempd
45058         * MODULES.html.sh (maint+release support): Add mktempd.
45059         * build-aux/mktempd: New file.
45060         * modules/mktempd: New file.
45061
45062 2008-03-15  Jim Meyering  <meyering@redhat.com>
45063
45064         Undo last change.
45065         * lib/sha1.c, lib/md5.c: 63 != ~63.
45066         Reported by Andreas Schwab.
45067
45068         sha1.c, md5.c: Hoist a redundant expression.
45069         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
45070         "ctx->buflen" only once, before calling *_process_block.
45071         * lib/md5.c (md5_process_bytes): Likewise.
45072
45073 2008-03-14  Eric Blake  <ebb9@byu.net>
45074
45075         Bump copyright year in files generated by gnulib-tool.
45076         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
45077         gnulib-tool, rather than hard-coding it.
45078
45079         Fix 'gnulib-tool --version' output to work with git.
45080         * gnulib-tool (func_gnulib_dir): New function, extracted from...
45081         (startup): ...here.
45082         (func_version): Use it to invoke git-version-gen, rather than
45083         relying on CVS keyword expansion.  Modernize wording.
45084         (cvsdatestamp, last_checkin_date, version): Kill unused
45085         variables.
45086
45087 2008-03-12  Jim Meyering  <meyering@redhat.com>
45088
45089         Recognize optional cast of the argument to free.
45090         * build-aux/useless-if-before-free: Update regexps.
45091
45092         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
45093
45094 2008-03-11  Bruno Haible  <bruno@clisp.org>
45095
45096         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
45097         by a single package.
45098         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
45099         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
45100         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
45101         Reported by Sam Steingold <sds@gnu.org>.
45102
45103 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
45104
45105         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
45106         repositories.
45107
45108 2008-03-11  Bruno Haible  <bruno@clisp.org>
45109
45110         Avoid conflicts between local macro definitions.
45111         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
45112         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
45113
45114 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
45115             Bruno Haible  <bruno@clisp.org>
45116
45117         Make va_copy work with some version of xlc on AIX 5.1.
45118         * lib/stdarg.in.h: New file.
45119         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
45120         On AIX, use a <stdarg.h> file substitute.
45121         * modules/stdarg (Files): Add lib/stdarg.in.h.
45122         (Depends-on): Add include_next.
45123         (Makefile.am): Build a stdarg.h substitute if requested.
45124         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
45125
45126 2008-03-10  Bruno Haible  <bruno@clisp.org>
45127
45128         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
45129         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
45130         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
45131
45132 2008-03-10  Bruno Haible  <bruno@clisp.org>
45133
45134         * modules/stdlib (Depends-on): Add include_next, remove
45135         absolute-header.
45136
45137 2008-03-09  Bruno Haible  <bruno@clisp.org>
45138
45139         * lib/freadahead.h (freadahead): Document more precisely.
45140         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
45141         the sum of both buffer sizes.
45142         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
45143         * NEWS: Document the change.
45144
45145 2008-03-09  Bruno Haible  <bruno@clisp.org>
45146
45147         Extend freadptr to return also the buffer size.
45148         * lib/freadptr.h (freadptr): Add sizep argument.
45149         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
45150         (freadptr): Add sizep argument. Determine buffer size like freadahead
45151         does.
45152         * tests/test-freadptr.c: Don't include freadahead.h.
45153         (main): Adapt for new calling convention of freadptr.
45154         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
45155         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
45156         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
45157         tests/test-freadptr2.sh.
45158         (Depends): Remove freadahead.
45159         (TESTS): Add test-freadptr2.sh.
45160         (check_PROGRAMS): Add test-freadptr2.
45161
45162 2008-03-09  Bruno Haible  <bruno@clisp.org>
45163
45164         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
45165         Report and solution by Simon Josefsson.
45166
45167 2008-03-06  Bruno Haible  <bruno@clisp.org>
45168
45169         Make fflush after ungetc work on BSD platforms.
45170         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
45171         * tests/test-fflush2.c: New file.
45172         * tests/test-fflush2.sh: New file.
45173         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
45174         tests/test-fflush2.c.
45175         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
45176         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
45177
45178 2008-03-06  Eric Blake  <ebb9@byu.net>
45179
45180         Likewise for ftello.
45181         * modules/ftello (Dependencies): Add extensions.
45182         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
45183
45184 2008-03-06  Bruno Haible  <bruno@clisp.org>
45185
45186         * modules/fseeko (Dependencies): Add extensions.
45187         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
45188         Needed on glibc systems.
45189
45190 2008-03-06  Bruno Haible  <bruno@clisp.org>
45191
45192         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
45193         email address.
45194         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
45195
45196 2008-03-06  Bruno Haible  <bruno@clisp.org>
45197
45198         * users.txt: Add libgnupdf.
45199
45200 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
45201
45202         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
45203         (Header File Substitutes, Function Substitutes,
45204         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
45205         (Build robot for gnulib): Fix typo.
45206
45207 2008-03-06  Bruno Haible  <bruno@clisp.org>
45208
45209         * doc/gnulib-tool.texi (VCS Issues): Small updates.
45210         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
45211
45212 2008-03-06  Bruno Haible  <bruno@clisp.org>
45213
45214         * doc/func.texi: New file, extracted from doc/gnulib.texi.
45215         * doc/gnulib.texi: Include it.
45216
45217 2008-03-06  Simon Josefsson  <simon@josefsson.org>
45218
45219         * modules/func (License): Change license to unlimited; there was
45220         no LGPL parts in the module anyway.
45221
45222 2008-03-06  Simon Josefsson  <simon@josefsson.org>
45223
45224         * modules/__func__: Renamed to modules/func.
45225         * modules/__func__-tests: Renamed to modules/func-tests.
45226         * tests/test-__func__.c: Renamed to tests/test-func.c.
45227         * m4/__func__.m4: Renamed to m4/func.m4.
45228         * doc/gnulib.texi (__func__): Section renamed to func.
45229         Suggested by Eric Blake <ebb9@byu.net>.
45230
45231 2008-03-06  Simon Josefsson  <simon@josefsson.org>
45232
45233         * doc/gnulib.texi (__func__): Use C99 terminology when talking
45234         about __func__.  Make example self-contained.  Suggested by Eric
45235         Blake <ebb9@byu.net>.
45236
45237         * tests/test-__func__.c (main): Avoid extraneous () around __func.
45238         Suggested by Eric Blake <ebb9@byu.net>.
45239
45240 2008-03-06  Simon Josefsson  <simon@josefsson.org>
45241
45242         * modules/__func__: New file.
45243         * modules/__func__-tests: New file.
45244         * tests/test-__func__.c: New file.
45245         * m4/__func__.m4: New file.
45246         * doc/gnulib.texi (__func__): Document __func__ module.
45247
45248 2008-03-05  Simon Josefsson  <simon@josefsson.org>
45249
45250         * modules/byteswap (License): Re-license as LGPLv2+.
45251
45252 2008-03-05  Simon Josefsson  <simon@josefsson.org>
45253
45254         * doc/Makefile: Add pdf target.
45255
45256 2008-03-05  Simon Josefsson  <simon@josefsson.org>
45257
45258         * modules/inline (License): Use 'unlimited', since there are only
45259         *.m4 files in this module.
45260
45261 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
45262             Bruno Haible  <bruno@clisp.org>
45263
45264         Add support for HP C 7.1 on OpenVMS 8.3.
45265         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
45266
45267 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
45268
45269         Update VMS specifics.
45270         * lib/getopt.c [VMS]: Remove include of unixlib.h.
45271
45272 2008-03-02  Jim Meyering  <meyering@redhat.com>
45273
45274         Remove the last dependency on the "free" module.
45275         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
45276         Reported by Bob Proulx.
45277
45278         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
45279
45280         Remove useless "if" tests before free.  Deprecate "free" module.
45281         * doc/posix-functions/free.texi: Mention that this
45282         module is no longer useful.
45283         * modules/free (Notice): Say this module is obsolete.
45284         * modules/readutmp (Depends-on): Remove free.
45285         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
45286         * lib/putenv.c (putenv): Likewise.
45287         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
45288         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
45289         * tests/test-c-strcasestr.c (main): Likewise.
45290         * tests/test-c-strstr.c (main): Likewise.
45291         * tests/test-mbscasestr1.c (main): Likewise.
45292         * tests/test-mbscasestr2.c (main): Likewise.
45293         * tests/test-mbsstr1.c (main): Likewise.
45294         * tests/test-mbsstr2.c (main): Likewise.
45295         * tests/test-memmem.c (main): Likewise.
45296         * tests/test-strcasestr.c (main): Likewise.
45297         * tests/test-striconv.c (main): Likewise.
45298         * tests/test-striconveh.c (main): Likewise.
45299         * tests/test-striconveha.c (main): Likewise.
45300         * tests/test-strstr.c (main): Likewise.
45301
45302         * build-aux/git-version-gen: Adjust a comment and the Usage string.
45303
45304         bootstrap: sync from coreutils again
45305         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
45306
45307 2008-03-01  Jim Meyering  <meyering@redhat.com>
45308
45309         bootstrap: sync from coreutils
45310         * build-aux/bootstrap (update_po_files): Copy a .po file into place
45311         also when the target doesn't exist.
45312
45313 2008-03-01  Eric Blake  <ebb9@byu.net>
45314
45315         Fix bugs in last patch.
45316         * lib/memchr2.c (memchr2): Fix typo.
45317         * tests/test-memchr2.c: Test previous bug, and don't use GNU
45318         extension.
45319         Reported by Bruce Korb.
45320
45321         New module 'memchr2'.
45322         * modules/memchr2: New file.
45323         * modules/memchr2-tests: Likewise.
45324         * lib/memchr2.h: Likewise.
45325         * lib/memchr2.c: Likewise, based on memchr.c.
45326         * tests/test-memchr2.c: New test.
45327         * MODULES.html.sh (String handling): Add memchr2.
45328
45329 2008-02-29  Bruno Haible  <bruno@clisp.org>
45330
45331         * modules/freadseek-tests: New file.
45332         * tests/test-freadseek.sh: New file.
45333         * tests/test-freadseek.c: New file.
45334
45335         New module 'freadseek'.
45336         * modules/freadseek: New file.
45337         * lib/freadseek.h: New file.
45338         * lib/freadseek.c: New file.
45339         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
45340
45341 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
45342
45343         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
45344         wydawca.
45345
45346         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
45347         program_invocation_name and program_invocation_short_name are
45348         present.
45349
45350 2008-02-28  Bruno Haible  <bruno@clisp.org>
45351
45352         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
45353         * tests/test-freadptr.sh: Also test non-seekable stdin.
45354
45355 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
45356
45357         * build-aux/bootstrap (source_base, m4_base)
45358         (doc_base, tests_base): New variables.
45359         (gnulib_tool_options): Do not hardcode base directories, use
45360         the above variables instead.
45361
45362 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
45363
45364         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
45365
45366 2008-02-28  Bruno Haible  <bruno@clisp.org>
45367
45368         * modules/freadptr-tests: New file.
45369         * tests/test-freadptr.sh: New file.
45370         * tests/test-freadptr.c: New file.
45371
45372         New module 'freadptr'.
45373         * modules/freadptr: New file.
45374         * lib/freadptr.h: New file.
45375         * lib/freadptr.c: New file.
45376         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
45377
45378 2008-02-26  Karl Berry  <karl@freefriends.org>
45379
45380         Sync from Libtool:
45381         * libltdl/argz.c (argz_add, argz_count): New functions.
45382         * libltdl/argz.in.h: Declare them.
45383         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
45384
45385 2008-02-22  Bruno Haible  <bruno@clisp.org>
45386
45387         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
45388         is a pointer type.  Needed for HP-UX 10.
45389         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
45390         * doc/posix-functions/gmtime_r.texi: Likewise.
45391         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
45392
45393 2008-02-24  Bruno Haible  <bruno@clisp.org>
45394
45395         * modules/environ-tests: New file.
45396         * tests/test-environ.c: New file.
45397
45398         New module 'environ'.
45399         * modules/environ: New file.
45400         * lib/unistd.in.h (environ): New declaration.
45401         * m4/environ.m4: New file.
45402         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
45403         after use.
45404         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
45405         HAVE_DECL_ENVIRON.
45406         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
45407         HAVE_DECL_ENVIRON.
45408         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
45409         wrong claim that 'environ' is missing on some systems.
45410         * modules/execute (Depends-on): Add environ.
45411         * lib/execute.c (environ): Remove fallback declaration.
45412         * modules/pipe (Depends-on): Add environ.
45413         * lib/pipe.c (environ): Remove fallback declaration.
45414         * modules/setenv (Depends-on): Add environ.
45415         * lib/setenv.c (environ): Remove fallback declaration.
45416         * modules/unsetenv (Depends-on): Add environ.
45417         * lib/unsetenv.c (environ): Remove fallback declaration.
45418         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
45419         m4/environ.m4.
45420         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
45421         (gl_PREREQ_UNSETENV): Likewise.
45422
45423 2008-02-24  Bruno Haible  <bruno@clisp.org>
45424
45425         * doc/posix-functions/environ.texi: Document the MacOS X problem.
45426
45427 2008-02-20  Bob Proulx  <bob@proulx.com>
45428
45429         Enable use of older two part flavor 'git describe'.
45430         * build-aux/git-version-gen: If using the older two part flavor of
45431         git version then recreate the third part now present in the
45432         newer three part flavor of git describe.
45433
45434 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
45435
45436         * lib/fts.c (fts_build): Typo correction to comment.
45437
45438 2008-02-17  Bruno Haible  <bruno@clisp.org>
45439
45440         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
45441         generating no-op conflicts.
45442
45443 2008-02-17  Bruno Haible  <bruno@clisp.org>
45444
45445         Speed up by 10%.
45446         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
45447         result_entries, rather than an index-based loop.
45448
45449 2008-02-17  Bruno Haible  <bruno@clisp.org>
45450
45451         Speed up by 25%.
45452         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
45453         'hashcode_cached'.
45454         (entry_create): New function.
45455         (entry_hashcode): Use the cached hashcode if possible.
45456         (read_changelog_file, try_split_merged_entry): Use entry_create.
45457
45458 2008-02-17  Bruno Haible  <bruno@clisp.org>
45459
45460         Speed up from O(n^2) to O(n) for long ChangeLog files.
45461         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
45462         (read_changelog_file): Change implementation of entries_reversed list
45463         to rbtreehash.
45464         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
45465
45466 2008-02-17  Bruno Haible  <bruno@clisp.org>
45467
45468         New option --split-merged-entry.
45469         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
45470         (find_paragraph_end, try_split_merged_entry): New functions.
45471         (long_options): Add option --split-merged-entry.
45472         (usage): Document option --split-merged-entry.
45473         (main): Implement option --split-merged-entry.
45474         Reported by Eric Blake.
45475
45476 2008-02-17  Bruno Haible  <bruno@clisp.org>
45477
45478         * lib/git-merge-changelog.c: Include c-strstr.h.
45479         (main): Support the "git pull --rebase" situation.
45480         * modules/git-merge-changelog (Depends-on): Add c-strstr.
45481         Reported by Eric Blake.
45482
45483 2008-02-16  Eric Blake  <ebb9@byu.net>
45484
45485         Avoid doubling \ in common case of "c-maybe" quoting style.
45486         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
45487         eliding outer quotes.
45488         * lib/quotearg.h: Document this.
45489         * tests/test-quotearg.c (result_strings, inputs, results_g)
45490         (flag_results, locale_results): Test it by adding a new string to
45491         each test group.
45492         (compare_strings): Test new string.
45493
45494 2008-02-13  Eric Blake  <ebb9@byu.net>
45495
45496         Avoid trigraph quoting in default output.
45497         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
45498         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
45499         unless explicitly requested.
45500         * tests/test-quotearg.c (flag_results, main): Add additional tests.
45501
45502 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
45503
45504         Don't rely on signed integer overflowing to negative value.
45505         * lib/getugroups.c (getugroups): Include <limits.h>.
45506         Instead, compare against INT_MAX, and increment only if the test passes.
45507
45508 2008-02-13  Jim Meyering  <meyering@redhat.com>
45509         and Eric Blake  <ebb9@byu.net>
45510
45511         Avoid shadowing warning and compile errors on Linux.
45512         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
45513         forwarding macros on Linux.
45514         (dcgettext): Define a stub, for Linux.
45515         (results_g, main): Avoid warnings.
45516
45517 2008-02-12  Eric Blake  <ebb9@byu.net>
45518
45519         Silence warning in last patch.
45520         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
45521
45522         Quotearg part 4: add tests, fix c-maybe colon quoting.
45523         * lib/quotearg.h: Improve documentation.
45524         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
45525         escapes when adding outer quotes.  When quoting trigraphs, use
45526         valid C notation.  When quoting NUL, omit extra characters if next
45527         character is not digit.  Alter prototype.
45528         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
45529         callers.
45530         * modules/quotearg-tests: New module.
45531         * tests/test-quotearg.c: New test.
45532
45533 2008-02-07  Eric Blake  <ebb9@byu.net>
45534
45535         Quotearg part 3: add flag to control outer quote elision.
45536         * lib/quotearg.h (c_maybe_quoting_style): New style.
45537         (enum quoting_flags): Better documentation of flags.
45538         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
45539         c-maybe style.
45540         (quotearg_buffer_restyled): Handle new flag to elide outer
45541         quotes.
45542
45543         Quotearg part 2: add flag that can control NUL elision.
45544         * lib/quotearg.h (set_quoting_flags): New prototype.
45545         * lib/quotearg.c (struct quoting_options): Add flag field.
45546         (set_quoting_flags): New function.
45547         (quotearg_buffer_restyled): Add flags parameter.
45548         (quotearg_alloc_mem): Set the flag if length cannot be returned.
45549         (quotearg_n_options): Set the flag, since length cannot be
45550         returned.
45551         (quoting_options_from_style): Default flags correctly.
45552
45553         Quotearg part 1: more wrappers, restore quotearg_char state.
45554         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
45555         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
45556         (quotearg_colon_mem): New wrappers.
45557         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
45558         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
45559         functions.
45560         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
45561         (quotearg_colon_mem): New functions.
45562
45563 2008-02-11  Bruno Haible  <bruno@clisp.org>
45564
45565         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
45566         library in the current directory: it does not work with parallel make.
45567         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
45568
45569 2008-02-11  Bruno Haible  <bruno@clisp.org>
45570
45571         * .gitattributes: New file.
45572
45573 2008-02-11  Jim Meyering  <meyering@redhat.com>
45574
45575         useless-if-before-free: Fix reversed exit values.
45576         * build-aux/useless-if-before-free: Use correct values
45577         for EXIT_MATCH and EXIT_NO_MATCH.
45578
45579         * build-aux/useless-if-before-free: Close stdout carefully.
45580
45581 2008-02-10  Bruno Haible  <bruno@clisp.org>
45582
45583         New module 'git-merge-changelog'.
45584         * modules/git-merge-changelog: New file.
45585         * lib/git-merge-changelog.c: New file.
45586
45587 2008-02-10  Jim Meyering  <meyering@redhat.com>
45588
45589         useless-if-before-free: New option: --list (-l).
45590
45591         useless-if-before-free: Don't exit immediately upon open failure.
45592         * build-aux/useless-if-before-free: Exit 2 for errors.
45593         Upon failure to open a file, don't exit immediately.
45594         Rather, just warn and continue with any remaining files.
45595
45596 2008-02-10  Bruno Haible  <bruno@clisp.org>
45597
45598         New abstract list operation 'node_set_value'.
45599         * lib/gl_list.h (gl_list_node_set_value): New function.
45600         (struct gl_list_implementation): New field node_set_value.
45601         * lib/gl_list.c (gl_list_node_set_value): New function.
45602         * lib/gl_array_list.c (gl_array_node_set_value): New function.
45603         (gl_array_list_implementation): Update.
45604         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
45605         (gl_carray_list_implementation): Update.
45606         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
45607         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
45608         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
45609         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
45610         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
45611         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
45612         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
45613         Update.
45614         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
45615         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
45616         (gl_sublist_list_implementation): Update.
45617
45618 2008-02-10  Bruno Haible  <bruno@clisp.org>
45619
45620         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
45621         Needed when ELEMENT is #defined to 'some_type *'.
45622
45623 2008-02-10  Jim Meyering  <meyering@redhat.com>
45624
45625         New script and module: useless-if-before-free
45626         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
45627         * build-aux/useless-if-before-free: New file.
45628         * modules/useless-if-before-free: New file.
45629
45630         * build-aux/gitlog-to-changelog: Use committer date, not author date.
45631
45632         xstrtol_error: Fix typo.
45633         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
45634         s/exit_failure/exit_status/.
45635
45636 2008-02-09  Jim Meyering  <meyering@redhat.com>
45637
45638         New script and module: gitlog-to-changelog
45639         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
45640         * modules/gitlog-to-changelog: New file.
45641         * build-aux/gitlog-to-changelog: New file.
45642
45643 2008-02-08  Jim Meyering  <meyering@redhat.com>
45644
45645         Avoid two "parameter unused" warnings.
45646         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
45647         Mark "st" as used.
45648
45649         Use "git COMMAND", not "git-COMMAND".
45650         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
45651         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
45652         * build-aux/git-version-gen: Use "git status", not "git-status".
45653
45654 2008-02-07  Bruno Haible  <bruno@clisp.org>
45655
45656         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
45657         Avoids a crash on Windows Vista.
45658         Reported by Adam Strzelecki <ono@java.pl> via
45659         Simon Josefsson <simon@josefsson.org>.
45660
45661 2008-02-06  Bruno Haible  <bruno@clisp.org>
45662
45663         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
45664         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
45665         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
45666         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
45667         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
45668         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
45669         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
45670         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
45671         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
45672         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
45673         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
45674         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
45675         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
45676         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
45677         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
45678         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
45679         left-adjust flag.
45680         * tests/test-snprintf-posix.h (test_function): Likewise.
45681         * tests/test-sprintf-posix.h (test_function): Likewise.
45682         * tests/test-vasprintf-posix.c (test_function): Likewise.
45683         * doc/posix-functions/fprintf.texi: Update.
45684         * doc/posix-functions/printf.texi: Update.
45685         * doc/posix-functions/snprintf.texi: Update.
45686         * doc/posix-functions/sprintf.texi: Update.
45687         * doc/posix-functions/vfprintf.texi: Update.
45688         * doc/posix-functions/vprintf.texi: Update.
45689         * doc/posix-functions/vsnprintf.texi: Update.
45690         * doc/posix-functions/vsprintf.texi: Update.
45691         Reported by Peter Fales <psfales@alcatel-lucent.com>.
45692
45693 2008-02-06  Bruno Haible  <bruno@clisp.org>
45694
45695         Fix bug introduced on 2008-01-26.
45696         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
45697
45698 2008-02-06  Bruno Haible  <bruno@clisp.org>
45699
45700         Fix bug introduced on 2007-06-10.
45701         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
45702         !NEED_PRINTF_FLAG_ZERO.
45703
45704 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
45705
45706         getloadavg: use libperfstat on AIX5
45707         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
45708
45709 2008-02-03  Bruno Haible  <bruno@clisp.org>
45710
45711         * lib/diffseq.h: Add comments about required #includes.
45712         Reported by Michael Biggs <gnulib@doubleplum.net>.
45713
45714 2008-02-01  Bruno Haible  <bruno@clisp.org>
45715
45716         * users.txt: Add gnuit.
45717
45718 2008-01-31  Bruno Haible  <bruno@clisp.org>
45719
45720         * lib/md4.c (set_uint32): Mark as inline.
45721         * lib/md5.c (set_uint32): Likewise.
45722         * lib/sha1.c (set_uint32): Likewise.
45723         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
45724         * m4/md5.m4 (gl_MD5): Likewise.
45725         * m4/sha1.m4 (gl_SHA1): Likewise.
45726
45727 2008-01-31  Jim Meyering  <meyering@redhat.com>
45728
45729         Use "sizeof VAR", rather than a literal "4".
45730         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
45731         * lib/md4.c (md4_read_ctx): Likewise.
45732         * lib/sha1.c (sha1_read_ctx): Likewise.
45733
45734 2008-01-31  Simon Josefsson  <simon@josefsson.org>
45735
45736         * tests/test-sha1.c: New file, based on test-md5.c.
45737
45738         * modules/crypto/sha1-tests: New file.
45739
45740 2008-01-31  Simon Josefsson  <simon@josefsson.org>
45741
45742         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
45743
45744 2008-01-31  Jim Meyering  <meyering@redhat.com>
45745
45746         Prefer "sizeof v" over the equivalent "4".
45747         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
45748         * lib/md5.c (set_uint32): Likewise.
45749         * lib/sha1.c (set_uint32): Likewise.
45750
45751 2008-01-31  Simon Josefsson  <simon@josefsson.org>
45752
45753         * lib/sha1.c (set_uint32): Mark function as static.
45754
45755 2008-01-31  Simon Josefsson  <simon@josefsson.org>
45756
45757         md2: clarify comments to say that alignment is not required.
45758         * lib/md2.h: Remove warning about alignment in comment.
45759         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
45760         never been required.
45761
45762 2008-01-31  Simon Josefsson  <simon@josefsson.org>
45763
45764         md4: adapt alignment constraint fix from sha1.
45765         * lib/md4.c (set_uint32): New function, from sha1.c
45766         (md4_read_ctx): Use it.
45767         (md4_finish_ctx): Doc fix.
45768         * lib/md4.h: Doc fix.
45769
45770 2008-01-31  Simon Josefsson  <simon@josefsson.org>
45771
45772         md5: adapt alignment constraint fix from sha1.
45773         * lib/md5.c (set_uint32): New function, from sha1.c
45774         (md5_read_ctx): Use it.
45775         (md5_finish_ctx): Doc fix.
45776         * lib/md5.h: Doc fix.
45777
45778 2008-01-30  Peter Palfrader  <weasel@debian.org>
45779
45780         sha1: remove the result buffer alignment constraint
45781         * lib/sha1.c (set_uint32): New function.
45782         (sha1_read_ctx): Rewrite to remove the result buffer alignment
45783         constraint.
45784         (sha1_finish_ctx): Remove comment warning about alignment constraint.
45785         * lib/sha1.h: Likewise.
45786
45787 2008-01-30  Andreas Schwab  <schwab@suse.de>
45788             Bruno Haible  <bruno@clisp.org>
45789
45790         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
45791         correct definition of LDBL_MIN_EXP.
45792
45793 2008-01-30  Karl Berry  <karl@gnu.org>
45794
45795         * config/srclist-update: try to preserve x bit on updates.
45796         * config/srclistvars.sh: update for karl.
45797
45798 2008-01-29  Jim Meyering  <meyering@redhat.com>
45799
45800         vasnprintf.c: Avoid warning about unused label
45801         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
45802         "overflow" label definition and associated code with the
45803         same cpp condition that guards the sole use of that label.
45804
45805 2008-01-26  Bruno Haible  <bruno@clisp.org>
45806
45807         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
45808         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
45809         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
45810         * lib/isnanl-nolibm.h (isnanl): Likewise.
45811         Reported by Paul Eggert <eggert@cs.ucla.edu>.
45812
45813 2008-01-26  Bruno Haible  <bruno@clisp.org>
45814
45815         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
45816         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
45817
45818 2008-01-26  Bruno Haible  <bruno@clisp.org>
45819
45820         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
45821         GCC >= 4.0 built-in.
45822         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
45823
45824 2008-01-26  Bruno Haible  <bruno@clisp.org>
45825
45826         Rename isnan, applicable to 'double' only, to isnand.
45827         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
45828         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
45829         (configure.ac): Update.
45830         (Include): Replace "isnan.h" with "isnand.h".
45831         * m4/isnand.m4: Renamed from m4/isnan.m4.
45832         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
45833         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
45834         instead of isnan.c.
45835         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
45836         instead of HAVE_ISNAN_IN_LIBC.
45837         (isnand): Renamed from isnan.
45838         * lib/isnand.c: New file.
45839         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
45840         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
45841         (Makefile.am): Update.
45842         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
45843         Include isnand.h instead of isnan.h.
45844         (main): Test isnand instead of isnan.
45845         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
45846         isnan-nolibm.
45847         * modules/frexp (Depends-on): Likewise.
45848         * modules/frexp-tests (Depends-on): Likewise.
45849         * modules/frexp-nolibm (Depends-on): Likewise.
45850         * modules/frexp-nolibm-tests (Depends-on): Likewise.
45851         * modules/isfinite (Depends-on): Likewise.
45852         * modules/round-tests (Depends-on): Likewise.
45853         * modules/signbit (Depends-on): Likewise.
45854         * modules/signbit-tests (Depends-on): Likewise.
45855         * modules/snprintf-posix (Depends-on): Likewise.
45856         * modules/sprintf-posix (Depends-on): Likewise.
45857         * modules/trunc-tests (Depends-on): Likewise.
45858         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
45859         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
45860         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
45861         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
45862         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
45863         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
45864         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
45865         * modules/vasnprintf-posix (Depends-on): Likewise.
45866         * modules/vasprintf-posix (Depends-on): Likewise.
45867         * modules/vfprintf-posix (Depends-on): Likewise.
45868         * modules/vsnprintf-posix (Depends-on): Likewise.
45869         * modules/vsprintf-posix (Depends-on): Likewise.
45870         * lib/frexp.c: Include isnand.h instead of isnan.h.
45871         (ISNAN): Set to isnand instead of isnan.
45872         * lib/isfinite.c: Include isnand.h instead of isnan.h.
45873         (gl_isfinited): Use isnand instead of isnan.
45874         * lib/signbitd.c: Include isnand.h instead of isnan.h.
45875         (gl_signbitd): Use isnand instead of isnan.
45876         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
45877         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
45878         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
45879         (main): Use isnand instead of isnan.
45880         * tests/test-round1.c: Include isnand.h.
45881         (main): Use isnand instead of isnan.
45882         * tests/test-round2.c: Include isnand.h instead of isnan.h.
45883         (ISNAN): Set to isnand instead of isnan.
45884         * tests/test-trunc1.c: Include isnand.h.
45885         (main): Use isnand instead of isnan.
45886         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
45887         (equal): Use isnand instead of isnan.
45888         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
45889         isnand-nolibm.
45890         * NEWS: Mention the change.
45891
45892 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
45893             Bruno Haible  <bruno@clisp.org>
45894
45895         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
45896         the GCC builtins for signbits are present and set
45897         REPLACE_SIGNBIT_USING_GCC if so.
45898         * lib/math.in.h (signbit): Define using GCC builtins if
45899         REPLACE_SIGNBIT_USING_GCC is set.
45900         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
45901         REPLACE_SIGNBIT_USING_GCC.
45902         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
45903
45904 2008-01-25  Jim Meyering  <meyering@redhat.com>
45905
45906         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
45907         * lib/poll.c: Include <config.h>, not "config.h".
45908         * tests/test-getaddrinfo.c: Likewise.
45909
45910 2008-01-25  Simon Josefsson  <simon@josefsson.org>
45911
45912         * modules/sockets-tests: New file.
45913
45914 2008-01-24  Simon Josefsson  <simon@josefsson.org>
45915
45916         * modules/sockets: New module, can be used to call WSA_Startup and
45917         WSA_Cleanup when needed.
45918
45919         * lib/sockets.h, lib/sockets.c: New files.
45920
45921         * m4/sockets.m4: New file.
45922
45923         * tests/test-sockets.c: New file.
45924
45925 2008-01-19  Bruno Haible  <bruno@clisp.org>
45926
45927         * doc/posix-headers: Renamed from doc/headers.
45928         * doc/posix-functions: Renamed from doc/functions.
45929         * doc/gnulib.texi: Update.
45930
45931 2008-01-19  Bruno Haible  <bruno@clisp.org>
45932
45933         * doc/glibc-functions/strcasestr.texi: Include contents of
45934         doc/functions/strcasestr.texi, fixing the list of platforms.
45935         * doc/functions/strcasestr.texi: Remove file.
45936
45937 2008-01-19  Bruno Haible  <bruno@clisp.org>
45938
45939         * doc/glibc-functions/memmem.texi: Include contents of
45940         doc/functions/memmem.texi.
45941         * doc/functions/memmem.texi: Remove file.
45942
45943 2008-01-18  Bruno Haible  <bruno@clisp.org>
45944
45945         * doc/glibc-functions/*.texi: New files.
45946         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
45947         to use the new files.
45948
45949 2008-01-17  Bruno Haible  <bruno@clisp.org>
45950
45951         * tests/test-gethostname.c (main): Fix printf statement.
45952
45953 2008-01-17  Simon Josefsson  <simon@josefsson.org>
45954
45955         * modules/gethostname-tests: New file.
45956
45957         * tests/test-gethostname.c: New file.
45958
45959 2008-01-17  Simon Josefsson  <simon@josefsson.org>
45960
45961         * lib/gethostname.c: Include string.h unconditionally, strncpy is
45962         used by the UNAME case.  Reported by Bruno Haible
45963         <bruno@clisp.org>.
45964
45965 2008-01-17  Eric Blake  <ebb9@byu.net>
45966
45967         Convert c-strcasestr to be more efficient.
45968         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
45969         (Depends-on): Add c-strcase, remove malloca, strnlen.
45970         * tests/test-c-strcasestr.c (main): Enhance test.
45971         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
45972
45973 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
45974
45975         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
45976         Use it in creating po/Makevars.
45977
45978 2008-01-15  Simon Josefsson  <simon@josefsson.org>
45979
45980         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
45981         Applications that requires it should initialize libgcrypt
45982         manually.
45983
45984 2008-01-16  Simon Josefsson  <simon@josefsson.org>
45985
45986         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
45987
45988 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
45989
45990         Fix problem with getdate on mingw32 reported by Simon Josefsson
45991         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
45992         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
45993         tzname", when deciding whether to declare tzname.
45994         * lib/strftime.c (tzname): Likewise.
45995
45996 2008-01-15  Bruno Haible  <bruno@clisp.org>
45997
45998         Work around a MacOS X 10.5 bug in frexpl().
45999         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
46000         * doc/functions/frexpl.texi: Document the bug.
46001         Reported by Elias Pipping <pipping@gentoo.org>.
46002
46003 2008-01-14  Eric Blake  <ebb9@byu.net>
46004
46005         Touch up previous patch.
46006         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
46007         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
46008
46009         Convert strcasestr module to use Two-Way algorithm.
46010         * modules/strcasestr-simple: New module, based on the old
46011         strcasestr, but with Two-Way rather than KMP.
46012         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
46013         * lib/string.in.h (rpl_strcasestr): Declare.
46014         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
46015         performance.
46016         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
46017         * modules/string (Makefile.am): Support strcasestr.
46018         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
46019         * modules/strcasestr-tests (Depends-on): Check for alarm.
46020         * tests/test-strcasestr.c: Augment test.
46021         * lib/str-two-way.h: Clean up stray macro.
46022         * NEWS: Document new module.
46023         * MODULES.html.sh (string handling): Likewise.
46024         * doc/functions/strcasestr.texi: New file.
46025         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
46026         here, since it is not a POSIX function.
46027
46028 2008-01-14  Colin Watson  <cjwatson@debian.org>
46029             Bruno Haible  <bruno@clisp.org>
46030
46031         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
46032         works fine; if not, set REPLACE_STRSIGNAL.
46033         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
46034         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
46035         REPLACE_STRSIGNAL.
46036         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
46037         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
46038         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
46039
46040 2008-01-14  Bruno Haible  <bruno@clisp.org>
46041
46042         * modules/strsignal (Include): Change to <string.h>.
46043
46044 2008-01-14  Colin Watson  <cjwatson@debian.org>
46045
46046         * modules/argp (Notice): Add a notice recommending to change
46047         XGETTEXT_OPTIONS.
46048         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
46049
46050 2008-01-13  Colin Watson  <cjwatson@debian.org>
46051
46052         * modules/strsignal-tests: New file.
46053         * tests/test-strsignal.c: New file.
46054
46055         * lib/strsignal.c: New file, from glibc with modifications.
46056         * lib/siglist.h: New file, from glibc with modifications.
46057         * lib/string.in.h (strsignal): New declaration.
46058         * m4/strsignal.m4: New file.
46059         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
46060         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
46061         * modules/strsignal: New file.
46062         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
46063         HAVE_DECL_STRSIGNAL.
46064
46065 2008-01-13  Bruno Haible  <bruno@clisp.org>
46066
46067         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
46068         locale encoding is not ASCII. Needed for OpenBSD 4.0.
46069         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
46070         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
46071
46072 2008-01-13  Bruno Haible  <bruno@clisp.org>
46073
46074         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
46075         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
46076         * lib/argp.h (__attribute__): Likewise.
46077         * lib/c-stack.c (__attribute__): Likewise.
46078         * lib/error.h (__attribute__): Likewise.
46079         * lib/fts.c (__attribute__): Likewise.
46080         * lib/openat.h (__attribute__): Likewise.
46081         * lib/stdio.in.h (__attribute__): Likewise.
46082         * lib/string.in.h (__attribute__): Likewise.
46083         * lib/utimens.c (__attribute__): Likewise.
46084         * lib/vasnprintf.h (__attribute__): Likewise.
46085         * lib/xalloc.h (__attribute__): Likewise.
46086         * lib/xprintf.h (__attribute__): Likewise.
46087         * lib/xstrtol.h (__attribute__): Likewise.
46088         * lib/xvasprintf.h (__attribute__): Likewise.
46089
46090 2008-01-12  Bruno Haible  <bruno@clisp.org>
46091
46092         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
46093         * doc/glibc-headers/a.out.texi: New file.
46094         * doc/glibc-headers/aliases.texi: New file.
46095         * doc/glibc-headers/alloca.texi: New file.
46096         * doc/glibc-headers/ar.texi: New file.
46097         * doc/glibc-headers/argp.texi: New file.
46098         * doc/glibc-headers/argz.texi: New file.
46099         * doc/glibc-headers/byteswap.texi: New file.
46100         * doc/glibc-headers/crypt.texi: New file.
46101         * doc/glibc-headers/endian.texi: New file.
46102         * doc/glibc-headers/envz.texi: New file.
46103         * doc/glibc-headers/err.texi: New file.
46104         * doc/glibc-headers/error.texi: New file.
46105         * doc/glibc-headers/execinfo.texi: New file.
46106         * doc/glibc-headers/fpu_control.texi: New file.
46107         * doc/glibc-headers/fstab.texi: New file.
46108         * doc/glibc-headers/fts.texi: New file.
46109         * doc/glibc-headers/getopt.texi: New file.
46110         * doc/glibc-headers/ieee754.texi: New file.
46111         * doc/glibc-headers/ifaddrs.texi: New file.
46112         * doc/glibc-headers/libintl.texi: New file.
46113         * doc/glibc-headers/mcheck.texi: New file.
46114         * doc/glibc-headers/mntent.texi: New file.
46115         * doc/glibc-headers/obstack.texi: New file.
46116         * doc/glibc-headers/paths.texi: New file.
46117         * doc/glibc-headers/printf.texi: New file.
46118         * doc/glibc-headers/pty.texi: New file.
46119         * doc/glibc-headers/resolv.texi: New file.
46120         * doc/glibc-headers/shadow.texi: New file.
46121         * doc/glibc-headers/sysexits.texi: New file.
46122         * doc/glibc-headers/ttyent.texi: New file.
46123
46124 2008-01-12  Jim Meyering  <meyering@redhat.com>
46125
46126         announce-gen: emit Gnulib's git-based version string.
46127         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
46128         New option --gnulib-version=V, where V is expected to be
46129         the output of running git describe in the gnulib directory.
46130         (get_tool_versions): Request feedback on xdelta.  I suspect it's
46131         not useful, and plan to stop publishing an xdelta file with each
46132         coreutils release.
46133
46134         * build-aux/announce-gen: Also check for lzma-compressed files.
46135
46136 2008-01-11  Bruno Haible  <bruno@clisp.org>
46137
46138         * tests/test-memmem.c (main): Increase maximum allowed time.
46139         * tests/test-strstr.c (main): Likewise.
46140
46141 2008-01-11  Bruno Haible  <bruno@clisp.org>
46142
46143         * doc/functions/memmem.texi: Add more precisions about platforms.
46144         * doc/functions/strstr.texi: Likewise.
46145
46146 2008-01-10  Eric Blake  <ebb9@byu.net>
46147
46148         * m4/strstr.m4: Delete cruft from copy-n-paste.
46149         Reported by Bruno Haible.
46150
46151 2008-01-10  Bruno Haible  <bruno@clisp.org>
46152
46153         Make c-strstr rely on strstr.
46154         * lib/c-strstr.c: Don't include str-kmp.h.
46155         (c_strstr): Define in terms of strstr.
46156         * modules/c-strstr (Files): Remove lib/str-kmp.h.
46157         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
46158
46159 2008-01-10  Bruno Haible  <bruno@clisp.org>
46160
46161         * doc/gnulib.texi (String Functions in C Locale): New section.
46162         * doc/c-ctype.texi: New file.
46163         * doc/c-strcase.texi: New file.
46164         * doc/c-strcaseeq.texi: New file.
46165         * doc/c-strcasestr.texi: New file.
46166         * doc/c-strstr.texi: New file.
46167         * doc/c-strtod.texi: New file.
46168         * doc/c-strtold.texi: New file.
46169
46170 2008-01-10  Eric Blake  <ebb9@byu.net>
46171
46172         * lib/relocatable.h: Fix a comment.
46173
46174 2008-01-10  Eric Blake  <ebb9@byu.net>
46175
46176         Share two-way algorithm.
46177         * lib/str-two-way.h: New file, merged from...
46178         * lib/memmem.c: ...here...
46179         * lib/strstr.c: ...and here.
46180         * modules/memmem (Files): Use it.
46181         * modules/strstr (Files): Likewise.
46182
46183         Avoid quadratic strstr implementations.
46184         * lib/strstr.c: New file.
46185         * m4/strstr.m4: Likewise.
46186         * modules/strstr: Likewise.
46187         * modules/strstr-tests: Likewise.
46188         * tests/test-strstr.c: Likewise.
46189         * lib/string.in.h (rpl_strstr): Declare.
46190         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
46191         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
46192         * modules/string (Makefile.am): Likewise.
46193         * MODULES.html.sh (string handling): Mention new module.
46194         * doc/functions/strstr.texi (strstr): Document the bug.
46195
46196 2008-01-10  Bruno Haible  <bruno@clisp.org>
46197
46198         * lib/relocatable.h (relocate): State whether result is freshly
46199         allocated or not.
46200         * lib/relocatable.c (relocate): Return a freshly allocated string
46201         instead of a pointer to a privately held string.
46202         Reported by Sylvain Beucler <beuc@gnu.org>.
46203
46204 2008-01-10  Colin Watson  <cjwatson@debian.org>
46205
46206         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
46207         s/S_ISNLK/S_ISLNK/.
46208
46209 2008-01-09  Bruno Haible  <bruno@clisp.org>
46210
46211         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
46212         and other files.
46213         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
46214         if it's only a guess.
46215         * modules/memmem: Simplify by depending on memmem-simple.
46216
46217 2008-01-09  Bruno Haible  <bruno@clisp.org>
46218
46219         Work around OpenBSD 4.0 tdelete() bug.
46220         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
46221         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
46222         macros and don't redefine the enum values.
46223         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
46224         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
46225         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
46226
46227 2008-01-09  Bruno Haible  <bruno@clisp.org>
46228
46229         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
46230         (main): Don't perform the tests if setlocale did not install a UTF-8
46231         locale. Needed on OpenBSD 4.0.
46232         * modules/wcwidth-tests (Depends-on): Add localcharset.
46233
46234 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
46235
46236         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
46237         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
46238         * NEWS: announce this.
46239         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
46240
46241 2008-01-09  Simon Josefsson  <simon@josefsson.org>
46242         and Eric Blake  <ebb9@byu.net>
46243
46244         Add memmem-simple module.
46245         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
46246         (gl_FUNC_MEMMEM): Separate performance from presence checks.
46247         * modules/memmem-simple: New file.
46248         * modules/memmem (Description): Tweak.
46249         * MODULES.html.sh (string handling): Mention new module.
46250         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
46251         addressed by memmem-simple.
46252         * NEWS: Document the difference.
46253
46254 2008-01-09  Eric Blake  <ebb9@byu.net>
46255
46256         Give gcc some memmem optimization hints.
46257         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
46258         (strcasestr): Declare as pure.
46259         * modules/memmem (Maintainer): Claim my implementation.
46260
46261 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46262
46263         Support AIX 6.1 and higher.
46264         * build-aux/config.libpath: Likewise.
46265         * build-aux/config.rpath: Likewise.
46266
46267 2008-01-08  Jim Meyering  <meyering@redhat.com>
46268             Bruno Haible  <bruno@clisp.org>
46269
46270         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
46271         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
46272         Reported by Peter Fales in
46273         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
46274
46275 2008-01-08  Bruno Haible  <bruno@clisp.org>
46276
46277         * modules/unictype/category-of (Depends-on): Add
46278         unictype/category-none.
46279         * modules/unictype/category-and-tests (Depends-on): Add
46280         unictype/category-{L,N,Lu,Nd}.
46281         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
46282         * modules/unictype/category-or-tests (Depends-on): Add
46283         unictype/category-{L,N}.
46284         * modules/unictype/category-name-tests (Depends-on): Add
46285         unictype/category-{Z,Nl}.
46286         Reported by Simon Josefsson.
46287
46288 2008-01-08  Bruno Haible  <bruno@clisp.org>
46289
46290         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
46291         convention better.
46292         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
46293         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
46294         Reported by Peter Miller <millerp@canb.auug.org.au>.
46295
46296 2008-01-08  Eric Blake  <ebb9@byu.net>
46297
46298         Rewrite memmem to guarantee linear complexity without malloc.
46299         * lib/memmem.c (memmem): Use Two-Way rather than
46300         Knuth-Morris-Pratt, to allow O(1) space usage.
46301         (critical_factorization, two_way_short_needle)
46302         (two_way_long_needle): New functions.
46303         (knuth_morris_pratt): Delete.
46304         * modules/memmem (Depends-on): No longer need malloca or stdbool.
46305         Add stdint.
46306         * tests/test-memmem.c (main): Add tests for periodic needle and
46307         sublinear performance.
46308         * doc/functions/memmem.texi (memmem): Document other deficiencies
46309         in cygwin and older glibc.
46310
46311 2008-01-08  Bruno Haible  <bruno@clisp.org>
46312
46313         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
46314         augmentation.
46315
46316 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
46317
46318         Add a configure time option: --disable-acl.
46319         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
46320         AC_ARG_ENABLE(acl).
46321
46322 2008-01-06  Simon Josefsson  <simon@josefsson.org>
46323
46324         * tests/test-localename.c: Don't include obsolete "setenv.h".
46325
46326         * modules/localename-tests (Depends-on): Need unsetenv.
46327
46328 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46329
46330         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
46331
46332 2008-01-06  Colin Watson  <cjwatson@debian.org>
46333
46334         * users.txt: Add man-db.
46335
46336 2008-01-07  Bruno Haible  <bruno@clisp.org>
46337
46338         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
46339         previous section name.
46340
46341 2008-01-07  Bruno Haible  <bruno@clisp.org>
46342
46343         * lib/progname.c (set_program_name): Don't strip off a leading
46344         "lt-" prefix outside a .libs directory.
46345         Suggested by Paul Eggert.
46346
46347 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
46348             Bruno Haible  <bruno@clisp.org>
46349
46350         Improve memory cleanup in 'relocatable' module.
46351         * lib/relocatable.h (compute_curr_prefix): Change return type to
46352         'char *'.
46353         * lib/relocatable.c (compute_curr_prefix): Change return type to
46354         'char *'. Free curr_installdir after use.
46355         (relocate): Free curr_prefix_better after use.
46356         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
46357
46358 2008-01-01  Bruno Haible  <bruno@clisp.org>
46359
46360         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
46361         failure on older glibc systems.
46362         Reported by Peter Fales <psfales@alcatel-lucent.com>.
46363
46364 2008-01-05  Eric Blake  <ebb9@byu.net>
46365
46366         Avoid quadratic system memmem.
46367         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
46368         Reported by Ralf Wildenhues.
46369
46370         Fix memmem test for mingw.
46371         * modules/memmem-tests (configure.ac): Check for alarm.
46372         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
46373         it.
46374         * doc/functions/memmem.texi: New file.
46375         * doc/gnulib.texi (Function Substitutes): Add memmem.
46376         Reported by Bruno Haible.
46377
46378 2008-01-04  Bruno Haible  <bruno@clisp.org>
46379
46380         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
46381         Require gl_HEADER_STRINGS_H_DEFAULTS, not
46382         gl_HEADER_STRING_H_DEFAULTS.
46383
46384 2008-01-04  Eric Blake  <ebb9@byu.net>
46385
46386         Shorten duration of memmem test.
46387         * tests/test-memmem.c (main): Use alarm to declare failure if test
46388         is taking too long.
46389         Reported by Ralf Wildenhues.
46390
46391 2007-12-21  Simon Josefsson  <simon@josefsson.org>
46392
46393         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
46394         string, needed by strerror.
46395
46396 2008-01-03  Colin Watson  <cjwatson@debian.org>
46397             Bruno Haible  <bruno@clisp.org>
46398
46399         * doc/gnulib-tool.texi (Localization): New section.
46400
46401 2008-01-02  Bruno Haible  <bruno@clisp.org>
46402
46403         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
46404         variables to 'unsigned char *' type.
46405         Reported by Paul Eggert.
46406
46407 2008-01-02  Jim Meyering  <jim@meyering.net>
46408
46409         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
46410
46411 2007-12-31  Jim Meyering  <jim@meyering.net>
46412
46413         Avoid use of private FTS type name.
46414         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
46415
46416 2007-12-30  Karl Berry  <karl@gnu.org>
46417
46418         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
46419         work around defect in Texinfo and/or the standalone Info browser.
46420
46421 2007-12-30  Bruno Haible  <bruno@clisp.org>
46422
46423         Unify 5 copies of the KMP code.
46424         * lib/str-kmp.h: New file.
46425         * lib/c-strcasestr.c: Include str-kmp.h.
46426         (knuth_morris_pratt): Remove function.
46427         (c_strcasestr): Update.
46428         * lib/c-strstr.c: Include str-kmp.h.
46429         (knuth_morris_pratt): Remove function.
46430         (c_strcasestr): Update.
46431         * lib/mbscasestr.c: Include str-kmp.h.
46432         (knuth_morris_pratt_unibyte): Remove function.
46433         * lib/mbsstr.c: Include str-kmp.h.
46434         (knuth_morris_pratt_unibyte): Remove function.
46435         * lib/strcasestr.c: Include str-kmp.h.
46436         (knuth_morris_pratt): Remove function.
46437         (strcasestr): Update.
46438         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
46439         * modules/c-strstr (Files): Likewise.
46440         * modules/mbscasestr (Files): Likewise.
46441         * modules/mbsstr (Files): Likewise.
46442         * modules/strcasestr (Files): Likewise.
46443         Suggested by Paul Eggert.
46444
46445 2007-12-30  Bruno Haible  <bruno@clisp.org>
46446
46447         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
46448         defined.
46449
46450 2007-12-30  Bruno Haible  <bruno@clisp.org>
46451
46452         * lib/xmalloca.h: Include xalloc.h.
46453         (xnmalloca): New macro.
46454
46455 2007-12-30  Bruno Haible  <bruno@clisp.org>
46456
46457         * lib/malloca.h (nmalloca): New macro.
46458         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
46459         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
46460         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
46461         knuth_morris_pratt_multibyte): Likewise.
46462         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
46463         knuth_morris_pratt_multibyte): Likewise.
46464         * lib/memmem.c (knuth_morris_pratt): Likewise.
46465         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
46466
46467 2007-12-25  Bruno Haible  <bruno@clisp.org>
46468
46469         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
46470         * lib/glob.c: Don't include openat.h.
46471         (link_exists2_p): Add back the code that deals with the
46472         !GLOB_ALTDIRFUNC case.
46473         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
46474         let it do the filename concatenation.
46475         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
46476         * modules/glob (Depends-on): Remove openat.
46477
46478 2007-12-31  Bruno Haible  <bruno@clisp.org>
46479
46480         * modules/dirfd (License): Change to LGPLv2+.
46481         Approved by Jim Meyering.
46482
46483 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
46484
46485         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
46486         when multiplying M by sizeof (size_t).
46487
46488 2007-12-10  Martin Lambers  <marlam@marlam.de>
46489
46490         Override getpagesize on mingw.
46491         * lib/getpagesize.c: New file.
46492         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
46493         * modules/getpagesize (Files): Add lib/getpagesize.c.
46494         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
46495         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
46496         REPLACE_GETPAGESIZE.
46497         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
46498
46499 2007-12-25  Bruno Haible  <bruno@clisp.org>
46500
46501         * modules/localcharset (Notice): New field.
46502         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
46503         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
46504
46505 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
46506             Bruno Haible  <bruno@clisp.org>
46507
46508         Avoid using the syntax symbol() in formatted documentation.
46509         * MODULES.html.sh (func_module): When replacing symbol() with a
46510         hyperlink, remove the parentheses. Show an error if some remain.
46511         Recognize and render the '...' syntax.
46512         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
46513         Rework. Add paragraph about GCC's inlining.
46514         * doc/alloca.texi: Likewise.
46515         * doc/error.texi: Remove parentheses from symbol reference.
46516         * doc/gnulib-intro.texi: Likewise.
46517         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
46518         * modules/fnmatch (Description): Reword to say "the ... function".
46519         * modules/full-read (Description): Likewise.
46520         * modules/full-write (Description): Likewise.
46521         * modules/safe-read (Description): Likewise.
46522         * modules/safe-write (Description): Likewise.
46523         * modules/strchrnul (Description): Likewise.
46524         * modules/trim (Description): Likewise.
46525         * modules/error (Description): Remove parentheses from symbol
46526         references.
46527         * modules/verror (Description): Likewise.
46528         Reported by Karl Berry.
46529
46530 2007-12-25  Bruno Haible  <bruno@clisp.org>
46531
46532         Fixup after 2007-10-16 commit.
46533         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
46534
46535 2007-12-24  Bruno Haible  <bruno@clisp.org>
46536
46537         Make --enable-relocatable work with DESTDIR.
46538         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
46539         to compute installdir from destprog.
46540         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
46541         also set the RELOC_DESTDIR variable.
46542         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
46543
46544 2007-12-24  Bruno Haible  <bruno@clisp.org>
46545
46546         Fix link error due to xalloc_die().
46547         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
46548         of xreadlink.
46549         * lib/relocwrapper.c: Update comments.
46550         * build-aux/install-reloc: Remove xreadlink.c from file list.
46551         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
46552         xreadlink.c.
46553         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
46554
46555 2007-12-24  Bruno Haible  <bruno@clisp.org>
46556
46557         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
46558         * lib/setenv.h: Remove file.
46559         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
46560         lib/setenv.h.
46561         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
46562         (Depends-on): Add stdlib.
46563         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
46564         gl_FUNC_UNSETENV.
46565         (Include): Replace setenv.h with <stdlib.h>.
46566         * modules/unsetenv: New file.
46567         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
46568         * lib/unsetenv.c: Include <stdlib.h> first.
46569         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
46570         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
46571         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
46572         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
46573         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
46574         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
46575         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
46576         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
46577         * doc/functions/unsetenv.texi: Update.
46578         * modules/xsetenv (Depends-on): Add unsetenv.
46579         * modules/getdate (Depends-on): Likewise.
46580         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
46581         * lib/xsetenv.c: Don't include setenv.h.
46582         * lib/getdate.y: Likewise.
46583         * lib/relocwrapper.c: Likewise.
46584         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
46585         (Depends-on): Add stdlib.
46586         * NEWS: Mention the changes.
46587         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
46588
46589 2007-12-23  Bruno Haible  <bruno@clisp.org>
46590
46591         * lib/memmem.c (memmem): Use lowercase variable names. Tab
46592         indentation.
46593
46594 2007-12-23  Bruno Haible  <bruno@clisp.org>
46595
46596         * lib/c-strcasestr.c: Add more comments.
46597         * lib/c-strstr.c: Likewise.
46598         * lib/mbscasestr.c: Likewise.
46599         * lib/mbsstr.c: Likewise.
46600         * lib/strcasestr.c: Likewise.
46601         * lib/memmem.c: Likewise.
46602
46603 2007-12-23  Bruno Haible  <bruno@clisp.org>
46604
46605         * tests/test-memmem.c: Include <string.h> first.
46606
46607 2007-12-22  Bruno Haible  <bruno@clisp.org>
46608
46609         * gnulib-tool (func_create_testdir): Change $auxdir while generating
46610         the contents of $testsbase.
46611         Reported by Ralf Wildenhues.
46612
46613 2007-12-22  Bruno Haible  <bruno@clisp.org>
46614
46615         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
46616         two variables local_ldadd_before, local_ldadd_last.
46617
46618 2007-12-20  Eric Blake  <ebb9@byu.net>
46619
46620         Work around circular library issue when cross-compiling.
46621         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
46622         that progname.o does not need to pull in rpl_memcmp.
46623
46624 2007-12-19  Eric Blake  <ebb9@byu.net>
46625
46626         Fix memmem to avoid O(n^2) worst-case complexity.
46627         * lib/memmem.c (knuth_morris_pratt): New function.
46628         (memmem): Use it if first few naive iterations fail.
46629         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
46630         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
46631         * modules/memchr (License): Likewise.
46632         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
46633         malloca.
46634         * tests/test-memmem.c: Rewrite, borrowing ideas from
46635         test-mbsstr1.c; the old version wouldn't even compile!
46636         * modules/memmem-tests: New file.
46637         * lib/string.in.h (rpl_memmem): Add declaration.
46638         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
46639         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
46640         REPLACE_MEMMEM.
46641
46642 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
46643
46644         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
46645         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
46646         before any system include files, and undef after them all.  This
46647         should fix a problem on VMS reported by John E. Malmberg in
46648         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
46649
46650 2007-12-17  Eric Blake  <ebb9@byu.net>
46651
46652         Revert addition of verify, for BSD/OS.
46653         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
46654         can't handle large files, for the sake of obsolete platforms.
46655         * modules/fseeko (Depends-on): Remove verify.
46656         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
46657         * doc/functions/ftello.texi (ftello): Likewise.
46658         * doc/functions/fgetpos.texi (fgetpos): Likewise.
46659         Reported by Larry Jones.
46660
46661 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
46662
46663         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
46664         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
46665
46666 2007-12-17  Jim Meyering  <meyering@redhat.com>
46667
46668         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
46669         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
46670         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
46671         * modules/getcwd (Depends-on): Add openat.
46672         Reported by Petr Salinger.
46673
46674 2007-12-17  Bruno Haible  <bruno@clisp.org>
46675
46676         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
46677         avoid a segmentation fault of the configure test on x86_64 systems.
46678
46679 2007-12-15  Jim Meyering  <meyering@redhat.com>
46680
46681         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
46682
46683 2007-12-13  Eric Blake  <ebb9@byu.net>
46684
46685         Another fseek test.
46686         * tests/test-fseek.c (main): Also test ungetc handling.
46687         * tests/test-fseeko.c (main): Likewise.
46688         * modules/fseeko (Depends-on): Add verify.
46689         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
46690         large.
46691         Reported by Larry Jones.
46692
46693         Fix fseeko on mingw.
46694         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
46695         seek.
46696
46697         Beef up fseek tests.
46698         * tests/test-fseek.c (main): Also test eof handling.
46699         * tests/test-fseeko.c (main): Likewise.
46700         Reported by Larry Jones.
46701
46702 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
46703
46704         Fix fseeko on BSD-based platforms.
46705         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
46706         successful seek.
46707
46708 2007-12-12  Eric Blake  <ebb9@byu.net>
46709
46710         Allow circular dependency of separate libtests.a
46711         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
46712         when use_libtests.
46713
46714 2007-12-11  Eric Blake  <ebb9@byu.net>
46715
46716         Fix bug with -0.0L in previous patch.
46717         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
46718         * tests/test-isnan.c (main): Also test on zeroes.
46719         * tests/test-isnanf.c (main): Likewise.
46720         * tests/test-isnanl.h (main): Likewise.
46721
46722         Detect pseudo-denormals on x86 even when cross-compiling.
46723         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
46724         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
46725         invalid bit patterns that happen to satisfy ==.
46726
46727         Avoid link failures with separate libtests.a.
46728         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
46729         last, to satisfy circular dependencies.
46730
46731 2007-12-11  Eric Blake  <ebb9@byu.net>
46732         and Bruno Haible  <bruno@clisp.org>
46733
46734         Fix OpenBSD 4.0 <float.h> handling of long double.
46735         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
46736         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
46737         * doc/headers/float.texi (float.h): Document OpenBSD bug.
46738
46739 2007-12-11  Jim Meyering  <meyering@redhat.com>
46740
46741         * users.txt: Add libvirt.
46742
46743         Support versions of autoconf prior to 2.59c.
46744         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
46745         if it is not already defined.
46746
46747 2007-12-09  Bruno Haible  <bruno@clisp.org>
46748
46749         Let 'gnulib-tool --import' collect sources needed for the tests in
46750         tests/ rather than in lib/.
46751         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
46752         argument. If true, add rules to generate libtests.a, and put libtests.a
46753         into $(LDADD). Consider source files in subdirectories and set
46754         uses_subdirs.
46755         (func_emit_initmacro_start, func_emit_initmacro_end,
46756         func_emit_initmacro_done): Pass all arguments explicitly.
46757         (func_import): Determine two module lists main_modules,
46758         testsrelated_modules. Determine use_libtests. Determine two variables
46759         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
46760         instead of just sed_transform_lib_file. Determine two variables
46761         main_files and testsrelated_files. Compute 'files' as the union of
46762         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
46763         func_add_or_update. In the generated gnulib-comp.m4, collect the
46764         object files for tests/ in different variables than those for lib/.
46765         Substitute LIBTESTS_LIBDEPS.
46766         (func_create_testdir): Combine the uses_subdirs results from
46767         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
46768
46769 2007-12-09  Bruno Haible  <bruno@clisp.org>
46770
46771         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
46772         the build-aux directory.
46773
46774 2007-12-09  Bruno Haible  <bruno@clisp.org>
46775
46776         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
46777         introduced on 2006-09-09.
46778
46779 2007-12-07  Jim Meyering  <meyering@redhat.com>
46780
46781         Let these macros work also with autoconf-2.59.
46782         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
46783         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
46784         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
46785
46786 2007-12-06  Jim Meyering  <meyering@redhat.com>
46787
46788         Avoid a configure-time syntax error in gl_FUNC_ACL.
46789         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
46790         function in each branch, before testing the cache variable.
46791
46792 2007-12-04  Eric Blake  <ebb9@byu.net>
46793
46794         Make scripts executable.
46795         * build-aux/config.guess: Add execute permissions.
46796         * build-aux/config.sub: Likewise.
46797         * build-aux/gendocs.sh: Likewise.
46798
46799         Fix frexp on mingw.
46800         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
46801         cross-compiling.
46802         * doc/functions/frexp.texi (frexp): Document the bug.
46803
46804         Make cygwin fseeko check more reliable.
46805         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
46806         version numbers, rather than unrelated feature check.
46807         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
46808         * doc/functions/ftello.texi (ftello): Likewise.
46809         Reported by Bruno Haible.
46810
46811         * m4/strerror.m4: Bump version number.
46812
46813 2007-12-03  Bruno Haible  <bruno@clisp.org>
46814
46815         * doc/functions/mprotect.texi: Mention the mingw problem.
46816
46817 2007-12-03  Eric Blake  <ebb9@byu.net>
46818
46819         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
46820         REPLACE_STRERROR is initialized before this macro.
46821
46822 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
46823
46824         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
46825         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
46826         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
46827         put -lsec in even for programs other than 'ls'.  This fixes a problem
46828         for gettext reported by Bruno Haible in
46829         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
46830         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
46831         Add support for Solaris 10.  This isn't efficient, but should get the
46832         job done for now.
46833
46834 2007-12-03  James Youngman  <jay@gnu.org>
46835
46836         * doc/regexprops-generic.texi: change "an close-group" to "a
46837         close-group" and "illegal" to "not allowed".
46838
46839 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46840
46841         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
46842         pr_byname.h. Needed for the rare case when the maintainer has done
46843         "make maintainer-clean" in the source directory and then attempts a
46844         build outside the source directory.
46845         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
46846         scripts_byname.h.
46847
46848 2007-12-02  Martin Lambers <marlam@marlam.de>
46849             Bruno Haible  <bruno@clisp.org>
46850
46851         * lib/getpagesize.h: Remove file.
46852         * lib/unistd.in.h: Include declaration of getpagesize here.
46853         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
46854         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
46855         HAVE_SYS_PARAM_H.
46856         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
46857         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
46858         * modules/getpagesize (Files): Remove lib/getpagesize.h.
46859         (Depends-on): Add unistd.
46860         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
46861         (Include): Use <unistd.h> instead of getpagesize.h.
46862         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
46863         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
46864         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
46865         gl_GETPAGESIZE invocation, already handled by module dependency.
46866         * lib/pagealign_alloc.c: Don't include getpagesize.h.
46867
46868 2007-12-02  Bruno Haible  <bruno@clisp.org>
46869
46870         * modules/strings-tests: New file.
46871         * tests/test-strings.c: New file.
46872
46873         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
46874         * lib/strings.in.h: New file.
46875         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
46876         * m4/strings_h.m4: New file.
46877         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
46878         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
46879         * modules/strings: New file.
46880         * modules/string (Makefile.am): Update.
46881         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
46882         Reported by Karl Berry.
46883
46884 2007-12-01  Eric Blake  <ebb9@byu.net>
46885
46886         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
46887         accomodate fix in cygwin 1.5.25.
46888
46889 2007-12-01  Jim Meyering  <meyering@redhat.com>
46890
46891         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
46892         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
46893         that would inhibit utf8-optimization of a regexp containing line-
46894         or buffer-anchors, e.g., `^', `$'.
46895
46896 2007-11-30  Bruno Haible  <bruno@clisp.org>
46897
46898         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
46899         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
46900         glthread_recursive_lock_init.
46901         * lib/lock.c (glthread_recursive_lock_init)
46902         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
46903         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
46904
46905 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
46906
46907         New function qset_acl, like set_acl but with syscall semantics.
46908         * lib/acl.h (qset_acl): New decl.
46909         * lib/acl.c (qset_acl): New function.
46910         (set_acl): Use new function.  Use more-consistent diagnostics.
46911
46912 2007-11-28  Jim Meyering  <meyering@redhat.com>
46913
46914         * modules/physmem (License): Change from GPL to LGPLv2+.
46915
46916 2007-11-26  Bruno Haible  <bruno@clisp.org>
46917
46918         * lib/vasnprintf.c (decode_long_double): Don't abort if the
46919         'long double' type has excess precision.
46920         Reported by Jim Meyering in
46921         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
46922
46923 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46924
46925         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
46926         Sync from <http://gnu.org/licenses>.
46927         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
46928         with license text from same location.
46929         * doc/maintain.texi, doc/standards.texi:  Sync from
46930         <http://savannah.gnu.org/projects/gnustandards>.
46931
46932 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
46933         and Jim Meyering  <meyering@redhat.com>
46934
46935         Adjust getdate' grammar to accept a slightly more regular language.
46936         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
46937         Before, the former was rejected.
46938         * lib/getdate.y (digits_to_date_time): New function, factored
46939         out of ...
46940         (number): ...here.  Just call digits_to_date_time.
46941         (hybrid): New non-terminal to handle an <unsigned number,
46942         signed relative offset> sequence consistently.
46943
46944 2007-11-18  Jim Meyering  <meyering@redhat.com>
46945
46946         Pull my changes from coreutils:
46947         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
46948         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
46949         use of $gnulib_tool_option_extras, so that it's separated from the
46950         preceding argument.
46951
46952         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
46953         * build-aux/bootstrap (cp_mark_as_generated): Create any required
46954         parent destination directories before copying a file into place.
46955
46956 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
46957
46958         bootstrap: work also with 4-argument variant of AC_INIT
46959         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
46960
46961 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
46962
46963         Port test-getaddrinfo to Solaris.
46964         Problem reported by Bruno Haible in
46965         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
46966         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
46967         explanation of setting 'hints'.
46968         Don't reject an implementation merely because it returns EAI_SERVICE.
46969         (EAI_SERVICE): Define to 0 if not defined.
46970
46971 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
46972
46973         The license of gnu-make and posix-shell is now "GPLed build tool".
46974         * modules/gnu-make (License): Likewise.
46975         * modules/posix-shell (License): Likewise.
46976
46977         New module posix-shell, for determining a POSIX shell
46978         or perhaps something that is close enough to a POSIX shell.
46979         * m4/posix-shell.m4: New file.
46980         * modules/posix-shell: New file.
46981
46982         * MODULES.html.sh: Mention new module.
46983
46984         New module gnu-make, for determining whether we're using GNU Make.
46985         * m4/gnu-make.m4: New file.
46986         * modules/gnu-make: New file.
46987         * MODULES.html.sh: Mention new module.
46988
46989 2007-11-14  Jim Meyering  <meyering@redhat.com>
46990
46991         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
46992         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
46993         use this macro to create a function _definition_.
46994         Remove useless "#undef ARGMATCH_DIE".
46995
46996 2007-11-14  Bruno Haible  <bruno@clisp.org>
46997
46998         * lib/config.charset: Update for OpenBSD 4.1.
46999         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
47000
47001 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
47002
47003         Document 64-bit #if problems in stdint.texi.
47004         * doc/headers/stdint.texi (stdint.h): Mention problems with
47005         64-bit-#if, and how to work around them.
47006
47007         Don't insist on 'long long int' support in the preprocessor.  It
47008         breaks too many things.  For example, PRIdMAX still uses a 'long
47009         long int' format with the latest Sun compiler, even though
47010         HAVE_LONG_LONG_INT isn't defined due to that compiler's
47011         preprocessor problem.  This causes the latest coreutils to dump
47012         core on Solaris 10 sparc with the Sun C compiler.
47013         Instead, fix the 2007-10-16 problem in a different way, by evaluating
47014         the troublesome expressions at configure-time, not at #if-time.
47015         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
47016         preprocessor.
47017         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
47018         compile-time C checks, done at 'configure'-time.
47019         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
47020         * modules/inttypes (Makefile): Substitute the new symbols that
47021         gl_INTTYPES_H now generates.
47022         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
47023
47024 2007-11-12  Bruno Haible  <bruno@clisp.org>
47025
47026         Tests for Unicode character classification functions.
47027
47028         * modules/unictype/bidicategory-byname-tests: New file.
47029         * modules/unictype/bidicategory-name-tests: New file.
47030         * modules/unictype/bidicategory-of-tests: New file.
47031         * modules/unictype/bidicategory-test-tests: New file.
47032         * modules/unictype/block-list-tests: New file.
47033         * modules/unictype/block-of-tests: New file.
47034         * modules/unictype/block-test-tests: New file.
47035         * modules/unictype/category-C-tests: New file.
47036         * modules/unictype/category-Cc-tests: New file.
47037         * modules/unictype/category-Cf-tests: New file.
47038         * modules/unictype/category-Cn-tests: New file.
47039         * modules/unictype/category-Co-tests: New file.
47040         * modules/unictype/category-Cs-tests: New file.
47041         * modules/unictype/category-L-tests: New file.
47042         * modules/unictype/category-Ll-tests: New file.
47043         * modules/unictype/category-Lm-tests: New file.
47044         * modules/unictype/category-Lo-tests: New file.
47045         * modules/unictype/category-Lt-tests: New file.
47046         * modules/unictype/category-Lu-tests: New file.
47047         * modules/unictype/category-M-tests: New file.
47048         * modules/unictype/category-Mc-tests: New file.
47049         * modules/unictype/category-Me-tests: New file.
47050         * modules/unictype/category-Mn-tests: New file.
47051         * modules/unictype/category-N-tests: New file.
47052         * modules/unictype/category-Nd-tests: New file.
47053         * modules/unictype/category-Nl-tests: New file.
47054         * modules/unictype/category-No-tests: New file.
47055         * modules/unictype/category-P-tests: New file.
47056         * modules/unictype/category-Pc-tests: New file.
47057         * modules/unictype/category-Pd-tests: New file.
47058         * modules/unictype/category-Pe-tests: New file.
47059         * modules/unictype/category-Pf-tests: New file.
47060         * modules/unictype/category-Pi-tests: New file.
47061         * modules/unictype/category-Po-tests: New file.
47062         * modules/unictype/category-Ps-tests: New file.
47063         * modules/unictype/category-S-tests: New file.
47064         * modules/unictype/category-Sc-tests: New file.
47065         * modules/unictype/category-Sk-tests: New file.
47066         * modules/unictype/category-Sm-tests: New file.
47067         * modules/unictype/category-So-tests: New file.
47068         * modules/unictype/category-Z-tests: New file.
47069         * modules/unictype/category-Zl-tests: New file.
47070         * modules/unictype/category-Zp-tests: New file.
47071         * modules/unictype/category-Zs-tests: New file.
47072         * modules/unictype/category-and-not-tests: New file.
47073         * modules/unictype/category-and-tests: New file.
47074         * modules/unictype/category-byname-tests: New file.
47075         * modules/unictype/category-name-tests: New file.
47076         * modules/unictype/category-none-tests: New file.
47077         * modules/unictype/category-of-tests: New file.
47078         * modules/unictype/category-or-tests: New file.
47079         * modules/unictype/category-test-withtable-tests: New file.
47080         * modules/unictype/combining-class-tests: New file.
47081         * modules/unictype/ctype-alnum-tests: New file.
47082         * modules/unictype/ctype-alpha-tests: New file.
47083         * modules/unictype/ctype-blank-tests: New file.
47084         * modules/unictype/ctype-cntrl-tests: New file.
47085         * modules/unictype/ctype-digit-tests: New file.
47086         * modules/unictype/ctype-graph-tests: New file.
47087         * modules/unictype/ctype-lower-tests: New file.
47088         * modules/unictype/ctype-print-tests: New file.
47089         * modules/unictype/ctype-punct-tests: New file.
47090         * modules/unictype/ctype-space-tests: New file.
47091         * modules/unictype/ctype-upper-tests: New file.
47092         * modules/unictype/ctype-xdigit-tests: New file.
47093         * modules/unictype/decimal-digit-tests: New file.
47094         * modules/unictype/digit-tests: New file.
47095         * modules/unictype/mirror-tests: New file.
47096         * modules/unictype/numeric-tests: New file.
47097         * modules/unictype/property-alphabetic-tests: New file.
47098         * modules/unictype/property-ascii-hex-digit-tests: New file.
47099         * modules/unictype/property-bidi-arabic-digit-tests: New file.
47100         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
47101         * modules/unictype/property-bidi-block-separator-tests: New file.
47102         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
47103         * modules/unictype/property-bidi-common-separator-tests: New file.
47104         * modules/unictype/property-bidi-control-tests: New file.
47105         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
47106         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
47107         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
47108         * modules/unictype/property-bidi-european-digit-tests: New file.
47109         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
47110         * modules/unictype/property-bidi-left-to-right-tests: New file.
47111         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
47112         * modules/unictype/property-bidi-other-neutral-tests: New file.
47113         * modules/unictype/property-bidi-pdf-tests: New file.
47114         * modules/unictype/property-bidi-segment-separator-tests: New file.
47115         * modules/unictype/property-bidi-whitespace-tests: New file.
47116         * modules/unictype/property-byname-tests: New file.
47117         * modules/unictype/property-combining-tests: New file.
47118         * modules/unictype/property-composite-tests: New file.
47119         * modules/unictype/property-currency-symbol-tests: New file.
47120         * modules/unictype/property-dash-tests: New file.
47121         * modules/unictype/property-decimal-digit-tests: New file.
47122         * modules/unictype/property-default-ignorable-code-point-tests: New file.
47123         * modules/unictype/property-deprecated-tests: New file.
47124         * modules/unictype/property-diacritic-tests: New file.
47125         * modules/unictype/property-extender-tests: New file.
47126         * modules/unictype/property-format-control-tests: New file.
47127         * modules/unictype/property-grapheme-base-tests: New file.
47128         * modules/unictype/property-grapheme-extend-tests: New file.
47129         * modules/unictype/property-grapheme-link-tests: New file.
47130         * modules/unictype/property-hex-digit-tests: New file.
47131         * modules/unictype/property-hyphen-tests: New file.
47132         * modules/unictype/property-id-continue-tests: New file.
47133         * modules/unictype/property-id-start-tests: New file.
47134         * modules/unictype/property-ideographic-tests: New file.
47135         * modules/unictype/property-ids-binary-operator-tests: New file.
47136         * modules/unictype/property-ids-trinary-operator-tests: New file.
47137         * modules/unictype/property-ignorable-control-tests: New file.
47138         * modules/unictype/property-iso-control-tests: New file.
47139         * modules/unictype/property-join-control-tests: New file.
47140         * modules/unictype/property-left-of-pair-tests: New file.
47141         * modules/unictype/property-line-separator-tests: New file.
47142         * modules/unictype/property-logical-order-exception-tests: New file.
47143         * modules/unictype/property-lowercase-tests: New file.
47144         * modules/unictype/property-math-tests: New file.
47145         * modules/unictype/property-non-break-tests: New file.
47146         * modules/unictype/property-not-a-character-tests: New file.
47147         * modules/unictype/property-numeric-tests: New file.
47148         * modules/unictype/property-other-alphabetic-tests: New file.
47149         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
47150         * modules/unictype/property-other-grapheme-extend-tests: New file.
47151         * modules/unictype/property-other-id-continue-tests: New file.
47152         * modules/unictype/property-other-id-start-tests: New file.
47153         * modules/unictype/property-other-lowercase-tests: New file.
47154         * modules/unictype/property-other-math-tests: New file.
47155         * modules/unictype/property-other-uppercase-tests: New file.
47156         * modules/unictype/property-paired-punctuation-tests: New file.
47157         * modules/unictype/property-paragraph-separator-tests: New file.
47158         * modules/unictype/property-pattern-syntax-tests: New file.
47159         * modules/unictype/property-pattern-white-space-tests: New file.
47160         * modules/unictype/property-private-use-tests: New file.
47161         * modules/unictype/property-punctuation-tests: New file.
47162         * modules/unictype/property-quotation-mark-tests: New file.
47163         * modules/unictype/property-radical-tests: New file.
47164         * modules/unictype/property-sentence-terminal-tests: New file.
47165         * modules/unictype/property-soft-dotted-tests: New file.
47166         * modules/unictype/property-space-tests: New file.
47167         * modules/unictype/property-terminal-punctuation-tests: New file.
47168         * modules/unictype/property-test-tests: New file.
47169         * modules/unictype/property-titlecase-tests: New file.
47170         * modules/unictype/property-unassigned-code-value-tests: New file.
47171         * modules/unictype/property-unified-ideograph-tests: New file.
47172         * modules/unictype/property-uppercase-tests: New file.
47173         * modules/unictype/property-variation-selector-tests: New file.
47174         * modules/unictype/property-white-space-tests: New file.
47175         * modules/unictype/property-xid-continue-tests: New file.
47176         * modules/unictype/property-xid-start-tests: New file.
47177         * modules/unictype/property-zero-width-tests: New file.
47178         * modules/unictype/scripts-tests: New file.
47179         * modules/unictype/syntax-c-ident-tests: New file.
47180         * modules/unictype/syntax-c-whitespace-tests: New file.
47181         * modules/unictype/syntax-java-ident-tests: New file.
47182         * modules/unictype/syntax-java-whitespace-tests: New file.
47183         * tests/unictype/test-bidi_byname.c: New file.
47184         * tests/unictype/test-bidi_name.c: New file.
47185         * tests/unictype/test-bidi_of.c: New file.
47186         * tests/unictype/test-bidi_test.c: New file.
47187         * tests/unictype/test-block_list.c: New file.
47188         * tests/unictype/test-block_of.c: New file.
47189         * tests/unictype/test-block_test.c: New file.
47190         * tests/unictype/test-categ_and.c: New file.
47191         * tests/unictype/test-categ_and_not.c: New file.
47192         * tests/unictype/test-categ_byname.c: New file.
47193         * tests/unictype/test-categ_name.c: New file.
47194         * tests/unictype/test-categ_none.c: New file.
47195         * tests/unictype/test-categ_of.c: New file.
47196         * tests/unictype/test-categ_or.c: New file.
47197         * tests/unictype/test-categ_test_withtable.c: New file.
47198         * tests/unictype/test-combining.c: New file.
47199         * tests/unictype/test-decdigit.c: New file.
47200         * tests/unictype/test-digit.c: New file.
47201         * tests/unictype/test-mirror.c: New file.
47202         * tests/unictype/test-numeric.c: New file.
47203         * tests/unictype/test-pr_byname.c: New file.
47204         * tests/unictype/test-pr_test.c: New file.
47205         * tests/unictype/test-predicate-part1.h: New file.
47206         * tests/unictype/test-predicate-part2.h: New file.
47207         * tests/unictype/test-scripts.c: New file.
47208         * tests/unictype/test-sy_c_ident.c: New file.
47209         * tests/unictype/test-sy_java_ident.c: New file.
47210
47211         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
47212         for Unicode 5.0.0.
47213         * tests/unictype/test-categ_Cc.c: Likewise.
47214         * tests/unictype/test-categ_Cf.c: Likewise.
47215         * tests/unictype/test-categ_Cn.c: Likewise.
47216         * tests/unictype/test-categ_Co.c: Likewise.
47217         * tests/unictype/test-categ_Cs.c: Likewise.
47218         * tests/unictype/test-categ_L.c: Likewise.
47219         * tests/unictype/test-categ_Ll.c: Likewise.
47220         * tests/unictype/test-categ_Lm.c: Likewise.
47221         * tests/unictype/test-categ_Lo.c: Likewise.
47222         * tests/unictype/test-categ_Lt.c: Likewise.
47223         * tests/unictype/test-categ_Lu.c: Likewise.
47224         * tests/unictype/test-categ_M.c: Likewise.
47225         * tests/unictype/test-categ_Mc.c: Likewise.
47226         * tests/unictype/test-categ_Me.c: Likewise.
47227         * tests/unictype/test-categ_Mn.c: Likewise.
47228         * tests/unictype/test-categ_N.c: Likewise.
47229         * tests/unictype/test-categ_Nd.c: Likewise.
47230         * tests/unictype/test-categ_Nl.c: Likewise.
47231         * tests/unictype/test-categ_No.c: Likewise.
47232         * tests/unictype/test-categ_P.c: Likewise.
47233         * tests/unictype/test-categ_Pc.c: Likewise.
47234         * tests/unictype/test-categ_Pd.c: Likewise.
47235         * tests/unictype/test-categ_Pe.c: Likewise.
47236         * tests/unictype/test-categ_Pf.c: Likewise.
47237         * tests/unictype/test-categ_Pi.c: Likewise.
47238         * tests/unictype/test-categ_Po.c: Likewise.
47239         * tests/unictype/test-categ_Ps.c: Likewise.
47240         * tests/unictype/test-categ_S.c: Likewise.
47241         * tests/unictype/test-categ_Sc.c: Likewise.
47242         * tests/unictype/test-categ_Sk.c: Likewise.
47243         * tests/unictype/test-categ_Sm.c: Likewise.
47244         * tests/unictype/test-categ_So.c: Likewise.
47245         * tests/unictype/test-categ_Z.c: Likewise.
47246         * tests/unictype/test-categ_Zl.c: Likewise.
47247         * tests/unictype/test-categ_Zp.c: Likewise.
47248         * tests/unictype/test-categ_Zs.c: Likewise.
47249         * tests/unictype/test-ctype_alnum.c: Likewise.
47250         * tests/unictype/test-ctype_alpha.c: Likewise.
47251         * tests/unictype/test-ctype_blank.c: Likewise.
47252         * tests/unictype/test-ctype_cntrl.c: Likewise.
47253         * tests/unictype/test-ctype_digit.c: Likewise.
47254         * tests/unictype/test-ctype_graph.c: Likewise.
47255         * tests/unictype/test-ctype_lower.c: Likewise.
47256         * tests/unictype/test-ctype_print.c: Likewise.
47257         * tests/unictype/test-ctype_punct.c: Likewise.
47258         * tests/unictype/test-ctype_space.c: Likewise.
47259         * tests/unictype/test-ctype_upper.c: Likewise.
47260         * tests/unictype/test-ctype_xdigit.c: Likewise.
47261         * tests/unictype/test-decdigit.h: Likewise.
47262         * tests/unictype/test-digit.h: Likewise.
47263         * tests/unictype/test-numeric.h: Likewise.
47264         * tests/unictype/test-pr_alphabetic.c: Likewise.
47265         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
47266         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
47267         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
47268         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
47269         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
47270         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
47271         * tests/unictype/test-pr_bidi_control.c: Likewise.
47272         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
47273         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
47274         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
47275         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
47276         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
47277         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
47278         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
47279         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
47280         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
47281         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
47282         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
47283         * tests/unictype/test-pr_combining.c: Likewise.
47284         * tests/unictype/test-pr_composite.c: Likewise.
47285         * tests/unictype/test-pr_currency_symbol.c: Likewise.
47286         * tests/unictype/test-pr_dash.c: Likewise.
47287         * tests/unictype/test-pr_decimal_digit.c: Likewise.
47288         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
47289         * tests/unictype/test-pr_deprecated.c: Likewise.
47290         * tests/unictype/test-pr_diacritic.c: Likewise.
47291         * tests/unictype/test-pr_extender.c: Likewise.
47292         * tests/unictype/test-pr_format_control.c: Likewise.
47293         * tests/unictype/test-pr_grapheme_base.c: Likewise.
47294         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
47295         * tests/unictype/test-pr_grapheme_link.c: Likewise.
47296         * tests/unictype/test-pr_hex_digit.c: Likewise.
47297         * tests/unictype/test-pr_hyphen.c: Likewise.
47298         * tests/unictype/test-pr_id_continue.c: Likewise.
47299         * tests/unictype/test-pr_id_start.c: Likewise.
47300         * tests/unictype/test-pr_ideographic.c: Likewise.
47301         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
47302         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
47303         * tests/unictype/test-pr_ignorable_control.c: Likewise.
47304         * tests/unictype/test-pr_iso_control.c: Likewise.
47305         * tests/unictype/test-pr_join_control.c: Likewise.
47306         * tests/unictype/test-pr_left_of_pair.c: Likewise.
47307         * tests/unictype/test-pr_line_separator.c: Likewise.
47308         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
47309         * tests/unictype/test-pr_lowercase.c: Likewise.
47310         * tests/unictype/test-pr_math.c: Likewise.
47311         * tests/unictype/test-pr_non_break.c: Likewise.
47312         * tests/unictype/test-pr_not_a_character.c: Likewise.
47313         * tests/unictype/test-pr_numeric.c: Likewise.
47314         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
47315         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
47316         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
47317         * tests/unictype/test-pr_other_id_continue.c: Likewise.
47318         * tests/unictype/test-pr_other_id_start.c: Likewise.
47319         * tests/unictype/test-pr_other_lowercase.c: Likewise.
47320         * tests/unictype/test-pr_other_math.c: Likewise.
47321         * tests/unictype/test-pr_other_uppercase.c: Likewise.
47322         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
47323         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
47324         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
47325         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
47326         * tests/unictype/test-pr_private_use.c: Likewise.
47327         * tests/unictype/test-pr_punctuation.c: Likewise.
47328         * tests/unictype/test-pr_quotation_mark.c: Likewise.
47329         * tests/unictype/test-pr_radical.c: Likewise.
47330         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
47331         * tests/unictype/test-pr_soft_dotted.c: Likewise.
47332         * tests/unictype/test-pr_space.c: Likewise.
47333         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
47334         * tests/unictype/test-pr_titlecase.c: Likewise.
47335         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
47336         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
47337         * tests/unictype/test-pr_uppercase.c: Likewise.
47338         * tests/unictype/test-pr_variation_selector.c: Likewise.
47339         * tests/unictype/test-pr_white_space.c: Likewise.
47340         * tests/unictype/test-pr_xid_continue.c: Likewise.
47341         * tests/unictype/test-pr_xid_start.c: Likewise.
47342         * tests/unictype/test-pr_zero_width.c: Likewise.
47343         * tests/unictype/test-sy_c_whitespace.c: Likewise.
47344         * tests/unictype/test-sy_java_whitespace.c: Likewise.
47345
47346 2007-11-12  Bruno Haible  <bruno@clisp.org>
47347
47348         Unicode character classification functions.
47349         * lib/unictype.h: New file.
47350         * modules/unictype/base: New file.
47351         * modules/unictype/category-L: New file.
47352         * modules/unictype/category-Lu: New file.
47353         * modules/unictype/category-Ll: New file.
47354         * modules/unictype/category-Lt: New file.
47355         * modules/unictype/category-Lm: New file.
47356         * modules/unictype/category-Lo: New file.
47357         * modules/unictype/category-M: New file.
47358         * modules/unictype/category-Mn: New file.
47359         * modules/unictype/category-Mc: New file.
47360         * modules/unictype/category-Me: New file.
47361         * modules/unictype/category-N: New file.
47362         * modules/unictype/category-Nd: New file.
47363         * modules/unictype/category-Nl: New file.
47364         * modules/unictype/category-No: New file.
47365         * modules/unictype/category-P: New file.
47366         * modules/unictype/category-Pc: New file.
47367         * modules/unictype/category-Pd: New file.
47368         * modules/unictype/category-Ps: New file.
47369         * modules/unictype/category-Pe: New file.
47370         * modules/unictype/category-Pi: New file.
47371         * modules/unictype/category-Pf: New file.
47372         * modules/unictype/category-Po: New file.
47373         * modules/unictype/category-S: New file.
47374         * modules/unictype/category-Sm: New file.
47375         * modules/unictype/category-Sc: New file.
47376         * modules/unictype/category-Sk: New file.
47377         * modules/unictype/category-So: New file.
47378         * modules/unictype/category-Z: New file.
47379         * modules/unictype/category-Zs: New file.
47380         * modules/unictype/category-Zl: New file.
47381         * modules/unictype/category-Zp: New file.
47382         * modules/unictype/category-C: New file.
47383         * modules/unictype/category-Cc: New file.
47384         * modules/unictype/category-Cf: New file.
47385         * modules/unictype/category-Cs: New file.
47386         * modules/unictype/category-Co: New file.
47387         * modules/unictype/category-Cn: New file.
47388         * modules/unictype/category-or: New file.
47389         * modules/unictype/category-of: New file.
47390         * modules/unictype/category-test: New file.
47391         * modules/unictype/category-test-withtable: New file.
47392         * modules/unictype/category-byname: New file.
47393         * modules/unictype/category-none: New file.
47394         * modules/unictype/category-and: New file.
47395         * modules/unictype/category-and-not: New file.
47396         * modules/unictype/category-name: New file.
47397         * modules/unictype/combining-class: New file.
47398         * modules/unictype/category-all: New file.
47399         * modules/unictype/bidicategory-all: New file.
47400         * modules/unictype/bidicategory-byname: New file.
47401         * modules/unictype/bidicategory-name: New file.
47402         * modules/unictype/bidicategory-of: New file.
47403         * modules/unictype/bidicategory-test: New file.
47404         * modules/unictype/decimal-digit: New file.
47405         * modules/unictype/digit: New file.
47406         * modules/unictype/numeric: New file.
47407         * modules/unictype/mirror: New file.
47408         * modules/unictype/property-white-space: New file.
47409         * modules/unictype/property-alphabetic: New file.
47410         * modules/unictype/property-other-alphabetic: New file.
47411         * modules/unictype/property-not-a-character: New file.
47412         * modules/unictype/property-default-ignorable-code-point: New file.
47413         * modules/unictype/property-other-default-ignorable-code-point: New
47414         file.
47415         * modules/unictype/property-deprecated: New file.
47416         * modules/unictype/property-logical-order-exception: New file.
47417         * modules/unictype/property-variation-selector: New file.
47418         * modules/unictype/property-private-use: New file.
47419         * modules/unictype/property-unassigned-code-value: New file.
47420         * modules/unictype/property-uppercase: New file.
47421         * modules/unictype/property-other-uppercase: New file.
47422         * modules/unictype/property-lowercase: New file.
47423         * modules/unictype/property-other-lowercase: New file.
47424         * modules/unictype/property-titlecase: New file.
47425         * modules/unictype/property-soft-dotted: New file.
47426         * modules/unictype/property-id-start: New file.
47427         * modules/unictype/property-other-id-start: New file.
47428         * modules/unictype/property-id-continue: New file.
47429         * modules/unictype/property-other-id-continue: New file.
47430         * modules/unictype/property-xid-start: New file.
47431         * modules/unictype/property-xid-continue: New file.
47432         * modules/unictype/property-pattern-white-space: New file.
47433         * modules/unictype/property-pattern-syntax: New file.
47434         * modules/unictype/property-join-control: New file.
47435         * modules/unictype/property-grapheme-base: New file.
47436         * modules/unictype/property-grapheme-extend: New file.
47437         * modules/unictype/property-other-grapheme-extend: New file.
47438         * modules/unictype/property-grapheme-link: New file.
47439         * modules/unictype/property-bidi-control: New file.
47440         * modules/unictype/property-bidi-left-to-right: New file.
47441         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
47442         * modules/unictype/property-bidi-arabic-right-to-left: New file.
47443         * modules/unictype/property-bidi-european-digit: New file.
47444         * modules/unictype/property-bidi-eur-num-separator: New file.
47445         * modules/unictype/property-bidi-eur-num-terminator: New file.
47446         * modules/unictype/property-bidi-arabic-digit: New file.
47447         * modules/unictype/property-bidi-common-separator: New file.
47448         * modules/unictype/property-bidi-block-separator: New file.
47449         * modules/unictype/property-bidi-segment-separator: New file.
47450         * modules/unictype/property-bidi-whitespace: New file.
47451         * modules/unictype/property-bidi-non-spacing-mark: New file.
47452         * modules/unictype/property-bidi-boundary-neutral: New file.
47453         * modules/unictype/property-bidi-pdf: New file.
47454         * modules/unictype/property-bidi-embedding-or-override: New file.
47455         * modules/unictype/property-bidi-other-neutral: New file.
47456         * modules/unictype/property-hex-digit: New file.
47457         * modules/unictype/property-ascii-hex-digit: New file.
47458         * modules/unictype/property-ideographic: New file.
47459         * modules/unictype/property-unified-ideograph: New file.
47460         * modules/unictype/property-radical: New file.
47461         * modules/unictype/property-ids-binary-operator: New file.
47462         * modules/unictype/property-ids-trinary-operator: New file.
47463         * modules/unictype/property-zero-width: New file.
47464         * modules/unictype/property-space: New file.
47465         * modules/unictype/property-non-break: New file.
47466         * modules/unictype/property-iso-control: New file.
47467         * modules/unictype/property-format-control: New file.
47468         * modules/unictype/property-dash: New file.
47469         * modules/unictype/property-hyphen: New file.
47470         * modules/unictype/property-punctuation: New file.
47471         * modules/unictype/property-line-separator: New file.
47472         * modules/unictype/property-paragraph-separator: New file.
47473         * modules/unictype/property-quotation-mark: New file.
47474         * modules/unictype/property-sentence-terminal: New file.
47475         * modules/unictype/property-terminal-punctuation: New file.
47476         * modules/unictype/property-currency-symbol: New file.
47477         * modules/unictype/property-math: New file.
47478         * modules/unictype/property-other-math: New file.
47479         * modules/unictype/property-paired-punctuation: New file.
47480         * modules/unictype/property-left-of-pair: New file.
47481         * modules/unictype/property-combining: New file.
47482         * modules/unictype/property-composite: New file.
47483         * modules/unictype/property-decimal-digit: New file.
47484         * modules/unictype/property-numeric: New file.
47485         * modules/unictype/property-diacritic: New file.
47486         * modules/unictype/property-extender: New file.
47487         * modules/unictype/property-ignorable-control: New file.
47488         * modules/unictype/property-test: New file.
47489         * modules/unictype/property-byname: New file.
47490         * modules/unictype/property-all: New file.
47491         * modules/unictype/scripts: New file.
47492         * modules/unictype/scripts-all: New file.
47493         * modules/unictype/block-of: New file.
47494         * modules/unictype/block-test: New file.
47495         * modules/unictype/block-list: New file.
47496         * modules/unictype/block-all: New file.
47497         * modules/unictype/syntax-c-whitespace: New file.
47498         * modules/unictype/syntax-java-whitespace: New file.
47499         * modules/unictype/syntax-c-ident: New file.
47500         * modules/unictype/syntax-java-ident: New file.
47501         * modules/unictype/ctype-alnum: New file.
47502         * modules/unictype/ctype-alpha: New file.
47503         * modules/unictype/ctype-cntrl: New file.
47504         * modules/unictype/ctype-digit: New file.
47505         * modules/unictype/ctype-graph: New file.
47506         * modules/unictype/ctype-lower: New file.
47507         * modules/unictype/ctype-print: New file.
47508         * modules/unictype/ctype-punct: New file.
47509         * modules/unictype/ctype-space: New file.
47510         * modules/unictype/ctype-upper: New file.
47511         * modules/unictype/ctype-xdigit: New file.
47512         * modules/unictype/ctype-blank: New file.
47513         * lib/unictype/bidi_byname.c: New file.
47514         * lib/unictype/bidi_name.c: New file.
47515         * lib/unictype/bidi_of.c: New file.
47516         * lib/unictype/bidi_test.c: New file.
47517         * lib/unictype/bitmap.h: New file.
47518         * lib/unictype/block_test.c: New file.
47519         * lib/unictype/blocks.c: New file.
47520         * lib/unictype/categ_C.c: New file.
47521         * lib/unictype/categ_Cc.c: New file.
47522         * lib/unictype/categ_Cf.c: New file.
47523         * lib/unictype/categ_Cn.c: New file.
47524         * lib/unictype/categ_Co.c: New file.
47525         * lib/unictype/categ_Cs.c: New file.
47526         * lib/unictype/categ_L.c: New file.
47527         * lib/unictype/categ_Ll.c: New file.
47528         * lib/unictype/categ_Lm.c: New file.
47529         * lib/unictype/categ_Lo.c: New file.
47530         * lib/unictype/categ_Lt.c: New file.
47531         * lib/unictype/categ_Lu.c: New file.
47532         * lib/unictype/categ_M.c: New file.
47533         * lib/unictype/categ_Mc.c: New file.
47534         * lib/unictype/categ_Me.c: New file.
47535         * lib/unictype/categ_Mn.c: New file.
47536         * lib/unictype/categ_N.c: New file.
47537         * lib/unictype/categ_Nd.c: New file.
47538         * lib/unictype/categ_Nl.c: New file.
47539         * lib/unictype/categ_No.c: New file.
47540         * lib/unictype/categ_P.c: New file.
47541         * lib/unictype/categ_Pc.c: New file.
47542         * lib/unictype/categ_Pd.c: New file.
47543         * lib/unictype/categ_Pe.c: New file.
47544         * lib/unictype/categ_Pf.c: New file.
47545         * lib/unictype/categ_Pi.c: New file.
47546         * lib/unictype/categ_Po.c: New file.
47547         * lib/unictype/categ_Ps.c: New file.
47548         * lib/unictype/categ_S.c: New file.
47549         * lib/unictype/categ_Sc.c: New file.
47550         * lib/unictype/categ_Sk.c: New file.
47551         * lib/unictype/categ_Sm.c: New file.
47552         * lib/unictype/categ_So.c: New file.
47553         * lib/unictype/categ_Z.c: New file.
47554         * lib/unictype/categ_Zl.c: New file.
47555         * lib/unictype/categ_Zp.c: New file.
47556         * lib/unictype/categ_Zs.c: New file.
47557         * lib/unictype/categ_and.c: New file.
47558         * lib/unictype/categ_and_not.c: New file.
47559         * lib/unictype/categ_byname.c: New file.
47560         * lib/unictype/categ_name.c: New file.
47561         * lib/unictype/categ_none.c: New file.
47562         * lib/unictype/categ_of.c: New file.
47563         * lib/unictype/categ_or.c: New file.
47564         * lib/unictype/categ_test.c: New file.
47565         * lib/unictype/combining.c: New file.
47566         * lib/unictype/ctype_alnum.c: New file.
47567         * lib/unictype/ctype_alpha.c: New file.
47568         * lib/unictype/ctype_blank.c: New file.
47569         * lib/unictype/ctype_cntrl.c: New file.
47570         * lib/unictype/ctype_digit.c: New file.
47571         * lib/unictype/ctype_graph.c: New file.
47572         * lib/unictype/ctype_lower.c: New file.
47573         * lib/unictype/ctype_print.c: New file.
47574         * lib/unictype/ctype_punct.c: New file.
47575         * lib/unictype/ctype_space.c: New file.
47576         * lib/unictype/ctype_upper.c: New file.
47577         * lib/unictype/ctype_xdigit.c: New file.
47578         * lib/unictype/decdigit.c: New file.
47579         * lib/unictype/digit.c: New file.
47580         * lib/unictype/identsyntaxmap.h: New file.
47581         * lib/unictype/mirror.c: New file.
47582         * lib/unictype/numeric.c: New file.
47583         * lib/unictype/pr_alphabetic.c: New file.
47584         * lib/unictype/pr_ascii_hex_digit.c: New file.
47585         * lib/unictype/pr_bidi_arabic_digit.c: New file.
47586         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
47587         * lib/unictype/pr_bidi_block_separator.c: New file.
47588         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
47589         * lib/unictype/pr_bidi_common_separator.c: New file.
47590         * lib/unictype/pr_bidi_control.c: New file.
47591         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
47592         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
47593         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
47594         * lib/unictype/pr_bidi_european_digit.c: New file.
47595         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
47596         * lib/unictype/pr_bidi_left_to_right.c: New file.
47597         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
47598         * lib/unictype/pr_bidi_other_neutral.c: New file.
47599         * lib/unictype/pr_bidi_pdf.c: New file.
47600         * lib/unictype/pr_bidi_segment_separator.c: New file.
47601         * lib/unictype/pr_bidi_whitespace.c: New file.
47602         * lib/unictype/pr_byname.c: New file.
47603         * lib/unictype/pr_byname.gperf: New file.
47604         * lib/unictype/pr_combining.c: New file.
47605         * lib/unictype/pr_composite.c: New file.
47606         * lib/unictype/pr_currency_symbol.c: New file.
47607         * lib/unictype/pr_dash.c: New file.
47608         * lib/unictype/pr_decimal_digit.c: New file.
47609         * lib/unictype/pr_default_ignorable_code_point.c: New file.
47610         * lib/unictype/pr_deprecated.c: New file.
47611         * lib/unictype/pr_diacritic.c: New file.
47612         * lib/unictype/pr_extender.c: New file.
47613         * lib/unictype/pr_format_control.c: New file.
47614         * lib/unictype/pr_grapheme_base.c: New file.
47615         * lib/unictype/pr_grapheme_extend.c: New file.
47616         * lib/unictype/pr_grapheme_link.c: New file.
47617         * lib/unictype/pr_hex_digit.c: New file.
47618         * lib/unictype/pr_hyphen.c: New file.
47619         * lib/unictype/pr_id_continue.c: New file.
47620         * lib/unictype/pr_id_start.c: New file.
47621         * lib/unictype/pr_ideographic.c: New file.
47622         * lib/unictype/pr_ids_binary_operator.c: New file.
47623         * lib/unictype/pr_ids_trinary_operator.c: New file.
47624         * lib/unictype/pr_ignorable_control.c: New file.
47625         * lib/unictype/pr_iso_control.c: New file.
47626         * lib/unictype/pr_join_control.c: New file.
47627         * lib/unictype/pr_left_of_pair.c: New file.
47628         * lib/unictype/pr_line_separator.c: New file.
47629         * lib/unictype/pr_logical_order_exception.c: New file.
47630         * lib/unictype/pr_lowercase.c: New file.
47631         * lib/unictype/pr_math.c: New file.
47632         * lib/unictype/pr_non_break.c: New file.
47633         * lib/unictype/pr_not_a_character.c: New file.
47634         * lib/unictype/pr_numeric.c: New file.
47635         * lib/unictype/pr_other_alphabetic.c: New file.
47636         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
47637         * lib/unictype/pr_other_grapheme_extend.c: New file.
47638         * lib/unictype/pr_other_id_continue.c: New file.
47639         * lib/unictype/pr_other_id_start.c: New file.
47640         * lib/unictype/pr_other_lowercase.c: New file.
47641         * lib/unictype/pr_other_math.c: New file.
47642         * lib/unictype/pr_other_uppercase.c: New file.
47643         * lib/unictype/pr_paired_punctuation.c: New file.
47644         * lib/unictype/pr_paragraph_separator.c: New file.
47645         * lib/unictype/pr_pattern_syntax.c: New file.
47646         * lib/unictype/pr_pattern_white_space.c: New file.
47647         * lib/unictype/pr_private_use.c: New file.
47648         * lib/unictype/pr_punctuation.c: New file.
47649         * lib/unictype/pr_quotation_mark.c: New file.
47650         * lib/unictype/pr_radical.c: New file.
47651         * lib/unictype/pr_sentence_terminal.c: New file.
47652         * lib/unictype/pr_soft_dotted.c: New file.
47653         * lib/unictype/pr_space.c: New file.
47654         * lib/unictype/pr_terminal_punctuation.c: New file.
47655         * lib/unictype/pr_test.c: New file.
47656         * lib/unictype/pr_titlecase.c: New file.
47657         * lib/unictype/pr_unassigned_code_value.c: New file.
47658         * lib/unictype/pr_unified_ideograph.c: New file.
47659         * lib/unictype/pr_uppercase.c: New file.
47660         * lib/unictype/pr_variation_selector.c: New file.
47661         * lib/unictype/pr_white_space.c: New file.
47662         * lib/unictype/pr_xid_continue.c: New file.
47663         * lib/unictype/pr_xid_start.c: New file.
47664         * lib/unictype/pr_zero_width.c: New file.
47665         * lib/unictype/scripts.c: New file.
47666         * lib/unictype/sy_c_ident.c: New file.
47667         * lib/unictype/sy_c_whitespace.c: New file.
47668         * lib/unictype/sy_java_ident.c: New file.
47669         * lib/unictype/sy_java_whitespace.c: New file.
47670
47671         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
47672         Unicode 5.0.0.
47673         * lib/unictype/blocks.h: Likewise.
47674         * lib/unictype/categ_C.h: Likewise.
47675         * lib/unictype/categ_Cc.h: Likewise.
47676         * lib/unictype/categ_Cf.h: Likewise.
47677         * lib/unictype/categ_Cn.h: Likewise.
47678         * lib/unictype/categ_Co.h: Likewise.
47679         * lib/unictype/categ_Cs.h: Likewise.
47680         * lib/unictype/categ_L.h: Likewise.
47681         * lib/unictype/categ_Ll.h: Likewise.
47682         * lib/unictype/categ_Lm.h: Likewise.
47683         * lib/unictype/categ_Lo.h: Likewise.
47684         * lib/unictype/categ_Lt.h: Likewise.
47685         * lib/unictype/categ_Lu.h: Likewise.
47686         * lib/unictype/categ_M.h: Likewise.
47687         * lib/unictype/categ_Mc.h: Likewise.
47688         * lib/unictype/categ_Me.h: Likewise.
47689         * lib/unictype/categ_Mn.h: Likewise.
47690         * lib/unictype/categ_N.h: Likewise.
47691         * lib/unictype/categ_Nd.h: Likewise.
47692         * lib/unictype/categ_Nl.h: Likewise.
47693         * lib/unictype/categ_No.h: Likewise.
47694         * lib/unictype/categ_P.h: Likewise.
47695         * lib/unictype/categ_Pc.h: Likewise.
47696         * lib/unictype/categ_Pd.h: Likewise.
47697         * lib/unictype/categ_Pe.h: Likewise.
47698         * lib/unictype/categ_Pf.h: Likewise.
47699         * lib/unictype/categ_Pi.h: Likewise.
47700         * lib/unictype/categ_Po.h: Likewise.
47701         * lib/unictype/categ_Ps.h: Likewise.
47702         * lib/unictype/categ_S.h: Likewise.
47703         * lib/unictype/categ_Sc.h: Likewise.
47704         * lib/unictype/categ_Sk.h: Likewise.
47705         * lib/unictype/categ_Sm.h: Likewise.
47706         * lib/unictype/categ_So.h: Likewise.
47707         * lib/unictype/categ_Z.h: Likewise.
47708         * lib/unictype/categ_Zl.h: Likewise.
47709         * lib/unictype/categ_Zp.h: Likewise.
47710         * lib/unictype/categ_Zs.h: Likewise.
47711         * lib/unictype/categ_of.h: Likewise.
47712         * lib/unictype/combining.h: Likewise.
47713         * lib/unictype/ctype_alnum.h: Likewise.
47714         * lib/unictype/ctype_alpha.h: Likewise.
47715         * lib/unictype/ctype_blank.h: Likewise.
47716         * lib/unictype/ctype_cntrl.h: Likewise.
47717         * lib/unictype/ctype_digit.h: Likewise.
47718         * lib/unictype/ctype_graph.h: Likewise.
47719         * lib/unictype/ctype_lower.h: Likewise.
47720         * lib/unictype/ctype_print.h: Likewise.
47721         * lib/unictype/ctype_punct.h: Likewise.
47722         * lib/unictype/ctype_space.h: Likewise.
47723         * lib/unictype/ctype_upper.h: Likewise.
47724         * lib/unictype/ctype_xdigit.h: Likewise.
47725         * lib/unictype/decdigit.h: Likewise.
47726         * lib/unictype/digit.h: Likewise.
47727         * lib/unictype/mirror.h: Likewise.
47728         * lib/unictype/numeric.h: Likewise.
47729         * lib/unictype/pr_alphabetic.h: Likewise.
47730         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
47731         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
47732         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
47733         * lib/unictype/pr_bidi_block_separator.h: Likewise.
47734         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
47735         * lib/unictype/pr_bidi_common_separator.h: Likewise.
47736         * lib/unictype/pr_bidi_control.h: Likewise.
47737         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
47738         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
47739         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
47740         * lib/unictype/pr_bidi_european_digit.h: Likewise.
47741         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
47742         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
47743         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
47744         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
47745         * lib/unictype/pr_bidi_pdf.h: Likewise.
47746         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
47747         * lib/unictype/pr_bidi_whitespace.h: Likewise.
47748         * lib/unictype/pr_combining.h: Likewise.
47749         * lib/unictype/pr_composite.h: Likewise.
47750         * lib/unictype/pr_currency_symbol.h: Likewise.
47751         * lib/unictype/pr_dash.h: Likewise.
47752         * lib/unictype/pr_decimal_digit.h: Likewise.
47753         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
47754         * lib/unictype/pr_deprecated.h: Likewise.
47755         * lib/unictype/pr_diacritic.h: Likewise.
47756         * lib/unictype/pr_extender.h: Likewise.
47757         * lib/unictype/pr_format_control.h: Likewise.
47758         * lib/unictype/pr_grapheme_base.h: Likewise.
47759         * lib/unictype/pr_grapheme_extend.h: Likewise.
47760         * lib/unictype/pr_grapheme_link.h: Likewise.
47761         * lib/unictype/pr_hex_digit.h: Likewise.
47762         * lib/unictype/pr_hyphen.h: Likewise.
47763         * lib/unictype/pr_id_continue.h: Likewise.
47764         * lib/unictype/pr_id_start.h: Likewise.
47765         * lib/unictype/pr_ideographic.h: Likewise.
47766         * lib/unictype/pr_ids_binary_operator.h: Likewise.
47767         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
47768         * lib/unictype/pr_ignorable_control.h: Likewise.
47769         * lib/unictype/pr_iso_control.h: Likewise.
47770         * lib/unictype/pr_join_control.h: Likewise.
47771         * lib/unictype/pr_left_of_pair.h: Likewise.
47772         * lib/unictype/pr_line_separator.h: Likewise.
47773         * lib/unictype/pr_logical_order_exception.h: Likewise.
47774         * lib/unictype/pr_lowercase.h: Likewise.
47775         * lib/unictype/pr_math.h: Likewise.
47776         * lib/unictype/pr_non_break.h: Likewise.
47777         * lib/unictype/pr_not_a_character.h: Likewise.
47778         * lib/unictype/pr_numeric.h: Likewise.
47779         * lib/unictype/pr_other_alphabetic.h: Likewise.
47780         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
47781         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
47782         * lib/unictype/pr_other_id_continue.h: Likewise.
47783         * lib/unictype/pr_other_id_start.h: Likewise.
47784         * lib/unictype/pr_other_lowercase.h: Likewise.
47785         * lib/unictype/pr_other_math.h: Likewise.
47786         * lib/unictype/pr_other_uppercase.h: Likewise.
47787         * lib/unictype/pr_paired_punctuation.h: Likewise.
47788         * lib/unictype/pr_paragraph_separator.h: Likewise.
47789         * lib/unictype/pr_pattern_syntax.h: Likewise.
47790         * lib/unictype/pr_pattern_white_space.h: Likewise.
47791         * lib/unictype/pr_private_use.h: Likewise.
47792         * lib/unictype/pr_punctuation.h: Likewise.
47793         * lib/unictype/pr_quotation_mark.h: Likewise.
47794         * lib/unictype/pr_radical.h: Likewise.
47795         * lib/unictype/pr_sentence_terminal.h: Likewise.
47796         * lib/unictype/pr_soft_dotted.h: Likewise.
47797         * lib/unictype/pr_space.h: Likewise.
47798         * lib/unictype/pr_terminal_punctuation.h: Likewise.
47799         * lib/unictype/pr_titlecase.h: Likewise.
47800         * lib/unictype/pr_unassigned_code_value.h: Likewise.
47801         * lib/unictype/pr_unified_ideograph.h: Likewise.
47802         * lib/unictype/pr_uppercase.h: Likewise.
47803         * lib/unictype/pr_variation_selector.h: Likewise.
47804         * lib/unictype/pr_white_space.h: Likewise.
47805         * lib/unictype/pr_xid_continue.h: Likewise.
47806         * lib/unictype/pr_xid_start.h: Likewise.
47807         * lib/unictype/pr_zero_width.h: Likewise.
47808         * lib/unictype/scripts.h: Likewise.
47809         * lib/unictype/scripts_byname.gperf: Likewise.
47810         * lib/unictype/sy_c_ident.h: Likewise.
47811         * lib/unictype/sy_c_whitespace.h: Likewise.
47812         * lib/unictype/sy_java_ident.h: Likewise.
47813         * lib/unictype/sy_java_whitespace.h: Likewise.
47814
47815         * lib/unictype/Makefile: New file.
47816         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
47817         glibc.
47818         * lib/unictype/3level.h: New file, copied from glibc.
47819         * lib/unictype/3levelbit.h: New file.
47820
47821 2007-11-11  Bruno Haible  <bruno@clisp.org>
47822
47823         * modules/gperf: New file.
47824         * modules/iconv_open (Depends-on): Add it.
47825         (Makefile.am): Remove the GPERF definition.
47826
47827 2007-11-11  Bruno Haible  <bruno@clisp.org>
47828
47829         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
47830         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
47831
47832 2007-11-11  Bruno Haible  <bruno@clisp.org>
47833
47834         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
47835         (usage): Remove function.
47836
47837 2007-11-11  Bruno Haible  <bruno@clisp.org>
47838
47839         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
47840         gl_FUNC_CEILF_LIBS.
47841         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
47842         gl_FUNC_CEIL_LIBS.
47843         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
47844         gl_FUNC_CEILL_LIBS.
47845         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
47846         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
47847         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
47848
47849 2007-11-11  Bruno Haible  <bruno@clisp.org>
47850
47851         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
47852         roundf were declared but do not exist on functions.
47853         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
47854         roundl were declared but do not exist on functions.
47855         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
47856         HAVE_FLOORL_AND_CEILL, respectively.
47857         Needed for Sun C on Solaris 10.
47858
47859 2007-11-11  Bruno Haible  <bruno@clisp.org>
47860
47861         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
47862         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
47863         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
47864         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
47865         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
47866         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
47867         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
47868         HAVE_DECL_ROUNDF.
47869         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
47870         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
47871         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
47872         of HAVE_DECL_ROUND*.
47873         * modules/math (Makefile.am): Update.
47874
47875 2007-11-10  Bruno Haible  <bruno@clisp.org>
47876
47877         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
47878         ptrdiff_t as m4/intl.m4.
47879
47880 2007-11-10  Jim Meyering  <meyering@redhat.com>
47881
47882         Avoid link failure for the argmatch test.
47883         * tests/test-argmatch.c (usage): Define function to avoid a link
47884         failure: argmatch_die requires a usage function.
47885
47886 2007-11-09  Bruno Haible  <bruno@clisp.org>
47887
47888         * doc/functions/snprintf.texi: Mention BeOS deficiency.
47889         * doc/functions/vsnprintf.texi: Likewise.
47890         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
47891         with a size argument < 2.
47892
47893 2007-11-09  Bruno Haible  <bruno@clisp.org>
47894
47895         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
47896         buffer. Fixes an inefficiency introduced on 2007-11-03.
47897
47898 2007-11-09  Bruno Haible  <bruno@clisp.org>
47899
47900         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
47901         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
47902
47903 2007-11-08  Jim Meyering  <meyering@redhat.com>
47904
47905         Change cache variable name prefix "jm_" to "gl_" everywhere.
47906         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
47907         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
47908         * m4/uptime.m4: s/gl_/jm_/
47909
47910 2007-11-07  Bruno Haible  <bruno@clisp.org>
47911
47912         Update to GNU gettext 0.17.
47913         * m4/intl.m4: Update to GNU gettext 0.17.
47914         * m4/po.m4: Likewise.
47915         * modules/gettext (Files): Remove m4/ulonglong.m4.
47916         (configure.ac): Require gettext infrastructure from version 0.17.
47917
47918 2007-11-06  Bruno Haible  <bruno@clisp.org>
47919
47920         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
47921         symbolic values are not defined in a public header.
47922         * lib/freadable.c (freadable) [QNX]: Likewise.
47923         * lib/freadahead.c (freadahead) [QNX]: Likewise.
47924         * lib/freading.c (freading) [QNX]: Likewise.
47925         * lib/fseterr.c (fseterr) [QNX]: Likewise.
47926         * lib/fwritable.c (fwritable) [QNX]: Likewise.
47927         * lib/fwriting.c (fwriting) [QNX]: Likewise.
47928         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
47929         Reported by Alain Magloire.
47930
47931         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
47932
47933 2007-11-05  Bruno Haible  <bruno@clisp.org>
47934
47935         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
47936         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
47937         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
47938         Reported by Eric Blake.
47939
47940 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47941             Bruno Haible  <bruno@clisp.org>
47942
47943         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
47944         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
47945         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
47946         (malloc): Undefine also before including <stdlib.h>.
47947         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
47948         Needed on OSF/1 4.0.
47949
47950 2007-11-05  Jim Meyering  <meyering@redhat.com>
47951
47952         git-version-gen: sync from coreutils.
47953         * build-aux/git-version-gen: Add comments.
47954         Change the first '-' to '.' in the snapshot version string,
47955         e.g., 6.9-377-08144 -> 6.9.377-08144
47956         Remove first parameter.
47957         Don't declare a version "-dirty" merely because a time
47958         stamp has changed.
47959
47960 2007-11-04  Bruno Haible  <bruno@clisp.org>
47961
47962         * lib/lock.h: Protect all macro definitions containing an 'if'
47963         statement through a "do { ... } while (0)".
47964         * lib/tls.h: Likewise.
47965
47966 2007-11-04  Bruno Haible  <bruno@clisp.org>
47967
47968         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
47969
47970 2007-11-04  Bruno Haible  <bruno@clisp.org>
47971
47972         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
47973         * modules/fprintf-posix (Depends-on): Add nocrash.
47974         * modules/snprintf-posix (Depends-on): Likewise.
47975         * modules/sprintf-posix (Depends-on): Likewise.
47976         * modules/vasnprintf-posix (Depends-on): Likewise.
47977         * modules/vasprintf-posix (Depends-on): Likewise.
47978         * modules/vfprintf-posix (Depends-on): Likewise.
47979         * modules/vsnprintf-posix (Depends-on): Likewise.
47980         * modules/vsprintf-posix (Depends-on): Likewise.
47981         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
47982         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
47983         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
47984         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
47985         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
47986         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
47987         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
47988
47989 2007-11-04  Bruno Haible  <bruno@clisp.org>
47990
47991         * modules/nocrash: New file.
47992         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
47993         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
47994
47995 2007-11-04  Bruno Haible  <bruno@clisp.org>
47996
47997         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
47998         precision handling.
47999         * tests/test-vasprintf-posix.c (test_function): Likewise.
48000         * tests/test-snprintf-posix.h (test_function): Likewise.
48001         * tests/test-sprintf-posix.h (test_function): Likewise.
48002
48003         Fix *printf behaviour for large precisions on mingw and BeOS.
48004         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
48005         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
48006         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
48007         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
48008         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
48009         gl_PRINTF_PRECISION and test its result. Invoke
48010         gl_PREREQ_VASNPRINTF_PRECISION.
48011         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
48012         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
48013         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
48014         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
48015         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
48016         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
48017         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
48018         * doc/functions/fprintf.texi: Update.
48019         * doc/functions/printf.texi: Update.
48020         * doc/functions/snprintf.texi: Update.
48021         * doc/functions/sprintf.texi: Update.
48022         * doc/functions/vfprintf.texi: Update.
48023         * doc/functions/vprintf.texi: Update.
48024         * doc/functions/vsnprintf.texi: Update.
48025         * doc/functions/vsprintf.texi: Update.
48026
48027 2007-11-04  Bruno Haible  <bruno@clisp.org>
48028
48029         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
48030
48031 2007-11-04  Bruno Haible  <bruno@clisp.org>
48032
48033         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
48034         Reported by Sylvain Beucler <beuc@gnu.org>.
48035
48036 2007-11-03  Bruno Haible  <bruno@clisp.org>
48037
48038         * tests/test-fprintf-posix2.sh: New file.
48039         * tests/test-fprintf-posix2.c: New file.
48040         * modules/fprintf-posix-tests (Files): Add them.
48041         (TESTS): Add test-fprintf-posix2.sh.
48042         (configure.ac): Check for getrlimit and setrlimit.
48043         (check_PROGRAMS): Add test-fprintf-posix2.
48044
48045         * tests/test-printf-posix2.sh: New file.
48046         * tests/test-printf-posix2.c: New file.
48047         * modules/printf-posix-tests (Files): Add them.
48048         (TESTS): Add test-printf-posix2.sh.
48049         (configure.ac): Check for getrlimit and setrlimit.
48050         (check_PROGRAMS): Add test-printf-posix2.
48051
48052         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
48053         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
48054         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
48055         (decode_double): New function, copied from decode_long_double.
48056         (scale10_round_decimal_decoded): New function, extracted from
48057         scale10_round_decimal_long_double.
48058         (scale10_round_decimal_long_double): Use it.
48059         (scale10_round_decimal_double): New function.
48060         (floorlog10): New function.
48061         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
48062         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
48063         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
48064         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
48065         gl_PRINTF_ENOMEM and test its result. Invoke
48066         gl_PREREQ_VASNPRINTF_ENOMEM.
48067         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
48068         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
48069         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
48070         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
48071         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
48072         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
48073         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
48074         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
48075         * modules/snprintf-posix (Depends-on): Likewise.
48076         * modules/sprintf-posix (Depends-on): Likewise.
48077         * modules/vasnprintf-posix (Depends-on): Likewise.
48078         * modules/vasprintf-posix (Depends-on): Likewise.
48079         * modules/vfprintf-posix (Depends-on): Likewise.
48080         * modules/vsnprintf-posix (Depends-on): Likewise.
48081         * modules/vsprintf-posix (Depends-on): Likewise.
48082         * doc/functions/fprintf.texi: Update.
48083         * doc/functions/printf.texi: Update.
48084         * doc/functions/snprintf.texi: Update.
48085         * doc/functions/sprintf.texi: Update.
48086         * doc/functions/vfprintf.texi: Update.
48087         * doc/functions/vprintf.texi: Update.
48088         * doc/functions/vsnprintf.texi: Update.
48089         * doc/functions/vsprintf.texi: Update.
48090
48091 2007-11-03  Bruno Haible  <bruno@clisp.org>
48092
48093         * modules/frexp-nolibm-tests: New file.
48094
48095         * modules/frexp-nolibm: New file.
48096         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
48097
48098 2007-11-03  Bruno Haible  <bruno@clisp.org>
48099
48100         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
48101         value is C99 compliant.
48102         Needed for OSF/1 5.1.
48103
48104 2007-11-03  Bruno Haible  <bruno@clisp.org>
48105
48106         Fix out-of-memory handling of vasnprintf.
48107         * lib/printf-parse.c: Include <errno.h>.
48108         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
48109         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
48110         is already set.
48111
48112 2007-11-02  Eric Blake  <ebb9@byu.net>
48113
48114         Fix tests on cygwin.
48115         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
48116
48117 2007-11-01  Bruno Haible  <bruno@clisp.org>
48118
48119         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
48120         warning.
48121         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
48122         needed for POSIX compatibility.
48123
48124 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
48125
48126         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
48127         for compatibility with GNU.
48128
48129 2007-11-01  Bruno Haible  <bruno@clisp.org>
48130
48131         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
48132         (putenv): Renamed from rpl_putenv. Change argument type from
48133         'const char *' to 'char *'.
48134         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
48135         of defining putenv in config.h, just set REPLACE_PUTENV.
48136         * modules/putenv (Depends-on): Add stdlib.
48137         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
48138         (Include): Use <stdlib.h>.
48139         * lib/stdlib.in.h (putenv): New declaration.
48140         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
48141         REPLACE_PUTENV.
48142         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
48143         REPLACE_PUTENV.
48144         Needed for MacOS X 10.5.0.
48145         Reported by Peter O'Gorman <peter@pogma.com>.
48146
48147 2007-11-01  Jim Meyering  <meyering@redhat.com>
48148
48149         Treat an empty date string exactly like "0".
48150         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
48151         if the remaining date string (to be parsed) is empty, use "0".
48152         Reported by Mischa Molhoek and discussed in this thread:
48153         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
48154
48155 2007-10-31  Bruno Haible  <bruno@clisp.org>
48156
48157         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
48158         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
48159         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
48160         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
48161         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
48162         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
48163
48164 2007-10-31  Bruno Haible  <bruno@clisp.org>
48165
48166         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
48167         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
48168         (AC_TYPE_LONG_LONG_INT): Use it.
48169         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
48170         it as well.
48171         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
48172         to m4/longlong.m4.
48173         * modules/stdint (Files): Remove m4/ulonglong.m4.
48174         * modules/strtoull (Files): Use m4/longlong.m4 instead of
48175         m4/ulonglong.m4.
48176         * modules/strtoumax (Files): Likewise.
48177
48178 2007-10-30  Bruno Haible  <bruno@clisp.org>
48179
48180         * modules/xvasprintf-posix: New file.
48181         Suggested by Eric Blake.
48182
48183 2007-10-30  Bruno Haible  <bruno@clisp.org>
48184
48185         * modules/xprintf-posix-tests: New file.
48186         * tests/test-xprintf-posix.sh: New file.
48187         * tests/test-xprintf-posix.c: New file.
48188         * tests/test-xfprintf-posix.c: New file.
48189
48190         * modules/xprintf-posix: New file.
48191
48192 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48193
48194         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
48195         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
48196         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
48197
48198 2007-10-29  Bruno Haible  <bruno@clisp.org>
48199
48200         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
48201         contain the special marker '_cv_'.
48202         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
48203         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
48204         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
48205         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
48206         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
48207         Reported by Ralf Wildenhues.
48208
48209 2007-10-29  Bruno Haible  <bruno@clisp.org>
48210
48211         * gnulib-tool (func_import): When --lgpl is not specified, set
48212         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
48213         GPLv3.
48214         Reported by Simon Josefsson.
48215
48216 2007-10-28  Bruno Haible  <bruno@clisp.org>
48217
48218         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
48219         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
48220         HAVE_DECL_ISFINITE.
48221         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
48222         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
48223         HAVE_DECL_ISFINITE.
48224
48225 2007-10-28  Bruno Haible  <bruno@clisp.org>
48226
48227         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
48228         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
48229
48230 2007-10-28  Bruno Haible  <bruno@clisp.org>
48231
48232         Fix link errors with Sun C 5.0 on Solaris 10.
48233         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
48234         function is declared but not present in the compiler's libm.
48235         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
48236         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
48237         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
48238         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
48239         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
48240         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
48241         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
48242         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
48243         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
48244         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
48245         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
48246         HAVE_DECL_FLOORL.
48247
48248 2007-10-28  Bruno Haible  <bruno@clisp.org>
48249
48250         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
48251         gl_FUNC_FLOORL. Cache the result.
48252         (gl_FUNC_FLOORL): Use it.
48253         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
48254         gl_FUNC_CEILL. Cache the result.
48255         (gl_FUNC_CEILL): Use it.
48256
48257         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
48258         gl_FUNC_FLOOR. Cache the result.
48259         (gl_FUNC_FLOOR): Use it.
48260         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
48261         gl_FUNC_CEIL. Cache the result.
48262         (gl_FUNC_CEIL): Use it.
48263
48264         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
48265         gl_FUNC_FLOORF. Cache the result.
48266         (gl_FUNC_FLOORF): Use it.
48267         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
48268         gl_FUNC_CEILF. Cache the result.
48269         (gl_FUNC_CEILF): Use it.
48270
48271 2007-10-28  Bruno Haible  <bruno@clisp.org>
48272
48273         * gnulib-tool: Allow specifying the LGPL version number through
48274         --lgpl=2 or --lgpl=3.
48275         (func_usage): Document --lgpl with argument.
48276         Handle --lgpl=... arguments.
48277         (func_import): Recognize also gl_LGPL calls with an argument. When
48278         --lgpl=2 is used and the module's license is just LGPL, report an
48279         error. Set sed_transform_lib_file according to the lgpl variable. In
48280         the generated files, use --lgpl or gl_LGPL invocations with argument,
48281         if necessary.
48282         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
48283         an LGPv2+ license.
48284         * doc/gnulib-tool.texi (Modified imports): Update explanation of
48285         gl_LGPL macro.
48286
48287 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48288             Bruno Haible  <bruno@clisp.org>
48289
48290         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
48291         (u16_uctomb_aux): Likewise.
48292         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
48293         !HAVE_INLINE.
48294         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
48295
48296 2007-10-28  Bruno Haible  <bruno@clisp.org>
48297
48298         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
48299         Invoke AM_GETTEXT_OPTION if it exists.
48300         * modules/vasprintf: Likewise.
48301         * modules/verror: Likewise.
48302         * modules/xprintf: Likewise.
48303         * modules/xvasprintf: Likewise.
48304
48305 2007-10-27  Ben Pfaff  <blp@gnu.org>
48306
48307         * lib/math.in.h: Define isfinite macro and prototypes for
48308         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
48309         implementations.
48310         * m4/math_h.m4: New substitutions for isfinite module.
48311         * lib/isfinite.c: New file.
48312         * m4/isfinite.m4: New file.
48313         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
48314         * modules/isfinite: New file.
48315         * modules/isfinite-tests: New file.
48316         * tests/tests-isfinite.c: New file.
48317         * doc/functions/isfinite.texi: Mention isfinite module.
48318         * MODULES.html.sh: Mention new module.
48319
48320 2007-10-27  Ben Pfaff  <blp@gnu.org>
48321
48322         Ralf Wildenhues reported that Tru64 4.0D declares the round
48323         functions but does not have definitions.
48324         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
48325         cannot be found in any library, set the output variable to
48326         "missing" instead of "".
48327         * m4/round.m4: Also use our substitute if we cannot find round in
48328         any library, even if it is declared.
48329         * m4/roundf.m4: Likewise for roundf.
48330         * m4/roundl.m4: Likewise for roundl.
48331         * lib/math.in.h: Undefine roundf, round, roundl before defining
48332         their replacements, to allow for hypothetical systems where these
48333         may be defined as macros but not available in libraries.
48334
48335 2007-10-27  Bruno Haible  <bruno@clisp.org>
48336
48337         * doc/gnulib.texi: Invoke @firstparagraphindent.
48338         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
48339         changes in gnulib.
48340         (Source changes): New section.
48341
48342 2007-10-26  Bruno Haible  <bruno@clisp.org>
48343
48344         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
48345         borrowed from autoconf.
48346
48347 2007-10-26  Bruno Haible  <bruno@clisp.org>
48348
48349         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
48350         strerror returned the empty string. Needed on HP-UX 11.00.
48351
48352 2007-10-24  Micah Cowan  <micah@cowan.name>
48353
48354         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
48355         * build-aux/bootstrap: Remove support for now-unnecessary option,
48356         --cvs-user, and envvars CVS_USER, CVS_RSH.
48357
48358 2007-10-24  Jim Meyering  <meyering@redhat.com>
48359
48360         Avoid diagnostics from sha1sum when there is no cached checksum.
48361         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
48362         if the po.s1 file hasn't been created yet.
48363
48364         * build-aux/bootstrap: Sync from coreutils:
48365         2007-10-24  Jim Meyering  <meyering@redhat.com>
48366         Get gnulib from the git repository, not from an obsolete cvs one.
48367         * build-aux/bootstrap: Suggestion from Micah Cowan.
48368         2007-10-04  Jim Meyering  <jim@meyering.net>
48369         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
48370         (update_po_files): Work also when there are no .po files in po/.
48371
48372 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
48373
48374         * README: Append ".git" to git and cg examples.
48375         Problem reported by Benoit Sigoure.
48376
48377 2007-10-23  Micah Cowan  <micah@cowan.name>
48378
48379         * users.txt: Add wget.
48380
48381 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48382
48383         Fix linking of some unistdio tests on FreeBSD.
48384         * modules/unistdio/u16-vsnprintf-tests
48385         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
48386         * modules/unistdio/u16-vsprintf-tests
48387         (test_u16_vsnprintf1_LDADD): Likewise.
48388         * modules/unistdio/u32-vsnprintf-tests
48389         (test_u32_vsnprintf1_LDADD): Likewise.
48390         * modules/unistdio/u32-vsprintf-tests
48391         (test_u32_vsprintf1_LDADD): Likewise.
48392         * modules/unistdio/u8-vsnprintf-tests
48393         (test_u8_vsnprintf1_LDADD): Likewise.
48394         * modules/unistdio/u8-vsprintf-tests
48395         (test_u8_vsprintf1_LDADD): Likewise.
48396         * modules/unistdio/ulc-vsnprintf-tests
48397         (test_ulc_vsnprintf1_LDADD): Likewise.
48398         * modules/unistdio/ulc-vsprintf-tests
48399         (test_ulc_vsprintf1_LDADD): Likewise.
48400
48401         Fix linking of some uniconv tests on FreeBSD.
48402         * modules/uniconv/u16-conv-from-enc-tests
48403         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
48404         * modules/uniconv/u16-conv-to-enc-tests
48405         (test_u16_conv_to_enc_LDADD): Likewise.
48406         * modules/uniconv/u16-strconv-from-enc-tests
48407         (test_u16_strconv_from_enc_LDADD): Likewise.
48408         * modules/uniconv/u16-strconv-to-enc-tests
48409         (test_u16_strconv_to_enc_LDADD): Likewise.
48410         * modules/uniconv/u32-conv-from-enc-tests
48411         (test_u32_conv_from_enc_LDADD): Likewise.
48412         * modules/uniconv/u32-conv-to-enc-tests
48413         (test_u32_conv_to_enc_LDADD): Likewise.
48414         * modules/uniconv/u32-strconv-from-enc-tests
48415         (test_u32_strconv_from_enc_LDADD): Likewise.
48416         * modules/uniconv/u32-strconv-to-enc-tests
48417         (test_u32_strconv_to_enc_LDADD): Likewise.
48418         * modules/uniconv/u8-conv-from-enc-tests
48419         (test_u8_conv_from_enc_LDADD): Likewise.
48420         * modules/uniconv/u8-conv-to-enc-tests
48421         (test_u8_conv_to_enc_LDADD): Likewise.
48422         * modules/uniconv/u8-strconv-from-enc-tests
48423         (test_u8_strconv_from_enc_LDADD): Likewise.
48424         * modules/uniconv/u8-strconv-to-enc-tests
48425         (test_u8_strconv_to_enc_LDADD): Likewise.
48426
48427 2007-10-22  Bruno Haible  <bruno@clisp.org>
48428
48429         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
48430         size.
48431
48432 2007-10-22  Eric Blake  <ebb9@byu.net>
48433
48434         Tweak x*printf documentation.
48435         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
48436         variable name and comments.
48437         Suggested by Bruno Haible.
48438
48439 2007-10-22  Bruno Haible  <bruno@clisp.org>
48440
48441         * lib/acl.c (copy_acl): Fix file name in comment.
48442
48443 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
48444
48445         Fix Tru64 problem with stdbool.h.
48446         * lib/stdbool.in.h (false, true):
48447         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
48448         Don't declare as an enum in this situation; it runs afoul of Tru64.
48449         Problem reported by Steven M. Schweda in
48450         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
48451
48452 2007-10-22  Eric Blake  <ebb9@byu.net>
48453
48454         Also wrap vf?printf.
48455         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
48456         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
48457         (xvprintf, xvfprintf): New functions.
48458
48459 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48460
48461         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
48462         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
48463
48464         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
48465         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
48466
48467 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
48468
48469         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
48470         by Bruno Haible.
48471
48472 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48473
48474         * lib/getloadavg.c
48475         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
48476         Undef `sys' after including sys/table.h, for Tru64 4.0D.
48477
48478         * tests/test-i-ring.c: Work for C89.
48479
48480 2007-10-22  Bruno Haible  <bruno@clisp.org>
48481
48482         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
48483         -1u, in preprocessor expression, so that we don't test for the bug
48484         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
48485         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
48486
48487 2007-10-22  Eric Blake  <ebb9@byu.net>
48488
48489         * tests/test-yesno.sh: Silence stderr during test.
48490
48491 2007-10-22  Simon Josefsson  <simon@josefsson.org>
48492
48493         * modules/crypto/gc-camellia: New file.
48494
48495         * m4/gc-camellia.m4: New file.
48496
48497         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
48498
48499         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
48500
48501 2007-10-22  Simon Josefsson  <simon@josefsson.org>
48502
48503         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
48504         --help to stdout.  Reported by sms@antinode.org (Steven
48505         M. Schweda).
48506
48507 2007-10-22  Simon Josefsson  <simon@josefsson.org>
48508
48509         * users.txt: Fix link to libksba.
48510
48511 2007-10-21  Ben Pfaff  <blp@gnu.org>
48512
48513         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
48514         round.c roundf implementation that depends on floorf and ceilf to
48515         be tested unconditionally.
48516
48517 2007-10-21  Ben Pfaff  <blp@gnu.org>
48518
48519         * m4/check-libm-func.m4: Removed.
48520         * m4/check-math-lib.m4: New file.
48521         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
48522         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
48523         definition and lack of AC_LIBOBJ([roundf]).
48524         * m4/roundl.m4: Ditto, and similarly for roundl.
48525         * modules/round: Reference new m4 file.
48526         * modules/roundf: Ditto.
48527         * modules/roundl: Ditto.
48528         * tests/test-round2.c (main): Use ROUND instead of round.
48529         Bug report from Bruno Haible.
48530
48531 2007-10-21  Bruno Haible  <bruno@clisp.org>
48532
48533         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
48534         context.
48535
48536 2007-10-21  Bruno Haible  <bruno@clisp.org>
48537
48538         * tests/test-wcwidth.c (main): Allow negative result for some control
48539         characters.
48540
48541         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
48542         Needed on OSF/1 5.1.
48543
48544 2007-10-21  Bruno Haible  <bruno@clisp.org>
48545
48546         * tests/test-floorf1.c: Include isnanf.h.
48547         (main): Use isnanf() instead of isnan().
48548         * tests/test-ceilf1.c: Include isnanf.h.
48549         (main): Use isnanf() instead of isnan().
48550         * tests/test-truncf1.c: Include isnanf.h.
48551         (main): Use isnanf() instead of isnan().
48552         * tests/test-roundf1.c: Include isnanf.h.
48553         (main): Use isnanf() instead of isnan().
48554
48555 2007-10-21  Eric Blake  <ebb9@byu.net>
48556
48557         * users.txt: Update URL for m4.
48558
48559 2007-10-21  Bruno Haible  <bruno@clisp.org>
48560
48561         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
48562
48563 2007-10-21  Bruno Haible  <bruno@clisp.org>
48564
48565         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
48566         Git's management files if the CVS files are not present.
48567
48568 2007-10-20  Bruno Haible  <bruno@clisp.org>
48569
48570         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
48571         gcc-3.4.x.
48572
48573 2007-10-20  Ben Pfaff  <blp@gnu.org>
48574
48575         * lib/math.in.h: Declare round, roundf, roundl if we are providing
48576         implementations.
48577         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
48578         * lib/round.c: New file.
48579         * lib/roundf.c: New file.
48580         * lib/roundl.c: New file.
48581         * m4/round.m4: New file.
48582         * m4/roundf.m4: New file.
48583         * m4/roundl.m4: New file.
48584         * m4/check-libm-func-m4: New file.
48585         * modules/math: Replace round, roundf, roundl related @VARS@ in
48586         math.in.h.
48587         * modules/round: New file.
48588         * modules/round-tests: New file.
48589         * modules/roundf: New file.
48590         * modules/roundf-tests: New file.
48591         * modules/roundl: New file.
48592         * modules/roundl-tests: New file.
48593         * tests/test-round1.c: New file.
48594         * tests/test-round2.c: New file.
48595         * tests/test-roundf1.c: New file.
48596         * tests/test-roundf2.c: New file.
48597         * tests/test-roundl.c: New file.
48598         * doc/functions/round.texi: Mention round module.
48599         * doc/functions/roundf.texi: Mention roundf module.
48600         * doc/functions/roundl.texi: Mention roundl module.
48601         * MODULES.html.sh: Mention new modules.
48602         Thanks to Bruno Haible for suggestions.
48603
48604 2007-10-20  Jim Meyering  <meyering@redhat.com>
48605
48606         * lib/xprintf.c: Include <config.h> unconditionally.
48607
48608         Change xprintf's license to GPL.
48609         * modules/xprintf (License): s/LGPL/GPL/, since this module
48610         depends on modules (exit and exitfail) which are GPL.
48611         Suggestion from Bruno Haible.
48612
48613         xprintf fixes.
48614         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
48615         Use a clearer diagnostic.
48616         Patch from Bruno Haible.
48617
48618 2007-10-20  Bruno Haible  <bruno@clisp.org>
48619
48620         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
48621         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
48622         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
48623
48624 2007-10-20  Bruno Haible  <bruno@clisp.org>
48625
48626         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
48627         precision in the comparison result > x - 1 or similar.
48628         * tests/test-ceilf2.c (correct_result_p): Likewise.
48629         * tests/test-truncf2.c (correct_result_p): Likewise.
48630         * tests/test-trunc2.c (correct_result_p): Likewise.
48631         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
48632
48633 2007-10-20  Bruno Haible  <bruno@clisp.org>
48634
48635         * modules/ceil: New file.
48636         * m4/ceil.m4: New file.
48637         * doc/functions/ceil.texi: Mention the 'ceil' module.
48638
48639 2007-10-20  Bruno Haible  <bruno@clisp.org>
48640
48641         * modules/floor: New file.
48642         * m4/floor.m4: New file.
48643         * doc/functions/floor.texi: Mention the 'floor' module.
48644
48645 2007-10-20  Bruno Haible  <bruno@clisp.org>
48646
48647         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
48648         of %a.
48649         * modules/floorf-tests (Depends-on): Likewise.
48650         * modules/truncf-tests (Depends-on): Likewise.
48651         * modules/trunc-tests (Depends-on): Likewise.
48652         Reported by Ben Pfaff.
48653
48654 2007-10-19  Jim Meyering  <meyering@redhat.com>
48655
48656         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
48657         Don't bother testing specific errno values.  Just test ferror.
48658
48659         New module: xprintf
48660         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
48661
48662 2007-10-19  Bruno Haible  <bruno@clisp.org>
48663
48664         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
48665         syntax.
48666         * modules/javaexec (Makefile.am): Likewise.
48667         * modules/relocatable-prog (Makefile.am): Likewise.
48668         Suggested by Jim Meyering.
48669
48670 2007-10-18  Bruno Haible  <bruno@clisp.org>
48671
48672         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
48673         Reported by Jim Meyering.
48674
48675 2007-10-18  Eric Blake  <ebb9@byu.net>
48676
48677         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
48678
48679 2007-10-18  Bruno Haible  <bruno@clisp.org>
48680
48681         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
48682         the format string into writable memory. Needed in Fortify conditions.
48683
48684 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
48685             Bruno Haible  <bruno@clisp.org>
48686
48687         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
48688         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
48689         * modules/trim (Depends-on): Add mbchar.
48690         (configure.ac): Add gl_FUNC_MBRTOWC.
48691         (Makefile.am): Augment lib_SOURCES.
48692
48693 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
48694
48695         Modify glob.c to use fstatat and dirfd, to simplify it.
48696         Suggested by Eric Blake.
48697         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
48698         Don't include <stdbool.h>; not used.
48699         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
48700         (link_exists_p): Simplify implementation, since we can now assume
48701         dirfd and fstatat.
48702         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
48703
48704 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48705
48706         * gnulib-tool (func_get_dependencies): Fix sed script to
48707         match only tests.
48708
48709 2007-10-17  Bruno Haible  <bruno@clisp.org>
48710
48711         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
48712         allow locale names without encoding suffix.
48713         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
48714         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
48715
48716 2007-10-16  Bruno Haible  <bruno@clisp.org>
48717
48718         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
48719         * lib/getgroups.c (getgroups): Likewise.
48720         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
48721
48722 2007-10-16  Bruno Haible  <bruno@clisp.org>
48723
48724         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
48725         * modules/malloc-posix (License): Likewise.
48726         * modules/realloc-posix (License): Likewise.
48727         * modules/calloc-posix (License): Likewise.
48728         * modules/intprops (License): Change from GPL to LGPL, with
48729         Paul Eggert's approval.
48730
48731 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
48732
48733         Merge glibc changes into lib/glob.c.
48734
48735         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
48736         2007-10-15 04:59:03 UTC.  Here are the changes:
48737
48738         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
48739
48740         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
48741
48742         * lib/glob.c: Add some branch prediction throughout.
48743
48744         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
48745
48746         [BZ #5103]
48747         * lib/glob.c (glob): Recognize patterns starting \/.
48748
48749         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
48750
48751         [BZ #3996]
48752         * lib/glob.c (attribute_hidden): Define if not defined.
48753         (glob): Unescape dirname, filename or username when needed and not
48754         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
48755         is NULL.  Handle unescaped [ in pattern without closing ].
48756         Don't pass GLOB_CHECK down to recursive glob for directories.
48757         (__glob_pattern_type): New function.
48758         (__glob_pattern_p): Implement using __glob_pattern_type.
48759         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
48760         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
48761         Remove unreachable code.
48762
48763         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
48764
48765         * lib/glob.c (glob_in_dir): Add some comments and asserts to
48766         explain why there are no leaks.
48767
48768         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
48769
48770         [BZ #3253]
48771         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
48772         time, rather allocate increasingly bigger arrays of pointers, if
48773         possible with alloca, if too large with malloc.
48774
48775 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
48776
48777         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
48778         Problem reported by H.Merijn Brand in
48779         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
48780         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
48781         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
48782
48783 2007-10-15  Bruno Haible  <bruno@clisp.org>
48784
48785         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
48786         with explicit rpl_ prefix.
48787         * lib/fopen.c (fopen): Likewise.
48788         * lib/freopen.c (freopen): Likewise.
48789         * lib/iconv.c (iconv): Likewise.
48790         * lib/iconv_close.c (iconv_close): Likewise.
48791
48792 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48793
48794         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
48795
48796 2007-10-15  Bruno Haible  <bruno@clisp.org>
48797
48798         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
48799         <stddef.h> instead of <stdlib.h> since we only need NULL.
48800         Reported by Ben Pfaff <blp@cs.stanford.edu>.
48801
48802 2007-10-15  Bruno Haible  <bruno@clisp.org>
48803
48804         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
48805         Replace paragraph talking about LIBOBJS.
48806         Reported by Colin Watson <cjwatson@debian.org>.
48807
48808 2007-10-15  Bruno Haible  <bruno@clisp.org>
48809
48810         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
48811         <stdlib.h> before using NULL.
48812
48813 2007-10-15  Simon Josefsson  <simon@josefsson.org>
48814
48815         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
48816         Reported by Albert Chin <china@thewrittenword.com>.
48817
48818 2007-10-14  Bruno Haible  <bruno@clisp.org>
48819
48820         * modules/iconv_open-utf-tests: New file.
48821         * tests/test-iconv-utf.c: New file.
48822
48823         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
48824         * modules/iconv_open-utf: New file.
48825         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
48826         (iconv, iconv_close): New declarations.
48827         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
48828         be defined.
48829         (iconv_open): Add special handling of conversion between UTF-8 and
48830         UTF-{16,32}{BE,LE}.
48831         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
48832         * lib/iconv_close.c: New file.
48833         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
48834         gl_FUNC_ICONV_OPEN.
48835         (gl_FUNC_ICONV_OPEN): Use it.
48836         (gl_FUNC_ICONV_OPEN_UTF): New macro.
48837         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
48838         and REPLACE_ICONV_UTF.
48839         * modules/iconv_open (Depends-on): Add c-strcase.
48840         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
48841         ICONV_CONST.
48842         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
48843
48844 2007-10-13  Albert Chin  <china@thewrittenword.com>
48845             Bruno Haible  <bruno@clisp.org>
48846
48847         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
48848         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
48849
48850 2007-10-13  Bruno Haible  <bruno@clisp.org>
48851
48852         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
48853         defined, use the ISO C99 inline semantics.
48854         * lib/argp.h (ARGP_EI): Likewise.
48855
48856 2007-10-13  Bruno Haible  <bruno@clisp.org>
48857
48858         Handle 'inline' change in gcc 4.3.0.
48859         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
48860         argp_fmtstream_write, argp_fmtstream_set_lmargin,
48861         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
48862         argp_fmtstream_point): Disable 'extern' declaration if the function
48863         definition is going to be provided inline.
48864         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
48865         semantics, not the ISO C99 inline semantics.
48866         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
48867         'extern' declaration if the function definition is going to be provided
48868         inline.
48869         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
48870         the GNU C inline semantics, not the ISO C99 inline semantics. With
48871         GCC 4.2, avoid a warning.
48872
48873 2007-10-13  Bruno Haible  <bruno@clisp.org>
48874
48875         * lib/freading.h (freading): Enable the use of __freading for
48876         glibc >= 2.7.
48877         * lib/freading.c (freading): Likewise.
48878
48879 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
48880
48881         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
48882         "warning: C99 inline functions are not supported; using GNU89".
48883
48884 2007-10-12  Bruno Haible  <bruno@clisp.org>
48885
48886         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
48887         of 2.
48888         * tests/test-ceilf2.c: New file.
48889         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
48890
48891         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
48892         * modules/ceilf-tests: Update.
48893
48894 2007-10-12  Bruno Haible  <bruno@clisp.org>
48895
48896         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
48897         of 2.
48898         * tests/test-floorf2.c: New file.
48899         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
48900
48901         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
48902         * modules/floorf-tests: Update.
48903
48904 2007-10-12  Bruno Haible  <bruno@clisp.org>
48905
48906         * tests/test-trunc2.c: New file.
48907         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
48908
48909         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
48910         * modules/trunc-tests: Update.
48911
48912 2007-10-12  Bruno Haible  <bruno@clisp.org>
48913
48914         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
48915         of 2.
48916         * tests/test-truncf2.c: New file.
48917         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
48918
48919         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
48920         * modules/truncf-tests: Update.
48921
48922 2007-10-11  Eric Blake  <ebb9@byu.net>
48923
48924         Don't claim strerror is broken on Interix.
48925         * doc/functions/strerror.texi (strerror): Known broken systems are
48926         now Solaris 8, and not Interix.
48927         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
48928         Interix on cross-compile.
48929         Reported by Martin Koeppe in
48930         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
48931
48932 2007-10-11  Bruno Haible  <bruno@clisp.org>
48933
48934         * modules/i-ring-tests: New file.
48935         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
48936         instead of assert.
48937
48938 2007-10-11  Bruno Haible  <bruno@clisp.org>
48939
48940         * modules/filenamecat-tests: New file.
48941         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
48942         * lib/filenamecat.c: Remove test code.
48943
48944 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
48945
48946         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
48947
48948         * lib/strerror.c: Include <string.h> always, to test interface,
48949         and to remove the need for the dummy.
48950         Include intprops.h to compute width instead of doing it ourselves
48951         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
48952         (strerror): Define it to return NULL if there's no system strerror.
48953         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
48954         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
48955         ancient pre-strerror Unix systems well any more.  Saying "unknown
48956         system error" is enough.
48957         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
48958         simpler strerror.c implementation.
48959         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
48960         Simplify the tests to reflect the simpler strerror implementation.
48961         * modules/strerror (Depends-on): Add intprops.
48962
48963 2007-10-09  Eric Blake  <ebb9@byu.net>
48964
48965         Silence test-fpending.
48966         * modules/fpending-tests (Files): Add wrapper script.
48967         * tests/test-fpending.sh: New file.
48968
48969 2007-10-09  Bruno Haible  <bruno@clisp.org>
48970
48971         * MODULES.html.sh (func_module): Don't create a hyperlink for
48972         function names like 'printf_frexp'.
48973         (Misc): Add crc, memxor.
48974         (Characteristics of floating types): New section.
48975         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
48976         isnanf-nolibm, signbit, trunc, truncf, truncl.
48977         (Enhancements for ISO C 99 functions): New subsection Input/output.
48978         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
48979         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
48980         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
48981         (Compatibility checks for POSIX:2001 functions): Add clock-time.
48982         (Enhancements for POSIX:2001 functions): Add chdir-long.
48983         (File system functions): Add areadlink, chdir-safer, read-file.
48984         Remove cycle-check.
48985         (File system as inode set): New section.
48986         (Date and time): Add gethrxtime.
48987         (Multithreading): Add openmp.
48988         (Internationalization functions): Add localename.
48989         (Unicode string functions): Add unistr/u*-mbsnlen.
48990         (Support for maintaining and releasing projects): Add git-version-gen.
48991         (Lone files): Remove directories.
48992
48993 2007-10-08  Ben Pfaff  <blp@gnu.org>
48994
48995         * lib/xmalloca.h: Fix typo in comment.
48996
48997 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
48998
48999         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
49000         when avoiding problems with integer overflow.  Use a portable test
49001         instead.
49002
49003 2007-10-08  Simon Josefsson  <simon@josefsson.org>
49004
49005         * modules/dummy (License): Change to LGPLv2+.
49006         * modules/float (License): Likewise
49007         * modules/realloc (License): Likewise
49008         * modules/stdlib (License): Likewise
49009
49010 2007-10-07  Bruno Haible  <bruno@clisp.org>
49011
49012         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
49013         * floor.c (TWO_MANT_DIG): Likewise.
49014         * ceil.c (TWO_MANT_DIG): Likewise.
49015         Reported by Ben Pfaff.
49016
49017 2007-10-07  Bruno Haible  <bruno@clisp.org>
49018
49019         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
49020         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
49021         * lib/frexp.c (FUNC): Likewise.
49022         * lib/printf-frexp.h (printf_frexp): Likewise.
49023         * lib/printf-frexpl.h (printf_frexpl): Likewise.
49024         * lib/printf-frexp.c (FUNC): Likewise.
49025         Suggested by Jim Meyering.
49026
49027 2007-10-07  Jim Meyering  <meyering@redhat.com>
49028
49029         Make xnanosleep's integer overflow test more robust.
49030         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
49031         so that gcc-4.3.0 doesn't optimize away this test for overflow.
49032
49033 2007-10-07  Bruno Haible  <bruno@clisp.org>
49034
49035         * NEWS: Mention the license change.
49036
49037         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
49038         abbreviations in the modules files.
49039
49040         Change copyright notice from GPLv2+ to GPLv3+.
49041         * README: Change copyright notice.
49042         * MODULES.html.sh: Likewise.
49043         * build-aux/bootstrap.conf: Likewise.
49044         * build-aux/config.libpath: Likewise.
49045         * build-aux/csharpcomp.sh.in: Likewise.
49046         * build-aux/csharpexec.sh.in: Likewise.
49047         * build-aux/install-reloc: Likewise.
49048         * build-aux/javacomp.sh.in: Likewise.
49049         * build-aux/javaexec.sh.in: Likewise.
49050         * build-aux/ldd.sh.in: Likewise.
49051         * build-aux/reloc-ldflags: Likewise.
49052         * build-aux/relocatable.sh.in: Likewise.
49053         * build-aux/x-to-1.in: Likewise.
49054         * check-module: Likewise.
49055         * config/srclistvars.sh: Likewise.
49056         * gnulib-tool: Likewise.
49057         * lib/acl-internal.h: Likewise.
49058         * lib/acl.c: Likewise.
49059         * lib/acl.h: Likewise.
49060         * lib/acl_entries.c: Likewise.
49061         * lib/areadlink-with-size.c: Likewise.
49062         * lib/areadlink.c: Likewise.
49063         * lib/areadlink.h: Likewise.
49064         * lib/argmatch.c: Likewise.
49065         * lib/argmatch.h: Likewise.
49066         * lib/argp-ba.c: Likewise.
49067         * lib/argp-eexst.c: Likewise.
49068         * lib/argp-fmtstream.c: Likewise.
49069         * lib/argp-fmtstream.h: Likewise.
49070         * lib/argp-fs-xinl.c: Likewise.
49071         * lib/argp-help.c: Likewise.
49072         * lib/argp-namefrob.h: Likewise.
49073         * lib/argp-parse.c: Likewise.
49074         * lib/argp-pin.c: Likewise.
49075         * lib/argp-pv.c: Likewise.
49076         * lib/argp-pvh.c: Likewise.
49077         * lib/argp-xinl.c: Likewise.
49078         * lib/argp.h: Likewise.
49079         * lib/at-func.c: Likewise.
49080         * lib/atanl.c: Likewise.
49081         * lib/backupfile.c: Likewise.
49082         * lib/backupfile.h: Likewise.
49083         * lib/basename.c: Likewise.
49084         * lib/binary-io.h: Likewise.
49085         * lib/byteswap.in.h: Likewise.
49086         * lib/c-stack.c: Likewise.
49087         * lib/c-stack.h: Likewise.
49088         * lib/c-strcasestr.c: Likewise.
49089         * lib/c-strcasestr.h: Likewise.
49090         * lib/c-strstr.c: Likewise.
49091         * lib/c-strstr.h: Likewise.
49092         * lib/c-strtod.c: Likewise.
49093         * lib/calloc.c: Likewise.
49094         * lib/canon-host.c: Likewise.
49095         * lib/canon-host.h: Likewise.
49096         * lib/canonicalize-lgpl.c: Likewise.
49097         * lib/canonicalize.c: Likewise.
49098         * lib/canonicalize.h: Likewise.
49099         * lib/ceil.c: Likewise.
49100         * lib/ceilf.c: Likewise.
49101         * lib/ceill.c: Likewise.
49102         * lib/chdir-long.c: Likewise.
49103         * lib/chdir-long.h: Likewise.
49104         * lib/chdir-safer.c: Likewise.
49105         * lib/chdir-safer.h: Likewise.
49106         * lib/chown.c: Likewise.
49107         * lib/classpath.c: Likewise.
49108         * lib/classpath.h: Likewise.
49109         * lib/clean-temp.c: Likewise.
49110         * lib/clean-temp.h: Likewise.
49111         * lib/cloexec.c: Likewise.
49112         * lib/close-stream.c: Likewise.
49113         * lib/closein.c: Likewise.
49114         * lib/closein.h: Likewise.
49115         * lib/closeout.c: Likewise.
49116         * lib/closeout.h: Likewise.
49117         * lib/concat-filename.c: Likewise.
49118         * lib/copy-file.c: Likewise.
49119         * lib/copy-file.h: Likewise.
49120         * lib/count-one-bits.h: Likewise.
49121         * lib/crc.c: Likewise.
49122         * lib/crc.h: Likewise.
49123         * lib/creat-safer.c: Likewise.
49124         * lib/csharpcomp.c: Likewise.
49125         * lib/csharpcomp.h: Likewise.
49126         * lib/csharpexec.c: Likewise.
49127         * lib/csharpexec.h: Likewise.
49128         * lib/cycle-check.c: Likewise.
49129         * lib/cycle-check.h: Likewise.
49130         * lib/diacrit.c: Likewise.
49131         * lib/diacrit.h: Likewise.
49132         * lib/diffseq.h: Likewise.
49133         * lib/dirchownmod.c: Likewise.
49134         * lib/dirent.in.h: Likewise.
49135         * lib/dirfd.c: Likewise.
49136         * lib/dirfd.h: Likewise.
49137         * lib/dirname.c: Likewise.
49138         * lib/dirname.h: Likewise.
49139         * lib/dummy.c: Likewise.
49140         * lib/dup-safer.c: Likewise.
49141         * lib/dup2.c: Likewise.
49142         * lib/eealloc.h: Likewise.
49143         * lib/error.c: Likewise.
49144         * lib/error.h: Likewise.
49145         * lib/euidaccess.c: Likewise.
49146         * lib/exclude.c: Likewise.
49147         * lib/exclude.h: Likewise.
49148         * lib/execute.c: Likewise.
49149         * lib/execute.h: Likewise.
49150         * lib/exitfail.c: Likewise.
49151         * lib/exitfail.h: Likewise.
49152         * lib/expl.c: Likewise.
49153         * lib/fatal-signal.c: Likewise.
49154         * lib/fatal-signal.h: Likewise.
49155         * lib/fbufmode.c: Likewise.
49156         * lib/fbufmode.h: Likewise.
49157         * lib/fchdir.c: Likewise.
49158         * lib/fchmodat.c: Likewise.
49159         * lib/fchownat.c: Likewise.
49160         * lib/fcntl--.h: Likewise.
49161         * lib/fcntl-safer.h: Likewise.
49162         * lib/fcntl.in.h: Likewise.
49163         * lib/fd-safer.c: Likewise.
49164         * lib/fflush.c: Likewise.
49165         * lib/file-has-acl.c: Likewise.
49166         * lib/file-set.c: Likewise.
49167         * lib/file-type.c: Likewise.
49168         * lib/file-type.h: Likewise.
49169         * lib/fileblocks.c: Likewise.
49170         * lib/filemode.c: Likewise.
49171         * lib/filemode.h: Likewise.
49172         * lib/filename.h: Likewise.
49173         * lib/filenamecat.c: Likewise.
49174         * lib/filenamecat.h: Likewise.
49175         * lib/findprog.c: Likewise.
49176         * lib/findprog.h: Likewise.
49177         * lib/float.in.h: Likewise.
49178         * lib/floor.c: Likewise.
49179         * lib/floorf.c: Likewise.
49180         * lib/floorl.c: Likewise.
49181         * lib/fopen-safer.c: Likewise.
49182         * lib/fopen.c: Likewise.
49183         * lib/fpending.c: Likewise.
49184         * lib/fpending.h: Likewise.
49185         * lib/fprintf.c: Likewise.
49186         * lib/fprintftime.h: Likewise.
49187         * lib/fpucw.h: Likewise.
49188         * lib/fpurge.c: Likewise.
49189         * lib/fpurge.h: Likewise.
49190         * lib/freadable.c: Likewise.
49191         * lib/freadable.h: Likewise.
49192         * lib/freadahead.c: Likewise.
49193         * lib/freadahead.h: Likewise.
49194         * lib/freading.c: Likewise.
49195         * lib/freading.h: Likewise.
49196         * lib/free.c: Likewise.
49197         * lib/freopen.c: Likewise.
49198         * lib/frexp.c: Likewise.
49199         * lib/frexpl.c: Likewise.
49200         * lib/fseek.c: Likewise.
49201         * lib/fseterr.c: Likewise.
49202         * lib/fseterr.h: Likewise.
49203         * lib/fstatat.c: Likewise.
49204         * lib/fstrcmp.c: Likewise.
49205         * lib/fstrcmp.h: Likewise.
49206         * lib/fsusage.c: Likewise.
49207         * lib/fsusage.h: Likewise.
49208         * lib/ftell.c: Likewise.
49209         * lib/ftello.c: Likewise.
49210         * lib/fts-cycle.c: Likewise.
49211         * lib/fts.c: Likewise.
49212         * lib/fts_.h: Likewise.
49213         * lib/full-read.c: Likewise.
49214         * lib/full-read.h: Likewise.
49215         * lib/full-write.c: Likewise.
49216         * lib/full-write.h: Likewise.
49217         * lib/fwritable.c: Likewise.
49218         * lib/fwritable.h: Likewise.
49219         * lib/fwriteerror.c: Likewise.
49220         * lib/fwriteerror.h: Likewise.
49221         * lib/fwriting.c: Likewise.
49222         * lib/fwriting.h: Likewise.
49223         * lib/gcd.c: Likewise.
49224         * lib/gcd.h: Likewise.
49225         * lib/getcwd.c: Likewise.
49226         * lib/getdate.h: Likewise.
49227         * lib/getdate.y: Likewise.
49228         * lib/getdomainname.c: Likewise.
49229         * lib/getdomainname.h: Likewise.
49230         * lib/getgroups.c: Likewise.
49231         * lib/gethostname.c: Likewise.
49232         * lib/gethrxtime.c: Likewise.
49233         * lib/gethrxtime.h: Likewise.
49234         * lib/getloadavg.c: Likewise.
49235         * lib/getndelim2.c: Likewise.
49236         * lib/getndelim2.h: Likewise.
49237         * lib/getnline.c: Likewise.
49238         * lib/getnline.h: Likewise.
49239         * lib/getopt.c: Likewise.
49240         * lib/getopt.in.h: Likewise.
49241         * lib/getopt1.c: Likewise.
49242         * lib/getopt_int.h: Likewise.
49243         * lib/getpagesize.h: Likewise.
49244         * lib/getsubopt.c: Likewise.
49245         * lib/gettime.c: Likewise.
49246         * lib/getugroups.c: Likewise.
49247         * lib/getugroups.h: Likewise.
49248         * lib/getusershell.c: Likewise.
49249         * lib/gl_anyavltree_list1.h: Likewise.
49250         * lib/gl_anyavltree_list2.h: Likewise.
49251         * lib/gl_anyhash_list1.h: Likewise.
49252         * lib/gl_anyhash_list2.h: Likewise.
49253         * lib/gl_anylinked_list1.h: Likewise.
49254         * lib/gl_anylinked_list2.h: Likewise.
49255         * lib/gl_anyrbtree_list1.h: Likewise.
49256         * lib/gl_anyrbtree_list2.h: Likewise.
49257         * lib/gl_anytree_list1.h: Likewise.
49258         * lib/gl_anytree_list2.h: Likewise.
49259         * lib/gl_anytree_oset.h: Likewise.
49260         * lib/gl_anytreehash_list1.h: Likewise.
49261         * lib/gl_anytreehash_list2.h: Likewise.
49262         * lib/gl_array_list.c: Likewise.
49263         * lib/gl_array_list.h: Likewise.
49264         * lib/gl_array_oset.c: Likewise.
49265         * lib/gl_array_oset.h: Likewise.
49266         * lib/gl_avltree_list.c: Likewise.
49267         * lib/gl_avltree_list.h: Likewise.
49268         * lib/gl_avltree_oset.c: Likewise.
49269         * lib/gl_avltree_oset.h: Likewise.
49270         * lib/gl_avltreehash_list.c: Likewise.
49271         * lib/gl_avltreehash_list.h: Likewise.
49272         * lib/gl_carray_list.c: Likewise.
49273         * lib/gl_carray_list.h: Likewise.
49274         * lib/gl_linked_list.c: Likewise.
49275         * lib/gl_linked_list.h: Likewise.
49276         * lib/gl_linkedhash_list.c: Likewise.
49277         * lib/gl_linkedhash_list.h: Likewise.
49278         * lib/gl_list.c: Likewise.
49279         * lib/gl_list.h: Likewise.
49280         * lib/gl_oset.c: Likewise.
49281         * lib/gl_oset.h: Likewise.
49282         * lib/gl_rbtree_list.c: Likewise.
49283         * lib/gl_rbtree_list.h: Likewise.
49284         * lib/gl_rbtree_oset.c: Likewise.
49285         * lib/gl_rbtree_oset.h: Likewise.
49286         * lib/gl_rbtreehash_list.c: Likewise.
49287         * lib/gl_rbtreehash_list.h: Likewise.
49288         * lib/gl_sublist.c: Likewise.
49289         * lib/gl_sublist.h: Likewise.
49290         * lib/group-member.c: Likewise.
49291         * lib/group-member.h: Likewise.
49292         * lib/hard-locale.c: Likewise.
49293         * lib/hard-locale.h: Likewise.
49294         * lib/hash-pjw.c: Likewise.
49295         * lib/hash-pjw.h: Likewise.
49296         * lib/hash-triple.c: Likewise.
49297         * lib/hash.c: Likewise.
49298         * lib/hash.h: Likewise.
49299         * lib/human.c: Likewise.
49300         * lib/human.h: Likewise.
49301         * lib/i-ring.c: Likewise.
49302         * lib/i-ring.h: Likewise.
49303         * lib/idcache.c: Likewise.
49304         * lib/imaxabs.c: Likewise.
49305         * lib/imaxdiv.c: Likewise.
49306         * lib/inet_pton.c: Likewise.
49307         * lib/inet_pton.h: Likewise.
49308         * lib/intprops.h: Likewise.
49309         * lib/inttostr.c: Likewise.
49310         * lib/inttostr.h: Likewise.
49311         * lib/inttypes.in.h: Likewise.
49312         * lib/isapipe.c: Likewise.
49313         * lib/isdir.c: Likewise.
49314         * lib/isnan.c: Likewise.
49315         * lib/isnan.h: Likewise.
49316         * lib/isnanf.c: Likewise.
49317         * lib/isnanf.h: Likewise.
49318         * lib/isnanl-nolibm.h: Likewise.
49319         * lib/isnanl.c: Likewise.
49320         * lib/isnanl.h: Likewise.
49321         * lib/javacomp.c: Likewise.
49322         * lib/javacomp.h: Likewise.
49323         * lib/javaexec.c: Likewise.
49324         * lib/javaexec.h: Likewise.
49325         * lib/javaversion.c: Likewise.
49326         * lib/javaversion.h: Likewise.
49327         * lib/javaversion.java: Likewise.
49328         * lib/lbrkprop.h: Likewise.
49329         * lib/lchmod.h: Likewise.
49330         * lib/lchown.c: Likewise.
49331         * lib/ldexpl.c: Likewise.
49332         * lib/linebreak.c: Likewise.
49333         * lib/linebreak.h: Likewise.
49334         * lib/linebuffer.c: Likewise.
49335         * lib/linebuffer.h: Likewise.
49336         * lib/locale.in.h: Likewise.
49337         * lib/logl.c: Likewise.
49338         * lib/long-options.c: Likewise.
49339         * lib/long-options.h: Likewise.
49340         * lib/lstat.c: Likewise.
49341         * lib/lstat.h: Likewise.
49342         * lib/math.in.h: Likewise.
49343         * lib/mbchar.c: Likewise.
49344         * lib/mbchar.h: Likewise.
49345         * lib/mbfile.h: Likewise.
49346         * lib/mbiter.h: Likewise.
49347         * lib/mbscasecmp.c: Likewise.
49348         * lib/mbscasestr.c: Likewise.
49349         * lib/mbschr.c: Likewise.
49350         * lib/mbscspn.c: Likewise.
49351         * lib/mbslen.c: Likewise.
49352         * lib/mbsncasecmp.c: Likewise.
49353         * lib/mbsnlen.c: Likewise.
49354         * lib/mbspbrk.c: Likewise.
49355         * lib/mbspcasecmp.c: Likewise.
49356         * lib/mbsrchr.c: Likewise.
49357         * lib/mbssep.c: Likewise.
49358         * lib/mbsspn.c: Likewise.
49359         * lib/mbsstr.c: Likewise.
49360         * lib/mbstok_r.c: Likewise.
49361         * lib/mbswidth.c: Likewise.
49362         * lib/mbswidth.h: Likewise.
49363         * lib/mbuiter.h: Likewise.
49364         * lib/memcasecmp.c: Likewise.
49365         * lib/memcasecmp.h: Likewise.
49366         * lib/memchr.c: Likewise.
49367         * lib/memcmp.c: Likewise.
49368         * lib/memcoll.c: Likewise.
49369         * lib/memcoll.h: Likewise.
49370         * lib/memcpy.c: Likewise.
49371         * lib/memrchr.c: Likewise.
49372         * lib/mkancesdirs.c: Likewise.
49373         * lib/mkdir-p.c: Likewise.
49374         * lib/mkdir-p.h: Likewise.
49375         * lib/mkdir.c: Likewise.
49376         * lib/mkdirat.c: Likewise.
49377         * lib/mkdtemp.c: Likewise.
49378         * lib/mkstemp-safer.c: Likewise.
49379         * lib/mkstemp.c: Likewise.
49380         * lib/modechange.c: Likewise.
49381         * lib/modechange.h: Likewise.
49382         * lib/mountlist.c: Likewise.
49383         * lib/mountlist.h: Likewise.
49384         * lib/mpsort.c: Likewise.
49385         * lib/nanosleep.c: Likewise.
49386         * lib/obstack.c: Likewise.
49387         * lib/obstack.h: Likewise.
49388         * lib/open-safer.c: Likewise.
49389         * lib/open.c: Likewise.
49390         * lib/openat-die.c: Likewise.
49391         * lib/openat-priv.h: Likewise.
49392         * lib/openat-proc.c: Likewise.
49393         * lib/openat.c: Likewise.
49394         * lib/openat.h: Likewise.
49395         * lib/pagealign_alloc.c: Likewise.
49396         * lib/pagealign_alloc.h: Likewise.
49397         * lib/physmem.c: Likewise.
49398         * lib/physmem.h: Likewise.
49399         * lib/pipe-safer.c: Likewise.
49400         * lib/pipe.c: Likewise.
49401         * lib/pipe.h: Likewise.
49402         * lib/posixtm.c: Likewise.
49403         * lib/posixtm.h: Likewise.
49404         * lib/posixver.c: Likewise.
49405         * lib/printf-frexp.c: Likewise.
49406         * lib/printf-frexp.h: Likewise.
49407         * lib/printf-frexpl.c: Likewise.
49408         * lib/printf-frexpl.h: Likewise.
49409         * lib/printf.c: Likewise.
49410         * lib/progname.c: Likewise.
49411         * lib/progname.h: Likewise.
49412         * lib/progreloc.c: Likewise.
49413         * lib/putenv.c: Likewise.
49414         * lib/quote.c: Likewise.
49415         * lib/quote.h: Likewise.
49416         * lib/quotearg.c: Likewise.
49417         * lib/quotearg.h: Likewise.
49418         * lib/raise.c: Likewise.
49419         * lib/readline.c: Likewise.
49420         * lib/readline.h: Likewise.
49421         * lib/readlink.c: Likewise.
49422         * lib/readtokens.c: Likewise.
49423         * lib/readtokens.h: Likewise.
49424         * lib/readtokens0.c: Likewise.
49425         * lib/readtokens0.h: Likewise.
49426         * lib/readutmp.c: Likewise.
49427         * lib/readutmp.h: Likewise.
49428         * lib/realloc.c: Likewise.
49429         * lib/relocwrapper.c: Likewise.
49430         * lib/rename-dest-slash.c: Likewise.
49431         * lib/rename.c: Likewise.
49432         * lib/rmdir.c: Likewise.
49433         * lib/rpmatch.c: Likewise.
49434         * lib/safe-read.c: Likewise.
49435         * lib/safe-read.h: Likewise.
49436         * lib/safe-write.c: Likewise.
49437         * lib/safe-write.h: Likewise.
49438         * lib/same-inode.h: Likewise.
49439         * lib/same.c: Likewise.
49440         * lib/same.h: Likewise.
49441         * lib/save-cwd.c: Likewise.
49442         * lib/save-cwd.h: Likewise.
49443         * lib/savedir.c: Likewise.
49444         * lib/savedir.h: Likewise.
49445         * lib/savewd.c: Likewise.
49446         * lib/savewd.h: Likewise.
49447         * lib/search.in.h: Likewise.
49448         * lib/setenv.c: Likewise.
49449         * lib/setenv.h: Likewise.
49450         * lib/settime.c: Likewise.
49451         * lib/sh-quote.c: Likewise.
49452         * lib/sh-quote.h: Likewise.
49453         * lib/sig2str.c: Likewise.
49454         * lib/sig2str.h: Likewise.
49455         * lib/signal.in.h: Likewise.
49456         * lib/signbitd.c: Likewise.
49457         * lib/signbitf.c: Likewise.
49458         * lib/signbitl.c: Likewise.
49459         * lib/sigprocmask.c: Likewise.
49460         * lib/sincosl.c: Likewise.
49461         * lib/sleep.c: Likewise.
49462         * lib/sprintf.c: Likewise.
49463         * lib/sqrtl.c: Likewise.
49464         * lib/stat-time.h: Likewise.
49465         * lib/stdio--.h: Likewise.
49466         * lib/stdio-safer.h: Likewise.
49467         * lib/stdlib--.h: Likewise.
49468         * lib/stdlib-safer.h: Likewise.
49469         * lib/stdlib.in.h: Likewise.
49470         * lib/stpcpy.c: Likewise.
49471         * lib/stpncpy.c: Likewise.
49472         * lib/strchrnul.c: Likewise.
49473         * lib/strcspn.c: Likewise.
49474         * lib/strerror.c: Likewise.
49475         * lib/strftime.c: Likewise.
49476         * lib/strftime.h: Likewise.
49477         * lib/striconveh.c: Likewise.
49478         * lib/striconveh.h: Likewise.
49479         * lib/striconveha.c: Likewise.
49480         * lib/striconveha.h: Likewise.
49481         * lib/stripslash.c: Likewise.
49482         * lib/strnlen1.c: Likewise.
49483         * lib/strnlen1.h: Likewise.
49484         * lib/strtod.c: Likewise.
49485         * lib/strtoimax.c: Likewise.
49486         * lib/strtok_r.c: Likewise.
49487         * lib/strtol.c: Likewise.
49488         * lib/strtoll.c: Likewise.
49489         * lib/strtoul.c: Likewise.
49490         * lib/strtoull.c: Likewise.
49491         * lib/sysexits.in.h: Likewise.
49492         * lib/tempname.c: Likewise.
49493         * lib/tempname.h: Likewise.
49494         * lib/timespec.h: Likewise.
49495         * lib/tls.c: Likewise.
49496         * lib/tls.h: Likewise.
49497         * lib/tmpdir.c: Likewise.
49498         * lib/tmpdir.h: Likewise.
49499         * lib/tmpfile-safer.c: Likewise.
49500         * lib/tmpfile.c: Likewise.
49501         * lib/trigl.c: Likewise.
49502         * lib/trigl.h: Likewise.
49503         * lib/trim.c: Likewise.
49504         * lib/trim.h: Likewise.
49505         * lib/trunc.c: Likewise.
49506         * lib/truncf.c: Likewise.
49507         * lib/truncl.c: Likewise.
49508         * lib/tsearch.c: Likewise.
49509         * lib/unicodeio.c: Likewise.
49510         * lib/unicodeio.h: Likewise.
49511         * lib/unistd--.h: Likewise.
49512         * lib/unistd-safer.h: Likewise.
49513         * lib/unistdio/ulc-fprintf.c: Likewise.
49514         * lib/unistdio/ulc-vfprintf.c: Likewise.
49515         * lib/unlinkdir.c: Likewise.
49516         * lib/unlinkdir.h: Likewise.
49517         * lib/unlocked-io.h: Likewise.
49518         * lib/unsetenv.c: Likewise.
49519         * lib/userspec.c: Likewise.
49520         * lib/utime.c: Likewise.
49521         * lib/utimecmp.c: Likewise.
49522         * lib/utimecmp.h: Likewise.
49523         * lib/utimens.c: Likewise.
49524         * lib/verify.h: Likewise.
49525         * lib/verror.c: Likewise.
49526         * lib/verror.h: Likewise.
49527         * lib/version-etc-fsf.c: Likewise.
49528         * lib/version-etc.c: Likewise.
49529         * lib/version-etc.h: Likewise.
49530         * lib/vfprintf.c: Likewise.
49531         * lib/vprintf.c: Likewise.
49532         * lib/vsprintf.c: Likewise.
49533         * lib/w32spawn.h: Likewise.
49534         * lib/wait-process.c: Likewise.
49535         * lib/wait-process.h: Likewise.
49536         * lib/wcwidth.c: Likewise.
49537         * lib/write-any-file.c: Likewise.
49538         * lib/xalloc-die.c: Likewise.
49539         * lib/xalloc.h: Likewise.
49540         * lib/xasprintf.c: Likewise.
49541         * lib/xgetcwd.c: Likewise.
49542         * lib/xgetcwd.h: Likewise.
49543         * lib/xgetdomainname.c: Likewise.
49544         * lib/xgetdomainname.h: Likewise.
49545         * lib/xgethostname.c: Likewise.
49546         * lib/xmalloc.c: Likewise.
49547         * lib/xmalloca.c: Likewise.
49548         * lib/xmalloca.h: Likewise.
49549         * lib/xmemcoll.c: Likewise.
49550         * lib/xnanosleep.c: Likewise.
49551         * lib/xreadlink.c: Likewise.
49552         * lib/xreadlink.h: Likewise.
49553         * lib/xsetenv.c: Likewise.
49554         * lib/xsetenv.h: Likewise.
49555         * lib/xstriconv.c: Likewise.
49556         * lib/xstriconv.h: Likewise.
49557         * lib/xstrndup.c: Likewise.
49558         * lib/xstrndup.h: Likewise.
49559         * lib/xstrtod.c: Likewise.
49560         * lib/xstrtod.h: Likewise.
49561         * lib/xstrtol-error.c: Likewise.
49562         * lib/xstrtol.c: Likewise.
49563         * lib/xstrtol.h: Likewise.
49564         * lib/xtime.h: Likewise.
49565         * lib/xvasprintf.c: Likewise.
49566         * lib/xvasprintf.h: Likewise.
49567         * lib/yesno.c: Likewise.
49568         * lib/yesno.h: Likewise.
49569         * posix-modules: Likewise.
49570         * tests/test-alloca-opt.c: Likewise.
49571         * tests/test-arcfour.c: Likewise.
49572         * tests/test-arctwo.c: Likewise.
49573         * tests/test-argmatch.c: Likewise.
49574         * tests/test-argp-2.sh: Likewise.
49575         * tests/test-argp.c: Likewise.
49576         * tests/test-arpa_inet.c: Likewise.
49577         * tests/test-array_list.c: Likewise.
49578         * tests/test-array_oset.c: Likewise.
49579         * tests/test-atexit.c: Likewise.
49580         * tests/test-avltree_list.c: Likewise.
49581         * tests/test-avltree_oset.c: Likewise.
49582         * tests/test-avltreehash_list.c: Likewise.
49583         * tests/test-base64.c: Likewise.
49584         * tests/test-binary-io.c: Likewise.
49585         * tests/test-byteswap.c: Likewise.
49586         * tests/test-c-ctype.c: Likewise.
49587         * tests/test-c-strcasecmp.c: Likewise.
49588         * tests/test-c-strcasestr.c: Likewise.
49589         * tests/test-c-strncasecmp.c: Likewise.
49590         * tests/test-c-strstr.c: Likewise.
49591         * tests/test-canonicalize-lgpl.c: Likewise.
49592         * tests/test-canonicalize.c: Likewise.
49593         * tests/test-carray_list.c: Likewise.
49594         * tests/test-ceilf.c: Likewise.
49595         * tests/test-ceill.c: Likewise.
49596         * tests/test-count-one-bits.c: Likewise.
49597         * tests/test-crc.c: Likewise.
49598         * tests/test-dirname.c: Likewise.
49599         * tests/test-fbufmode.c: Likewise.
49600         * tests/test-fcntl.c: Likewise.
49601         * tests/test-fflush.c: Likewise.
49602         * tests/test-floorf.c: Likewise.
49603         * tests/test-floorl.c: Likewise.
49604         * tests/test-fopen.c: Likewise.
49605         * tests/test-fprintf-posix.c: Likewise.
49606         * tests/test-fprintf-posix.h: Likewise.
49607         * tests/test-fpurge.c: Likewise.
49608         * tests/test-freadable.c: Likewise.
49609         * tests/test-freadahead.c: Likewise.
49610         * tests/test-freading.c: Likewise.
49611         * tests/test-freopen.c: Likewise.
49612         * tests/test-frexp.c: Likewise.
49613         * tests/test-frexpl.c: Likewise.
49614         * tests/test-fseek.c: Likewise.
49615         * tests/test-fseeko.c: Likewise.
49616         * tests/test-fseterr.c: Likewise.
49617         * tests/test-fstrcmp.c: Likewise.
49618         * tests/test-ftell.c: Likewise.
49619         * tests/test-ftello.c: Likewise.
49620         * tests/test-fwritable.c: Likewise.
49621         * tests/test-fwriting.c: Likewise.
49622         * tests/test-getaddrinfo.c: Likewise.
49623         * tests/test-getpass.c: Likewise.
49624         * tests/test-gettimeofday.c: Likewise.
49625         * tests/test-hmac-md5.c: Likewise.
49626         * tests/test-hmac-sha1.c: Likewise.
49627         * tests/test-iconv.c: Likewise.
49628         * tests/test-iconvme.c: Likewise.
49629         * tests/test-inttypes.c: Likewise.
49630         * tests/test-isnan.c: Likewise.
49631         * tests/test-isnanf.c: Likewise.
49632         * tests/test-isnanl-nolibm.c: Likewise.
49633         * tests/test-isnanl.c: Likewise.
49634         * tests/test-isnanl.h: Likewise.
49635         * tests/test-ldexpl.c: Likewise.
49636         * tests/test-linked_list.c: Likewise.
49637         * tests/test-linkedhash_list.c: Likewise.
49638         * tests/test-locale.c: Likewise.
49639         * tests/test-localename.c: Likewise.
49640         * tests/test-lock.c: Likewise.
49641         * tests/test-lseek.c: Likewise.
49642         * tests/test-malloca.c: Likewise.
49643         * tests/test-math.c: Likewise.
49644         * tests/test-mbscasecmp.c: Likewise.
49645         * tests/test-mbscasestr1.c: Likewise.
49646         * tests/test-mbscasestr2.c: Likewise.
49647         * tests/test-mbscasestr3.c: Likewise.
49648         * tests/test-mbscasestr4.c: Likewise.
49649         * tests/test-mbschr.c: Likewise.
49650         * tests/test-mbscspn.c: Likewise.
49651         * tests/test-mbsncasecmp.c: Likewise.
49652         * tests/test-mbspbrk.c: Likewise.
49653         * tests/test-mbspcasecmp.c: Likewise.
49654         * tests/test-mbsrchr.c: Likewise.
49655         * tests/test-mbsspn.c: Likewise.
49656         * tests/test-mbsstr1.c: Likewise.
49657         * tests/test-mbsstr2.c: Likewise.
49658         * tests/test-mbsstr3.c: Likewise.
49659         * tests/test-md5.c: Likewise.
49660         * tests/test-memmem.c: Likewise.
49661         * tests/test-netinet_in.c: Likewise.
49662         * tests/test-open.c: Likewise.
49663         * tests/test-printf-frexp.c: Likewise.
49664         * tests/test-printf-frexpl.c: Likewise.
49665         * tests/test-printf-posix.c: Likewise.
49666         * tests/test-printf-posix.h: Likewise.
49667         * tests/test-rbtree_list.c: Likewise.
49668         * tests/test-rbtree_oset.c: Likewise.
49669         * tests/test-rbtreehash_list.c: Likewise.
49670         * tests/test-read-file.c: Likewise.
49671         * tests/test-rijndael.c: Likewise.
49672         * tests/test-search.c: Likewise.
49673         * tests/test-signbit.c: Likewise.
49674         * tests/test-sleep.c: Likewise.
49675         * tests/test-snprintf-posix.c: Likewise.
49676         * tests/test-snprintf-posix.h: Likewise.
49677         * tests/test-snprintf.c: Likewise.
49678         * tests/test-sprintf-posix.c: Likewise.
49679         * tests/test-sprintf-posix.h: Likewise.
49680         * tests/test-stat-time.c: Likewise.
49681         * tests/test-stdbool.c: Likewise.
49682         * tests/test-stdint.c: Likewise.
49683         * tests/test-stdio.c: Likewise.
49684         * tests/test-stdlib.c: Likewise.
49685         * tests/test-stpncpy.c: Likewise.
49686         * tests/test-strcasestr.c: Likewise.
49687         * tests/test-striconv.c: Likewise.
49688         * tests/test-striconveh.c: Likewise.
49689         * tests/test-striconveha.c: Likewise.
49690         * tests/test-string.c: Likewise.
49691         * tests/test-sys_select.c: Likewise.
49692         * tests/test-sys_socket.c: Likewise.
49693         * tests/test-sys_stat.c: Likewise.
49694         * tests/test-sys_time.c: Likewise.
49695         * tests/test-sysexits.c: Likewise.
49696         * tests/test-time.c: Likewise.
49697         * tests/test-tls.c: Likewise.
49698         * tests/test-trunc.c: Likewise.
49699         * tests/test-truncf.c: Likewise.
49700         * tests/test-truncl.c: Likewise.
49701         * tests/test-unistd.c: Likewise.
49702         * tests/test-vasnprintf-posix.c: Likewise.
49703         * tests/test-vasnprintf-posix2.c: Likewise.
49704         * tests/test-vasnprintf.c: Likewise.
49705         * tests/test-vasprintf-posix.c: Likewise.
49706         * tests/test-vasprintf.c: Likewise.
49707         * tests/test-verify.c: Likewise.
49708         * tests/test-vfprintf-posix.c: Likewise.
49709         * tests/test-vprintf-posix.c: Likewise.
49710         * tests/test-vsnprintf-posix.c: Likewise.
49711         * tests/test-vsnprintf.c: Likewise.
49712         * tests/test-vsprintf-posix.c: Likewise.
49713         * tests/test-wchar.c: Likewise.
49714         * tests/test-wctype.c: Likewise.
49715         * tests/test-wcwidth.c: Likewise.
49716         * tests/test-xstrtol.c: Likewise.
49717         * tests/test-xvasprintf.c: Likewise.
49718         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
49719         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
49720         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
49721         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
49722         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
49723         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
49724         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
49725         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
49726         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
49727         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
49728         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
49729         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
49730         * tests/uniname/test-uninames.c: Likewise.
49731         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
49732         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
49733         * tests/unistdio/test-u16-printf1.h: Likewise.
49734         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
49735         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
49736         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
49737         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
49738         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
49739         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
49740         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
49741         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
49742         * tests/unistdio/test-u32-printf1.h: Likewise.
49743         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
49744         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
49745         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
49746         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
49747         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
49748         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
49749         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
49750         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
49751         * tests/unistdio/test-u8-printf1.h: Likewise.
49752         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
49753         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
49754         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
49755         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
49756         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
49757         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
49758         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
49759         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
49760         * tests/unistdio/test-ulc-printf1.h: Likewise.
49761         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
49762         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
49763         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
49764         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
49765         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
49766         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
49767         * tests/uniwidth/test-u16-strwidth.c: Likewise.
49768         * tests/uniwidth/test-u16-width.c: Likewise.
49769         * tests/uniwidth/test-u32-strwidth.c: Likewise.
49770         * tests/uniwidth/test-u32-width.c: Likewise.
49771         * tests/uniwidth/test-u8-strwidth.c: Likewise.
49772         * tests/uniwidth/test-u8-width.c: Likewise.
49773         * tests/uniwidth/test-uc_width.c: Likewise.
49774         * config/srclist-update: Likewise.
49775         (fixlicense): Update to GPLv3+.
49776
49777         Change copyright notice from LGPLv2.1+ to LGPLv3+.
49778         * tests/test-tsearch.c: Change copyright notice.
49779
49780         Change copyright notice from LGPLv2.0+ to LGPLv3+.
49781         * lib/c-strcaseeq.h: Change copyright notice.
49782         * lib/streq.h: Likewise.
49783         * lib/uniconv.h: Likewise.
49784         * lib/uniconv/u-conv-from-enc.h: Likewise.
49785         * lib/uniconv/u-conv-to-enc.h: Likewise.
49786         * lib/uniconv/u-strconv-from-enc.h: Likewise.
49787         * lib/uniconv/u-strconv-to-enc.h: Likewise.
49788         * lib/uniconv/u16-conv-from-enc.c: Likewise.
49789         * lib/uniconv/u16-conv-to-enc.c: Likewise.
49790         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
49791         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
49792         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
49793         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
49794         * lib/uniconv/u32-conv-from-enc.c: Likewise.
49795         * lib/uniconv/u32-conv-to-enc.c: Likewise.
49796         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
49797         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
49798         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
49799         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
49800         * lib/uniconv/u8-conv-from-enc.c: Likewise.
49801         * lib/uniconv/u8-conv-to-enc.c: Likewise.
49802         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
49803         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
49804         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
49805         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
49806         * lib/uniname.h: Likewise.
49807         * lib/uniname/uniname.c: Likewise.
49808         * lib/unistdio.h: Likewise.
49809         * lib/unistdio/u-asnprintf.h: Likewise.
49810         * lib/unistdio/u-asprintf.h: Likewise.
49811         * lib/unistdio/u-printf-args.c: Likewise.
49812         * lib/unistdio/u-printf-args.h: Likewise.
49813         * lib/unistdio/u-printf-parse.h: Likewise.
49814         * lib/unistdio/u-snprintf.h: Likewise.
49815         * lib/unistdio/u-sprintf.h: Likewise.
49816         * lib/unistdio/u-vasprintf.h: Likewise.
49817         * lib/unistdio/u-vsnprintf.h: Likewise.
49818         * lib/unistdio/u-vsprintf.h: Likewise.
49819         * lib/unistdio/u16-asnprintf.c: Likewise.
49820         * lib/unistdio/u16-asprintf.c: Likewise.
49821         * lib/unistdio/u16-printf-parse.c: Likewise.
49822         * lib/unistdio/u16-snprintf.c: Likewise.
49823         * lib/unistdio/u16-sprintf.c: Likewise.
49824         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
49825         * lib/unistdio/u16-u16-asprintf.c: Likewise.
49826         * lib/unistdio/u16-u16-snprintf.c: Likewise.
49827         * lib/unistdio/u16-u16-sprintf.c: Likewise.
49828         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
49829         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
49830         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
49831         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
49832         * lib/unistdio/u16-vasnprintf.c: Likewise.
49833         * lib/unistdio/u16-vasprintf.c: Likewise.
49834         * lib/unistdio/u16-vsnprintf.c: Likewise.
49835         * lib/unistdio/u16-vsprintf.c: Likewise.
49836         * lib/unistdio/u32-asnprintf.c: Likewise.
49837         * lib/unistdio/u32-asprintf.c: Likewise.
49838         * lib/unistdio/u32-printf-parse.c: Likewise.
49839         * lib/unistdio/u32-snprintf.c: Likewise.
49840         * lib/unistdio/u32-sprintf.c: Likewise.
49841         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
49842         * lib/unistdio/u32-u32-asprintf.c: Likewise.
49843         * lib/unistdio/u32-u32-snprintf.c: Likewise.
49844         * lib/unistdio/u32-u32-sprintf.c: Likewise.
49845         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
49846         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
49847         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
49848         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
49849         * lib/unistdio/u32-vasnprintf.c: Likewise.
49850         * lib/unistdio/u32-vasprintf.c: Likewise.
49851         * lib/unistdio/u32-vsnprintf.c: Likewise.
49852         * lib/unistdio/u32-vsprintf.c: Likewise.
49853         * lib/unistdio/u8-asnprintf.c: Likewise.
49854         * lib/unistdio/u8-asprintf.c: Likewise.
49855         * lib/unistdio/u8-printf-parse.c: Likewise.
49856         * lib/unistdio/u8-snprintf.c: Likewise.
49857         * lib/unistdio/u8-sprintf.c: Likewise.
49858         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
49859         * lib/unistdio/u8-u8-asprintf.c: Likewise.
49860         * lib/unistdio/u8-u8-snprintf.c: Likewise.
49861         * lib/unistdio/u8-u8-sprintf.c: Likewise.
49862         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
49863         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
49864         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
49865         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
49866         * lib/unistdio/u8-vasnprintf.c: Likewise.
49867         * lib/unistdio/u8-vasprintf.c: Likewise.
49868         * lib/unistdio/u8-vsnprintf.c: Likewise.
49869         * lib/unistdio/u8-vsprintf.c: Likewise.
49870         * lib/unistdio/ulc-asnprintf.c: Likewise.
49871         * lib/unistdio/ulc-asprintf.c: Likewise.
49872         * lib/unistdio/ulc-printf-parse.c: Likewise.
49873         * lib/unistdio/ulc-snprintf.c: Likewise.
49874         * lib/unistdio/ulc-sprintf.c: Likewise.
49875         * lib/unistdio/ulc-vasnprintf.c: Likewise.
49876         * lib/unistdio/ulc-vasprintf.c: Likewise.
49877         * lib/unistdio/ulc-vsnprintf.c: Likewise.
49878         * lib/unistdio/ulc-vsprintf.c: Likewise.
49879         * lib/unistr.h: Likewise.
49880         * lib/unistr/u-cpy-alloc.h: Likewise.
49881         * lib/unistr/u-cpy.h: Likewise.
49882         * lib/unistr/u-endswith.h: Likewise.
49883         * lib/unistr/u-move.h: Likewise.
49884         * lib/unistr/u-set.h: Likewise.
49885         * lib/unistr/u-startswith.h: Likewise.
49886         * lib/unistr/u-stpcpy.h: Likewise.
49887         * lib/unistr/u-stpncpy.h: Likewise.
49888         * lib/unistr/u-strcat.h: Likewise.
49889         * lib/unistr/u-strcpy.h: Likewise.
49890         * lib/unistr/u-strcspn.h: Likewise.
49891         * lib/unistr/u-strdup.h: Likewise.
49892         * lib/unistr/u-strlen.h: Likewise.
49893         * lib/unistr/u-strncat.h: Likewise.
49894         * lib/unistr/u-strncpy.h: Likewise.
49895         * lib/unistr/u-strnlen.h: Likewise.
49896         * lib/unistr/u-strpbrk.h: Likewise.
49897         * lib/unistr/u-strspn.h: Likewise.
49898         * lib/unistr/u-strstr.h: Likewise.
49899         * lib/unistr/u-strtok.h: Likewise.
49900         * lib/unistr/u16-check.c: Likewise.
49901         * lib/unistr/u16-chr.c: Likewise.
49902         * lib/unistr/u16-cmp.c: Likewise.
49903         * lib/unistr/u16-cpy-alloc.c: Likewise.
49904         * lib/unistr/u16-cpy.c: Likewise.
49905         * lib/unistr/u16-endswith.c: Likewise.
49906         * lib/unistr/u16-mblen.c: Likewise.
49907         * lib/unistr/u16-mbsnlen.c: Likewise.
49908         * lib/unistr/u16-mbtouc-aux.c: Likewise.
49909         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
49910         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
49911         * lib/unistr/u16-mbtouc.c: Likewise.
49912         * lib/unistr/u16-mbtoucr.c: Likewise.
49913         * lib/unistr/u16-move.c: Likewise.
49914         * lib/unistr/u16-next.c: Likewise.
49915         * lib/unistr/u16-prev.c: Likewise.
49916         * lib/unistr/u16-set.c: Likewise.
49917         * lib/unistr/u16-startswith.c: Likewise.
49918         * lib/unistr/u16-stpcpy.c: Likewise.
49919         * lib/unistr/u16-stpncpy.c: Likewise.
49920         * lib/unistr/u16-strcat.c: Likewise.
49921         * lib/unistr/u16-strchr.c: Likewise.
49922         * lib/unistr/u16-strcmp.c: Likewise.
49923         * lib/unistr/u16-strcpy.c: Likewise.
49924         * lib/unistr/u16-strcspn.c: Likewise.
49925         * lib/unistr/u16-strdup.c: Likewise.
49926         * lib/unistr/u16-strlen.c: Likewise.
49927         * lib/unistr/u16-strmblen.c: Likewise.
49928         * lib/unistr/u16-strmbtouc.c: Likewise.
49929         * lib/unistr/u16-strncat.c: Likewise.
49930         * lib/unistr/u16-strncmp.c: Likewise.
49931         * lib/unistr/u16-strncpy.c: Likewise.
49932         * lib/unistr/u16-strnlen.c: Likewise.
49933         * lib/unistr/u16-strpbrk.c: Likewise.
49934         * lib/unistr/u16-strrchr.c: Likewise.
49935         * lib/unistr/u16-strspn.c: Likewise.
49936         * lib/unistr/u16-strstr.c: Likewise.
49937         * lib/unistr/u16-strtok.c: Likewise.
49938         * lib/unistr/u16-to-u32.c: Likewise.
49939         * lib/unistr/u16-to-u8.c: Likewise.
49940         * lib/unistr/u16-uctomb-aux.c: Likewise.
49941         * lib/unistr/u16-uctomb.c: Likewise.
49942         * lib/unistr/u32-check.c: Likewise.
49943         * lib/unistr/u32-chr.c: Likewise.
49944         * lib/unistr/u32-cmp.c: Likewise.
49945         * lib/unistr/u32-cpy-alloc.c: Likewise.
49946         * lib/unistr/u32-cpy.c: Likewise.
49947         * lib/unistr/u32-endswith.c: Likewise.
49948         * lib/unistr/u32-mblen.c: Likewise.
49949         * lib/unistr/u32-mbsnlen.c: Likewise.
49950         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
49951         * lib/unistr/u32-mbtouc.c: Likewise.
49952         * lib/unistr/u32-mbtoucr.c: Likewise.
49953         * lib/unistr/u32-move.c: Likewise.
49954         * lib/unistr/u32-next.c: Likewise.
49955         * lib/unistr/u32-prev.c: Likewise.
49956         * lib/unistr/u32-set.c: Likewise.
49957         * lib/unistr/u32-startswith.c: Likewise.
49958         * lib/unistr/u32-stpcpy.c: Likewise.
49959         * lib/unistr/u32-stpncpy.c: Likewise.
49960         * lib/unistr/u32-strcat.c: Likewise.
49961         * lib/unistr/u32-strchr.c: Likewise.
49962         * lib/unistr/u32-strcmp.c: Likewise.
49963         * lib/unistr/u32-strcpy.c: Likewise.
49964         * lib/unistr/u32-strcspn.c: Likewise.
49965         * lib/unistr/u32-strdup.c: Likewise.
49966         * lib/unistr/u32-strlen.c: Likewise.
49967         * lib/unistr/u32-strmblen.c: Likewise.
49968         * lib/unistr/u32-strmbtouc.c: Likewise.
49969         * lib/unistr/u32-strncat.c: Likewise.
49970         * lib/unistr/u32-strncmp.c: Likewise.
49971         * lib/unistr/u32-strncpy.c: Likewise.
49972         * lib/unistr/u32-strnlen.c: Likewise.
49973         * lib/unistr/u32-strpbrk.c: Likewise.
49974         * lib/unistr/u32-strrchr.c: Likewise.
49975         * lib/unistr/u32-strspn.c: Likewise.
49976         * lib/unistr/u32-strstr.c: Likewise.
49977         * lib/unistr/u32-strtok.c: Likewise.
49978         * lib/unistr/u32-to-u16.c: Likewise.
49979         * lib/unistr/u32-to-u8.c: Likewise.
49980         * lib/unistr/u32-uctomb.c: Likewise.
49981         * lib/unistr/u8-check.c: Likewise.
49982         * lib/unistr/u8-chr.c: Likewise.
49983         * lib/unistr/u8-cmp.c: Likewise.
49984         * lib/unistr/u8-cpy-alloc.c: Likewise.
49985         * lib/unistr/u8-cpy.c: Likewise.
49986         * lib/unistr/u8-endswith.c: Likewise.
49987         * lib/unistr/u8-mblen.c: Likewise.
49988         * lib/unistr/u8-mbsnlen.c: Likewise.
49989         * lib/unistr/u8-mbtouc-aux.c: Likewise.
49990         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
49991         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
49992         * lib/unistr/u8-mbtouc.c: Likewise.
49993         * lib/unistr/u8-mbtoucr.c: Likewise.
49994         * lib/unistr/u8-move.c: Likewise.
49995         * lib/unistr/u8-next.c: Likewise.
49996         * lib/unistr/u8-prev.c: Likewise.
49997         * lib/unistr/u8-set.c: Likewise.
49998         * lib/unistr/u8-startswith.c: Likewise.
49999         * lib/unistr/u8-stpcpy.c: Likewise.
50000         * lib/unistr/u8-stpncpy.c: Likewise.
50001         * lib/unistr/u8-strcat.c: Likewise.
50002         * lib/unistr/u8-strchr.c: Likewise.
50003         * lib/unistr/u8-strcmp.c: Likewise.
50004         * lib/unistr/u8-strcpy.c: Likewise.
50005         * lib/unistr/u8-strcspn.c: Likewise.
50006         * lib/unistr/u8-strdup.c: Likewise.
50007         * lib/unistr/u8-strlen.c: Likewise.
50008         * lib/unistr/u8-strmblen.c: Likewise.
50009         * lib/unistr/u8-strmbtouc.c: Likewise.
50010         * lib/unistr/u8-strncat.c: Likewise.
50011         * lib/unistr/u8-strncmp.c: Likewise.
50012         * lib/unistr/u8-strncpy.c: Likewise.
50013         * lib/unistr/u8-strnlen.c: Likewise.
50014         * lib/unistr/u8-strpbrk.c: Likewise.
50015         * lib/unistr/u8-strrchr.c: Likewise.
50016         * lib/unistr/u8-strspn.c: Likewise.
50017         * lib/unistr/u8-strstr.c: Likewise.
50018         * lib/unistr/u8-strtok.c: Likewise.
50019         * lib/unistr/u8-to-u16.c: Likewise.
50020         * lib/unistr/u8-to-u32.c: Likewise.
50021         * lib/unistr/u8-uctomb-aux.c: Likewise.
50022         * lib/unistr/u8-uctomb.c: Likewise.
50023         * lib/unitypes.h: Likewise.
50024         * lib/uniwidth.h: Likewise.
50025         * lib/uniwidth/cjk.h: Likewise.
50026         * lib/uniwidth/u16-strwidth.c: Likewise.
50027         * lib/uniwidth/u16-width.c: Likewise.
50028         * lib/uniwidth/u32-strwidth.c: Likewise.
50029         * lib/uniwidth/u32-width.c: Likewise.
50030         * lib/uniwidth/u8-strwidth.c: Likewise.
50031         * lib/uniwidth/u8-width.c: Likewise.
50032         * lib/uniwidth/width.c: Likewise.
50033
50034 2007-10-07  Bruno Haible  <bruno@clisp.org>
50035
50036         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
50037         The file is still under LGPL (see modules/inttypes).
50038
50039 2007-10-06  Bruno Haible  <bruno@clisp.org>
50040
50041         * modules/trunc (Dependencies): Add 'extensions'.
50042         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
50043         Reported by Ben Pfaff <blp@gnu.org>.
50044
50045 2007-10-06  Bruno Haible  <bruno@clisp.org>
50046
50047         * modules/freopen-tests: New file.
50048         * tests/test-freopen.c: New file.
50049
50050         * modules/fopen-tests: New file.
50051         * tests/test-fopen.c: New file.
50052
50053         * modules/fopen: New file.
50054         * lib/fopen.c: New file.
50055         * m4/fopen.m4: New file.
50056         * modules/freopen: New file.
50057         * lib/freopen.c: New file.
50058         * m4/freopen.m4: New file.
50059         * lib/stdio.in.h (fopen, freopen): New declarations.
50060         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
50061         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
50062         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
50063         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
50064         * doc/functions/fopen.texi: Mention the 'fopen' module.
50065         * doc/functions/freopen.texi: Mention the 'freopen' module.
50066
50067 2007-10-06  Bruno Haible  <bruno@clisp.org>
50068
50069         * modules/open-tests: New file.
50070         * tests/test-open.c: New file.
50071
50072         * modules/open: New file.
50073         * lib/open.c: New file.
50074         * m4/open.m4: New file.
50075         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
50076         lib/open.c does.
50077         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
50078         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
50079         macros.
50080         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
50081         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
50082         REPLACE_OPEN.
50083         * doc/functions/open.texi: Mention the 'open' module.
50084
50085 2007-10-04  Bruno Haible  <bruno@clisp.org>
50086
50087         * modules/ceill-tests: New file.
50088         * tests/test-ceill.c: New file.
50089
50090         * modules/ceill: New file.
50091         * lib/ceill.c: Replace entire file.
50092         * m4/ceill.m4: New file.
50093         * lib/math.in.h (ceill): Replace declaration.
50094         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
50095         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
50096         * doc/functions/ceill.texi: Mention the 'ceill' module.
50097         * modules/mathl (Files): Remove lib/ceill.c.
50098         (Depends-on): Add ceill.
50099
50100 2007-10-04  Bruno Haible  <bruno@clisp.org>
50101
50102         * modules/ceilf-tests: New file.
50103         * tests/test-ceilf.c: New file.
50104
50105         * modules/ceilf: New file.
50106         * lib/ceil.c: New file.
50107         * lib/ceilf.c: New file.
50108         * m4/ceilf.m4: New file.
50109         * lib/math.in.h (ceilf): New declaration.
50110         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
50111         HAVE_DECL_CEILF.
50112         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
50113         HAVE_DECL_CEILF.
50114         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
50115
50116 2007-10-04  Bruno Haible  <bruno@clisp.org>
50117
50118         * modules/floorl-tests: New file.
50119         * tests/test-floorl.c: New file.
50120
50121         * modules/floorl: New file.
50122         * lib/floorl.c: Replace entire file.
50123         * m4/floorl.m4: New file.
50124         * lib/math.in.h (floorl): Replace declaration.
50125         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
50126         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
50127         * doc/functions/floorl.texi: Mention the 'floorl' module.
50128         * modules/mathl (Files): Remove lib/floorl.c.
50129         (Depends-on): Add floorl.
50130
50131 2007-10-04  Bruno Haible  <bruno@clisp.org>
50132
50133         * modules/floorf-tests: New file.
50134         * tests/test-floorf.c: New file.
50135
50136         * modules/floorf: New file.
50137         * lib/floor.c: New file.
50138         * lib/floorf.c: New file.
50139         * m4/floorf.m4: New file.
50140         * lib/math.in.h (floorf): New declaration.
50141         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
50142         HAVE_DECL_FLOORF.
50143         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
50144         HAVE_DECL_FLOORF.
50145         * doc/functions/floorf.texi: Mention the 'floorf' module.
50146
50147 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
50148             Bruno Haible  <bruno@clisp.org>
50149
50150         Advertise for the Git server instead of the CVS server.
50151         * doc/gnulib-intro.texi (Steady Development): Mention the Git
50152         repository instead of the CVS one.
50153         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
50154         about all VCS systems generically.
50155         * doc/gnulib.texi (Introduction): Capitalize `Git'.
50156
50157 2007-10-04  Bruno Haible  <bruno@clisp.org>
50158
50159         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
50160         means.
50161         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
50162
50163 2007-10-04  Bruno Haible  <bruno@clisp.org>
50164
50165         * modules/truncl-tests: New file.
50166         * tests/test-truncl.c: New file.
50167
50168         * modules/truncl: New file.
50169         * lib/truncl.c: New file.
50170         * m4/truncl.m4: New file.
50171         * lib/math.in.h (truncl): New declaration.
50172         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
50173         HAVE_DECL_TRUNCL.
50174         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
50175         HAVE_DECL_TRUNCL.
50176         * doc/functions/truncl.texi: Mention the 'truncl' module.
50177
50178 2007-10-04  Bruno Haible  <bruno@clisp.org>
50179
50180         * modules/truncf-tests: New file.
50181         * tests/test-truncf.c: New file.
50182
50183         * modules/truncf: New file.
50184         * lib/trunc.c: Make paramerizable through USE_* macros.
50185         * lib/truncf.c: New file.
50186         * m4/truncf.m4: New file.
50187         * lib/math.in.h (truncf): New declaration.
50188         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
50189         HAVE_DECL_TRUNCF.
50190         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
50191         HAVE_DECL_TRUNCF.
50192         * doc/functions/truncf.texi: Mention the 'truncf' module.
50193
50194 2007-10-03  Bruno Haible  <bruno@clisp.org>
50195
50196         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
50197         augmentation also for tests modules.
50198         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
50199         * modules/atexit-tests (Makefile.am): Likewise.
50200         * modules/binary-io-tests (Makefile.am): Likewise.
50201         * modules/c-strcase-tests (Makefile.am): Likewise.
50202         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
50203         * modules/canonicalize-tests (Makefile.am): Likewise.
50204         * modules/closein-tests (Makefile.am): Likewise.
50205         * modules/fprintf-posix-tests (Makefile.am): Likewise.
50206         * modules/freadahead-tests (Makefile.am): Likewise.
50207         * modules/fseek-tests (Makefile.am): Likewise.
50208         * modules/fseeko-tests (Makefile.am): Likewise.
50209         * modules/ftell-tests (Makefile.am): Likewise.
50210         * modules/ftello-tests (Makefile.am): Likewise.
50211         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
50212         * modules/isnanl-tests (Makefile.am): Likewise.
50213         * modules/lseek-tests (Makefile.am): Likewise.
50214         * modules/mbscasecmp-tests (Makefile.am): Likewise.
50215         * modules/mbscasestr-tests (Makefile.am): Likewise.
50216         * modules/mbschr-tests (Makefile.am): Likewise.
50217         * modules/mbscspn-tests (Makefile.am): Likewise.
50218         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
50219         * modules/mbspbrk-tests (Makefile.am): Likewise.
50220         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
50221         * modules/mbsrchr-tests (Makefile.am): Likewise.
50222         * modules/mbsspn-tests (Makefile.am): Likewise.
50223         * modules/mbsstr-tests (Makefile.am): Likewise.
50224         * modules/printf-posix-tests (Makefile.am): Likewise.
50225         * modules/snprintf-posix-tests (Makefile.am): Likewise.
50226         * modules/sprintf-posix-tests (Makefile.am): Likewise.
50227         * modules/tsearch-tests (Makefile.am): Likewise.
50228         * modules/uniname/uniname-tests (Makefile.am): Likewise.
50229         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
50230         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
50231         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
50232         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
50233         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
50234         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
50235         * modules/vprintf-posix-tests (Makefile.am): Likewise.
50236         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
50237         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
50238         * modules/xstrtoimax-tests (Makefile.am): Likewise.
50239         * modules/xstrtol-tests (Makefile.am): Likewise.
50240         * modules/xstrtoumax-tests (Makefile.am): Likewise.
50241         * modules/yesno-tests (Makefile.am): Likewise.
50242
50243 2007-10-03  Bruno Haible  <bruno@clisp.org>
50244
50245         * modules/trunc-tests: New file.
50246         * tests/test-trunc.c: New file.
50247
50248         * modules/trunc: New file.
50249         * lib/trunc.c: New file.
50250         * m4/trunc.m4: New file.
50251         * lib/math.in.h (trunc): New declaration.
50252         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
50253         HAVE_DECL_TRUNC.
50254         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
50255         HAVE_DECL_TRUNC.
50256         * doc/functions/trunc.texi: Mention the 'trunc' module.
50257
50258 2007-10-03  Bruno Haible  <bruno@clisp.org>
50259
50260         * tests/test-fpending.c: New file, mostly copied
50261         from coreutils/lib/t-fpending.c.
50262         * modules/fpending-tests: New file.
50263
50264 2007-10-03  Bruno Haible  <bruno@clisp.org>
50265
50266         Port the stdio extensions to QNX (untested).
50267         * lib/fseterr.c (fseterr): Add support for QNX.
50268         * lib/fbufmode.c (fbufmode): Likewise.
50269         * lib/freadable.c (freadable): Likewise.
50270         * lib/fwritable.c (fwritable): Likewise.
50271         * lib/freading.c (freading): Likewise.
50272         * lib/fwriting.c (fwriting): Likewise.
50273         * lib/freadahead.c (freadahed): Likewise.
50274         * lib/fpurge.c (fpurge): Likewise.
50275         * lib/fseeko.c (rpl_fseeko): Likewise.
50276
50277 2007-10-03  Bruno Haible  <bruno@clisp.org>
50278             Jim Meyering  <jim@meyering.net>
50279             Eric Blake  <ebb9@byu.net>
50280
50281         * doc/relocatable.texi: Use @command instead of @program.
50282
50283 2007-10-02  Jim Meyering  <jim@meyering.net>
50284
50285         Perform one more "_.h" -> ".in.h" substitution.
50286         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
50287         instead of unistd_.h here, too.
50288
50289 2007-10-01  Bruno Haible  <bruno@clisp.org>
50290
50291         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
50292         Needed for the alloca-opt module.
50293
50294 2007-09-30  Bruno Haible  <bruno@clisp.org>
50295
50296         * lib/alloca.in.h: Renamed from lib/alloca_.h.
50297         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
50298         alloca_.h.
50299         * lib/argz.in.h: Renamed from lib/argz_.h.
50300         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
50301         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
50302         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
50303         byteswap_.h.
50304         * lib/dirent.in.h: Renamed from lib/dirent_.h.
50305         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
50306         dirent_.h.
50307         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
50308         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
50309         fcntl_.h.
50310         * lib/float.in.h: Renamed from lib/float_.h.
50311         * modules/float (Files, Makefile.am): Use float.in.h instead of
50312         float_.h.
50313         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
50314         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
50315         fnmatch_.h.
50316         * lib/getopt.in.h: Renamed from lib/getopt_.h.
50317         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
50318         getopt_.h.
50319         * lib/glob.in.h: Renamed from lib/glob_.h.
50320         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
50321         * lib/iconv.in.h: Renamed from lib/iconv_.h.
50322         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
50323         iconv_.h.
50324         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
50325         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
50326         inttypes_.h.
50327         * lib/locale.in.h: Renamed from lib/locale_.h.
50328         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
50329         locale_.h.
50330         * lib/math.in.h: Renamed from lib/math_.h.
50331         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
50332         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
50333         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
50334         of netinet_in_.h. Add dependency.
50335         * lib/poll.in.h: Renamed from lib/poll_.h.
50336         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
50337         * lib/search.in.h: Renamed from lib/search_.h.
50338         * modules/search (Files, Makefile.am): Use search.in.h instead of
50339         search_.h.
50340         * lib/signal.in.h: Renamed from lib/signal_.h.
50341         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
50342         _signal.h.
50343         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
50344         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
50345         stdbool_.h.
50346         * lib/stdint.in.h: Renamed from lib/stdint_.h.
50347         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
50348         stdint_.h.
50349         * lib/stdio.in.h: Renamed from lib/stdio_.h.
50350         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
50351         stdio_.h.
50352         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
50353         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
50354         stdlib_.h.
50355         * lib/string.in.h: Renamed from lib/string_.h.
50356         * modules/string (Files, Makefile.am): Use string.in.h instead of
50357         string_.h.
50358         * doc/gnulib-tool.texi (Initial import): Update.
50359         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
50360         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
50361         of sys_select_.h. Add dependency.
50362         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
50363         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
50364         of sys_socket_.h.
50365         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
50366         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
50367         sys_stat_.h.
50368         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
50369         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
50370         sys_time_.h.
50371         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
50372         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
50373         sysexits_.h.
50374         * lib/time.in.h: Renamed from lib/time_.h.
50375         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
50376         * lib/unistd.in.h: Renamed from lib/unistd_.h.
50377         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
50378         unistd_.h.
50379         * lib/wchar.in.h: Renamed from lib/wchar_.h.
50380         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
50381         wchar_.h.
50382         * lib/wctype.in.h: Renamed from lib/wctype_.h.
50383         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
50384         wctype_.h.
50385         * build-aux/bootstrap (slurp): Update.
50386         * lib/.cppi-disable: Update.
50387
50388 2007-09-30  Bruno Haible  <bruno@clisp.org>
50389
50390         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
50391         Needed on BeOS.
50392
50393 2007-09-30  Bruno Haible  <bruno@clisp.org>
50394
50395         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
50396
50397 2007-09-29  Bruno Haible  <bruno@clisp.org>
50398
50399         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
50400
50401 2007-09-29  Bruno Haible  <bruno@clisp.org>
50402
50403         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
50404         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
50405         * build-aux/install-reloc: Compile also areadlink.c.
50406         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
50407
50408 2007-09-29  Bruno Haible  <bruno@clisp.org>
50409
50410         * gnulib-tool (func_emit_initmacro_done): Indentation.
50411
50412 2007-09-29  Bruno Haible  <bruno@clisp.org>
50413
50414         * README: Add CVS checkout update instructions.
50415         Info from Bob Proulx <bob@proulx.com>.
50416
50417 2007-09-28  Eric Blake  <ebb9@byu.net>
50418
50419         Provide move-if-change.
50420         * build-aux/move-if-change: New file, based on best practice
50421         rather than any canonical upstream location.
50422
50423 2007-09-28  Jim Meyering  <jim@meyering.net>
50424
50425         Fix canonicalize loop-detection corner case.
50426         Do not attempt to stat the symlink values stored via seen_triple.
50427         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
50428         on linux-2.6.18, (but not 2.6.22).
50429         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
50430         triple_compare.  The former compares dev,ino,filename, while the latter
50431         would actually stat dirname(filename) when dev and ino were equal.
50432         * lib/hash-triple.c: Install <string.h>.
50433         (STREQ): Define.
50434         (triple_compare_ino_str): New function.
50435         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
50436
50437 2007-09-28  Eric Blake  <ebb9@byu.net>
50438
50439         Enforce that AC_REPLACE_FUNCS files exist.
50440         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
50441         override check for typos.
50442
50443         Fix test-closein on Solaris 10.
50444         * tests/test-closein.c (main): Don't assume stdin can be inherited
50445         closed on all systems.
50446         * tests/test-closein.sh: Likewise.
50447         Reported by Piotr Tarnowski.
50448
50449 2007-09-28  Jim Meyering  <jim@meyering.net>
50450
50451         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
50452
50453 2007-09-27  Jim Meyering  <jim@meyering.net>
50454
50455         canonicalize: Avoid a false-positive cycle failure.
50456         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
50457         Sort.  Remove cycle-check.
50458         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
50459         not cycle-check.h.
50460         (seen_triple): New function.
50461         (canonicalize_filename_mode): Use it instead of cycle-check.
50462         * tests/test-canonicalize.c: Add a test for this bug.
50463         * tests/test-canonicalize.sh: Set up and run the test.
50464
50465         New module, file-set, from coreutils.
50466         * modules/file-set: Define it.
50467         * lib/file-set.c, lib/file-set.h: Implement.
50468
50469         New module, hash-triple, from coreutils.
50470         * modules/hash-triple: Define it.
50471         * lib/hash-triple.c, lib/hash-triple.h: Implement.
50472
50473 2007-09-25  Eric Blake  <ebb9@byu.net>
50474
50475         Fix strerror on Interix.
50476         * lib/string_.h (strerror): Declare replacement.
50477         * doc/functions/strerror.texi (strerror): Document the Interix
50478         shortcoming.
50479         * modules/string (Makefile.am): Support new hooks.
50480         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
50481         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
50482         gl_FUNC_STRERROR_SEPARATE.
50483         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
50484         * lib/strerror.c (rpl_strerror): Provide replacement.
50485         * modules/strerror (Depends-on): Add string.
50486         (configure.ac): Detect use of module.
50487         * tests/test-strerror.c: New file.
50488         * modules/strerror-tests: New test module.
50489         * modules/argp (Depends-on): Add strerror.
50490         * modules/error (Depends-on): Likewise.
50491         Reported by Martin Koeppe.
50492
50493 2007-09-24  Bruno Haible  <bruno@clisp.org>
50494
50495         * README: Update git instructions.
50496
50497 2007-09-24  Eric Blake  <ebb9@byu.net>
50498
50499         Revert fpending breakage from 2007-09-08.
50500         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
50501         __fpending.c.
50502
50503 2007-09-24  Jim Meyering  <jim@meyering.net>
50504
50505         filenamecat.c: Add a test.
50506         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
50507         showing how the function works when DIR is the empty string.
50508
50509 2007-09-21  Simon Josefsson  <simon@josefsson.org>
50510
50511         * tests/test-canonicalize.sh: Turn on executable bit.
50512
50513 2007-09-19  Eric Blake  <ebb9@byu.net>
50514
50515         * README: Update CVS instructions.
50516
50517 2007-09-18  Bruno Haible  <bruno@clisp.org>
50518
50519         * modules/areadlink: New file.
50520         * lib/areadlink.h (areadlink): New declaration.
50521         * lib/areadlink.c: New file, based on lib/xreadlink.c.
50522
50523 2007-09-17  Jim Meyering  <jim@meyering.net>
50524
50525         * lib/savewd.c (ESTALE) [!defined]: Define.
50526         Reported to be required on Interix by Martin Koeppe.
50527
50528 2007-09-17  Bruno Haible  <bruno@clisp.org>
50529
50530         * gnulib-tool (func_version): Use $version.
50531
50532 2007-09-16  Bruno Haible  <bruno@clisp.org>
50533
50534         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
50535         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
50536         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
50537         Reported by Greg Schafer <gschafer@zip.com.au>.
50538
50539 2007-09-15  Bruno Haible  <bruno@clisp.org>
50540
50541         * gnulib-tool (sed): Try a little harder to make bash understand the
50542         alias.
50543         Reported by Bruce Korb <bruce.korb@gmail.com>.
50544
50545 2007-09-13  Eric Blake  <ebb9@byu.net>
50546
50547         * ChangeLog: Remove conflict markers.
50548
50549 2007-09-13  Simon Josefsson  <simon@josefsson.org>
50550
50551         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
50552         Reported by Bruno Haible <bruno@clisp.org>.
50553
50554 2007-09-12  Bruno Haible  <bruno@clisp.org>
50555
50556         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
50557         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
50558         is not defined.
50559
50560 2007-09-12  Eric Blake  <ebb9@byu.net>
50561
50562         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
50563         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
50564         Autoconf definition.
50565         * modules/euidaccess (Depends-on): Add extensions, for
50566         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
50567         * modules/fnmatch (Depends-on): Likewise.
50568         * modules/getaddrinfo (Depends-on): Likewise.
50569         * modules/getdelim (Depends-on): Likewise.
50570         * modules/getline (Depends-on): Likewise.
50571         * modules/getsubopt (Depends-on): Likewise.
50572         * modules/gettext (Depends-on): Likewise.
50573         * modules/group-member (Depends-on): Likewise.
50574         * modules/mbchar (Depends-on): Likewise.
50575         * modules/memmem (Depends-on): Likewise.
50576         * modules/mempcpy (Depends-on): Likewise.
50577         * modules/memrchr (Depends-on): Likewise.
50578         * modules/pagealign_alloc (Depends-on): Likewise.
50579         * modules/readutmp (Depends-on): Likewise.
50580         * modules/stpcpy (Depends-on): Likewise.
50581         * modules/stpncpy (Depends-on): Likewise.
50582         * modules/strchrnul (Depends-on): Likewise.
50583         * modules/strndup (Depends-on): Likewise.
50584         * modules/strsep (Depends-on): Likewise.
50585         * modules/strverscmp (Depends-on): Likewise.
50586         * modules/vasprintf (Depends-on): Likewise.
50587         * modules/wcwidth (Depends-on): Likewise.
50588         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
50589         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
50590         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
50591         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
50592         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
50593         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
50594         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
50595         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
50596         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
50597         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
50598         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
50599         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
50600         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
50601         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
50602         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
50603         * m4/readutmp.m4 (gl_READUTMP): Likewise.
50604         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
50605         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
50606         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
50607         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
50608         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
50609         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
50610         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
50611         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
50612         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
50613         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
50614         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
50615         so that lock.m4 can be used in gettext without extensions module.
50616
50617 2007-09-11  Bruno Haible  <bruno@clisp.org>
50618
50619         * m4/isc-posix.m4: Remove file.
50620         Suggested by Eric Blake.
50621
50622 2007-09-11  Eric Blake  <ebb9@byu.net>
50623
50624         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
50625
50626 2007-09-10  Bruno Haible  <bruno@clisp.org>
50627
50628         * posix-modules: Fix typo in error message.
50629         Reported by Matt <mkraai@beckman.com>.
50630
50631 2007-09-09  Bruno Haible  <bruno@clisp.org>
50632
50633         * doc/functions/getdelim.texi: Update list of platforms lacking the
50634         function.
50635         * doc/functions/getline.texi: Likewise.
50636
50637 2007-09-09  Jim Meyering  <jim@meyering.net>
50638
50639         * lib/hash.c (hash_initialize): Detect calloc failure.
50640         Reported by Bruno Haible.
50641
50642 2007-09-09  Bruno Haible  <bruno@clisp.org>
50643
50644         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
50645         malloc or realloc fails.
50646
50647 2007-09-09  Bruno Haible  <bruno@clisp.org>
50648
50649         * modules/getcwd (Depends-on): Add malloc-posix.
50650         * modules/glob (Depends-on): Likewise.
50651         * modules/putenv (Depends-on): Likewise.
50652         * modules/strdup (Depends-on): Likewise.
50653         * modules/getdelim (Depends-on): Add realloc-posix.
50654         * modules/read-file (Depends-on): Likewise.
50655
50656 2007-09-09  Bruno Haible  <bruno@clisp.org>
50657
50658         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
50659         (gl_FUNC_MALLOC_POSIX): Require it.
50660         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
50661         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
50662         * modules/realloc (Files): Add m4/malloc.m4.
50663         * modules/calloc (Files): Likewise.
50664
50665 2007-09-09  Bruno Haible  <bruno@clisp.org>
50666
50667         * modules/malloc-posix: New file.
50668         * modules/malloc (Depends-on): Add malloc-posix.
50669         * lib/malloc.c: Include errno.h.
50670         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
50671         and a POSIX-compatible malloc into a single function. Set ENOMEM
50672         when returning NULL.
50673         * m4/malloc.m4: New file.
50674         * doc/functions/malloc.texi: Mention the malloc-posix module.
50675         * lib/stdlib_.h (malloc): New declaration.
50676         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
50677         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
50678         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
50679         and HAVE_MALLOC_POSIX.
50680
50681 2007-09-09  Bruno Haible  <bruno@clisp.org>
50682
50683         * modules/realloc-posix: New file.
50684         * modules/realloc (Depends-on): Add realloc-posix.
50685         * lib/realloc.c: Include errno.h.
50686         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
50687         and a POSIX-compatible realloc into a single function. Set ENOMEM
50688         when returning NULL.
50689         * m4/realloc.m4: New file.
50690         * doc/functions/realloc.texi: Mention the realloc-posix module.
50691         * lib/stdlib_.h (realloc): New declaration.
50692         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
50693         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
50694         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
50695         and HAVE_REALLOC_POSIX.
50696
50697 2007-09-09  Bruno Haible  <bruno@clisp.org>
50698
50699         * modules/calloc-posix: New file.
50700         * modules/calloc (Depends-on): Add calloc-posix.
50701         * lib/calloc.c: Include errno.h.
50702         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
50703         and a POSIX-compatible calloc into a single function. Set ENOMEM
50704         when returning NULL.
50705         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
50706         * doc/functions/calloc.texi: Mention the calloc-posix module.
50707         * lib/stdlib_.h (calloc): New declaration.
50708         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
50709         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
50710         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
50711         and HAVE_CALLOC_POSIX.
50712
50713 2007-09-09  Bruno Haible  <bruno@clisp.org>
50714
50715         Allow for modules to show an arbitrary notice.
50716         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
50717         * gnulib-tool: New option --extract-notice.
50718         (func_usage): Document it.
50719         (sed_extract_prog): Update.
50720         (func_get_notice): New function.
50721         (func_modules_notice): New function.
50722         (func_import, func_create_testdir): Invoke it.
50723         Suggested by Jim Meyering.
50724
50725 2007-09-09  Bruno Haible  <bruno@clisp.org>
50726
50727         * gnulib-tool: New options --verbose, --quiet.
50728         (func_usage): Document them.
50729         (verbose): New variable.
50730         (func_execute_command): New function.
50731         (func_import): Don't show the module list and the file list if
50732         $verbose < 0.
50733         (func_create_testdir): Likewise. Use func_execute_command.
50734         (func_create_megatestdir): Use func_execute_command.
50735
50736 2007-09-08  Bruno Haible  <bruno@clisp.org>
50737
50738         * gnulib-tool (func_import): Prefer rsync over wget when available,
50739         for fetching the PO files.
50740
50741 2007-09-08  Bruno Haible  <bruno@clisp.org>
50742
50743         * posix-modules: New file. Portions copied from gnulib-tool.
50744         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
50745
50746 2007-09-08  Jim Meyering  <jim@meyering.net>
50747
50748         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
50749         * lib/fpending.h: Rename from __fpending.h.
50750         * lib/fpending.c: Rename from __fpending.c.
50751         Include "fpending.h", not "__fpending.h".
50752         * lib/__fpending.h, lib/__fpending.c: Remove files.
50753         * modules/fpending (Files): Reflect new file names.
50754         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
50755
50756 2007-09-08  Bruno Haible  <bruno@clisp.org>
50757
50758         * m4/inttypes-h.m4: Remove stub file.
50759
50760 2007-09-07  Simon Josefsson  <simon@josefsson.org>
50761
50762         * doc/headers/stdint.texi: Discuss #include_next issue.
50763
50764 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
50765
50766         * build-aux/bootstrap: Remove obsolete comment about wget --help.
50767
50768 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50769
50770         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
50771         in variable name.
50772
50773 2007-09-03  Jim Meyering  <jim@meyering.net>
50774
50775         New module: git-version-gen.
50776         * modules/git-version-gen: New file.
50777
50778         Import changes from coreutils for bootstrap script.
50779
50780         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
50781
50782         bootstrap: uses rsync to download the .po files
50783         * build-aux/bootstrap (po_download_command_format): New global.
50784         (download_po_files): Use rsync.
50785         (update_po_files): Don't remove .po files after download,
50786         so future rsync runs can take advantage of the copies.
50787
50788         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
50789
50790         Solve the unnecessary-.po-file-regeneration problem once and for all.
50791         * build-aux/bootstrap (download_po_files): New function, renamed from
50792         get_translations.  Now, downloads, but doesn't update LINGUAS.
50793         (update_po_files): New function.
50794
50795         bootstrap: Ignore more.
50796         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
50797         uniwidth to e.g., lib/.gitignore.
50798         (slurp): Handle the sys_stat_.h -> sys mapping, too.
50799
50800         * build-aux/bootstrap: New setting: vc_ignore.
50801         (insert_sorted_if_absent): Create $file if absent.
50802         Adapt to new, possibly empty, list: $vc_ignore.
50803
50804         bootstrap: generate more ignorable names
50805         * build-aux/bootstrap (slurp): When generating ignorable names,
50806         also map .sin to .sed, .gperf to .c, and .y to .c.
50807
50808 2007-09-03  Jim Meyering  <jim@meyering.net>
50809
50810         * build-aux/git-version-gen: New file, from coreutils.  For details, see
50811         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
50812
50813 2007-09-02  Bruno Haible  <bruno@clisp.org>
50814
50815         Fix mis-recognition of 'mcs' on QNX 6.
50816         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
50817         output contains the string "Mono".
50818         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
50819         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
50820
50821 2007-09-01  Bruno Haible  <bruno@clisp.org>
50822
50823         Fix collision between uniwidth/* and linebreak modules.
50824         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
50825         u32_width): Remove declarations.
50826         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
50827         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
50828         streq3, streq2, streq1, streq0): Remove functions.
50829         (STREQ): Remove macro.
50830         (is_cjk_encoding): Remove function.
50831         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
50832         (uc_width, u8_width, u16_width, u32_width): Remove functions.
50833         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
50834         * NEWS: Document the change.
50835
50836 2007-09-01  Bruno Haible  <bruno@clisp.org>
50837
50838         * lib/streq.h: Add double-inclusion guard.
50839
50840 2007-09-01  Karl Berry  <karl@gnu.org>
50841
50842         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
50843
50844 2007-08-28  Jim Meyering  <jim@meyering.net>
50845
50846         Rename mreadlink_with_size to areadlink_with_size.
50847         * NEWS: Document the change.
50848         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
50849         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
50850         * lib/mreadlink.h: Rename this to...
50851         * lib/areadlink.h: ...this.
50852         * modules/mreadlink-with-size: Rename this to...
50853         * modules/areadlink-with-size: ...this.
50854         * lib/canonicalize.c: Reflect the renaming.
50855         * modules/canonicalize: Likewise.
50856
50857 2007-08-26  Bruno Haible  <bruno@clisp.org>
50858
50859         * gnulib-tool (func_import): When deciding which files to remove,
50860         consider also dangling symbolic links.
50861         Reported by Eric Blake.
50862
50863 2007-08-26  Bruno Haible  <bruno@clisp.org>
50864
50865         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
50866
50867 2007-08-23  Simon Josefsson  <simon@josefsson.org>
50868
50869         * lib/readline.c: Don't include getline.h, the prototype is now
50870         found in stdio.h.
50871
50872 2007-08-23  Jim Meyering  <jim@meyering.net>
50873
50874         Getdelim touchup.
50875         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
50876         around the funlockfile call, since funlockfile never sets errno.
50877         Don't set errno upon failed realloc.
50878
50879 2007-08-22  Eric Blake  <ebb9@byu.net>
50880
50881         Getline touchups.
50882         * lib/getdelim.c (getdelim): Revert regression that required *n to
50883         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
50884         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
50885         getdelim, rather than whether implementation is missing.
50886         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
50887         * lib/stdio_.h (getline): Also declare if replacement is
50888         required.
50889         * doc/functions/getdelim.texi: New file.
50890         * doc/functions/getline.texi: Likewise.
50891         * doc/gnulib.texi (Function Substitutes): Add new files.
50892         Reported by Bruno Haible.
50893
50894 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
50895
50896         * users.txt: Add Guile.
50897
50898 2007-08-22  Eric Blake  <ebb9@byu.net>
50899
50900         * tests/test-getdelim.c (main): Use remove, not unlink.
50901         * tests/test-getline.c (main): Likewise.
50902
50903         Move getline and getdelim into stdio.h, per POSIX 200x.
50904         * modules/getline (Files): Remove getline.h.
50905         (Depends-on): Add stdio.
50906         (configure.ac): Add module indicator.
50907         * modules/getdelim (Files): Remove getdelim.h.
50908         (Depends-on): Add stdio.
50909         (configure.ac): Add module indicator.
50910         * modules/stdio (Makefile.am): Work with new indicators.
50911         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
50912         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
50913         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
50914         * lib/getdelim.h: Delete.
50915         * lib/getline.h: Delete.
50916         * lib/stdio_.h (getdelim, getline): Declare.
50917         * modules/getdelim-tests: New module.
50918         * modules/getline-tests: Likewise.
50919         * tests/test-getdelim.c: New file.
50920         * tests/test-getline.c: Likewise.
50921         * NEWS: Document the change.
50922         * lib/getline.c: Update choice of header.
50923         * lib/csharpcomp.c: Likewise.
50924         * lib/getpass.c: Likewise.
50925         * lib/javacomp.c: Likewise.
50926         * lib/javaversion.c: Likewise.
50927         * lib/yesno.c: Likewise.
50928         * lib/getdelim.c: Likewise.
50929         (getdelim): Set errno on failure, and avoid memory leak.
50930
50931 2007-08-19  Bruno Haible  <bruno@clisp.org>
50932
50933         * modules/closein (Depends-on): Add freadahead.
50934         * lib/closein.c: Include freadahead.h.
50935         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
50936         is zero.
50937
50938 2007-08-19  Bruno Haible  <bruno@clisp.org>
50939
50940         * modules/freadahead-tests: New file.
50941         * tests/test-freadahead.sh: New file.
50942         * tests/test-freadahead.c: New file.
50943
50944         * modules/freadahead: New file.
50945         * lib/freadahead.h: New file.
50946         * lib/freadahead.c: New file.
50947         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
50948         fbufmode, fpurge, freadable, fwritable.
50949
50950 2007-08-19  Eric Blake  <ebb9@byu.net>
50951
50952         Test yesno in combination with closein.
50953         * lib/yesno.c (yesno): Document use of stdin.
50954         * modules/yesno-tests (Files): New module.
50955         * tests/test-yesno.c (main): New file.
50956         * tests/test-yesno.sh: Likewise.
50957
50958 2007-08-19  Bruno Haible  <bruno@clisp.org>
50959
50960         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
50961         * lib/fseeko.c (rpl_fseeko): Likewise.
50962         * lib/fseterr.c (fseterr): Likewise.
50963
50964 2007-08-19  Bruno Haible  <bruno@clisp.org>
50965
50966         * tests/test-lseek.c (main): Disable a test for BeOS.
50967         * doc/functions/lseek.texi: Document the BeOS bug.
50968
50969 2007-08-19  Bruno Haible  <bruno@clisp.org>
50970             Eric Blake  <ebb9@byu.net>
50971
50972         * lib/lseek.c: Include <sys/stat.h>.
50973         (rpl_lseek): Add workaround code also for Unix platforms.
50974         Needed for BeOS.
50975         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
50976         * doc/functions/lseek.texi: Document BeOS definiency.
50977
50978 2007-08-18  Bruno Haible  <bruno@clisp.org>
50979
50980         * modules/fstrcmp-tests: New file.
50981         * tests/test-fstrcmp.c: New file.
50982
50983 2007-08-18  Bruno Haible  <bruno@clisp.org>
50984
50985         * modules/fstrcmp: New file, from GNU gettext with modifications.
50986         * lib/fstrcmp.h: New file, from GNU gettext.
50987         * lib/fstrcmp.c: New file, from GNU gettext.
50988         * MODULES.html.sh (String handling): Add fstrcmp.
50989
50990 2007-08-18  Bruno Haible  <bruno@clisp.org>
50991
50992         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
50993         'bool'.
50994         (diag, compareseq): Remove const from the ctxt argument.
50995         (USE_HEURISTIC): Undefine at the end.
50996
50997 2007-08-18  Jim Meyering  <jim@meyering.net>
50998
50999         New file: lib/idcache.h
51000         * NEWS: Mention the addition.
51001         * modules/idcache (Files): Add lib/idcache.h
51002         * lib/idcache.c: Include "idcache.h".
51003         Don't include <sys/types.h>.
51004         Add a FIXME comment.
51005         Move file-scoped "static" declarations to the top.
51006         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
51007
51008 2007-08-17  Bruno Haible  <bruno@clisp.org>
51009         and Paul Eggert  <eggert@cs.ucla.edu>
51010
51011         * MODULES.html.sh: Add diffseq.
51012         * modules/diffseq: New file.
51013         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
51014         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
51015
51016 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
51017
51018         Import changes from coreutils for bootstrap script.
51019
51020         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
51021
51022         * build-aux/bootstrap (slurp): Work even in environments where
51023         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
51024         current code does not slurp files whose names start with ".", and
51025         this looks like it might be a troublesome area.
51026
51027         2007-07-11  Jim Meyering  <jim@meyering.net>
51028
51029         If there's a GPL vN copyright comment, require that N == 3.
51030
51031         2007-07-08  Jim Meyering  <jim@meyering.net>
51032
51033         Run the coreutils-specific code only if tests/Makefile.am.in exists.
51034         * build-aux/bootstrap (mam_template): Move definition out of loop.
51035
51036         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
51037
51038         * build-aux/bootstrap (symlink_to_dir): Rename function from
51039         symlink_to_gnulib.  Add a directory parameter.  Update all
51040         callers.
51041         (cp_mark_as_generated): Also check for -- and link to -- files in
51042         gl/.
51043
51044         2007-07-08  Jim Meyering  <jim@meyering.net>
51045
51046         Adapt to deeper hierarchy in gnulib.
51047         * build-aux/bootstrap (symlink_to_dir): If the destination
51048         directory doesn't exist, create it. This is required at least for
51049         "lib/uniwidth/cjk.h".
51050
51051         2007-05-15  Jim Meyering  <jim@meyering.net>
51052
51053         * build-aux/bootstrap: Now that generated Makefile.am files
51054         are no longer under version control, they must be created at
51055         bootstrap time.
51056
51057 2007-08-14  Ben Pfaff  <blp@gnu.org>
51058
51059         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
51060
51061 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
51062
51063         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
51064         given the changes below.
51065         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
51066         even on hosts that have padding bits beyond the supported 64.
51067
51068 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
51069
51070         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
51071         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
51072         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
51073         depends on it.
51074         (xstrtol_error): Remove.
51075         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
51076         but with a different signature.
51077         (ATTRIBUTE_NORETURN, __attribute__): New macros.
51078         * lib/xstrtol-error.c: Include exitfail.h.
51079         (xstrtol_fatal): New function, with a different signature from the
51080         old xstrtol_error, so that the caller need not worry about passing
51081         in an exit status, or about storage management of the option argument.
51082         (xstrtol_error): Now a static function.  Redo signature to
51083         implement xstrtol_fatal.  Output the correct number of hyphens in
51084         front of the option so that the caller need not worry about
51085         storage management.
51086         (N_): New macro.
51087         (_): Remove; not used now.
51088         * modules/xstrtol: Depend on getopt.
51089         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
51090         of old STRTOL_FATAL_ERROR macro.
51091         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
51092         of test program.
51093         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
51094         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
51095
51096 2007-08-08  Eric Blake  <ebb9@byu.net>
51097
51098         * lib/xstrtol-error.c: Add missing include.
51099
51100         Move xstrtol messages into gnulib domain, when --pobase is used.
51101         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
51102         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
51103         * modules/xstrtol (Files): Distribute new file.
51104         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
51105         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
51106         * tests/test-xstrtol.c: ...into new file.
51107         * tests/test-xstrtoul.c: Also test xstrtoul.
51108         * tests/test-xstrtoimax.c: Also test xstrtoimax.
51109         * tests/test-xstrtoumax.c: Also test xstrtoumax.
51110         * tests/test-xstrtol.sh: Drive the tests.
51111         * tests/test-xstrtoimax.sh: Likewise.
51112         * tests/test-xstrtoumax.sh: Likewise.
51113         * modules/xstrtol-tests: New module.
51114         * modules/xstrtoimax-tests: Likewise.
51115         * modules/xstrtoumax-tests: Likewise.
51116
51117 2007-08-08  Jim Meyering  <jim@meyering.net>
51118
51119         New function: mfile_name_concat.
51120         * lib/filenamecat.c (mfile_name_concat): New function, just like
51121         file_name_concat, but return NULL upon failure rather than exiting
51122         with a diagnostic.
51123         * lib/filenamecat.h: Declare it.
51124
51125 2007-08-07  Bruno Haible  <bruno@clisp.org>
51126
51127         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
51128         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
51129         warning from gcc.
51130         Reported by Eric Blake.
51131
51132 2007-08-07  Simon Josefsson  <simon@josefsson.org>
51133
51134         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
51135         * modules/crypto/arcfour (License): Likewise.
51136         * modules/crypto/des-tests (License): Likewise.
51137         * modules/crypto/gc-arctwo-tests (License): Likewise.
51138         * modules/crypto/gc-des-tests (License): Likewise.
51139         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
51140         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
51141         * modules/crypto/gc-md2-tests (License): Likewise.
51142         * modules/crypto/gc-md4-tests (License): Likewise.
51143         * modules/crypto/gc-md5-tests (License): Likewise.
51144         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
51145         * modules/crypto/gc-rijndael-tests (License): Likewise.
51146         * modules/crypto/gc-sha1-tests (License): Likewise.
51147         * modules/crypto/gc-tests (License): Likewise.
51148         * modules/crypto/hmac-md5 (License): Likewise.
51149         * modules/crypto/hmac-sha1 (License): Likewise.
51150         * modules/crypto/md2-tests (License): Likewise.
51151         * modules/crypto/md4-tests (License): Likewise.
51152         * modules/crypto/md5 (License): Likewise.
51153         * modules/crypto/rijndael (License): Likewise.
51154         * modules/crypto/sha1 (License): Likewise.
51155         * modules/memxor (License): Likewise.
51156
51157 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
51158         and Bruno Haible  <bruno@clisp.org>
51159
51160         * NEWS: Describe interface changes to human, xstrtol.
51161         * lib/human.h: Include <xstrtol.h>.
51162         (human_options): Return enum strtol_error, not int.  Remove
51163         bool arg; take int * instead.
51164         * lib/human.c: Don't include "gettext.h".
51165         (_): Remove; no longer used.
51166         Don't include <xstrtol.h>, since human.h does it.
51167         (human_options): Adjust to abovementioned interface changes.
51168         Do not report error to stderr; that's now the caller's
51169         responsibility.
51170         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
51171         interface change.
51172         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
51173         Str, Argument_type_string.  All uses changed.  Put " argument"
51174         in diagnostics to make them clearer.  Change wording of suffix
51175         message for clarity.
51176         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
51177         Argument_type_string.
51178         (STRTOL_FATAL_WARN): Remove; no longer used.
51179         * modules/human (Depends-on): Remove gettext-h.
51180
51181 2007-08-06  Simon Josefsson  <simon@josefsson.org>
51182
51183         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
51184
51185 2007-07-31  Bruno Haible  <bruno@clisp.org>
51186
51187         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
51188         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
51189         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
51190
51191 2007-07-31  Bruno Haible  <bruno@clisp.org>
51192
51193         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
51194         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
51195
51196 2007-07-30  Bruno Haible  <bruno@clisp.org>
51197
51198         * modules/base64 (License): Use the synonymous term "LGPLv2+".
51199         * modules/c-ctype (License): Likewise.
51200         * modules/c-strcase (License): Likewise.
51201         * modules/check-version (License): Likewise.
51202         * modules/iconv (License): Likewise.
51203         * modules/iconv_open (License): Likewise.
51204         * modules/read-file (License): Likewise.
51205         * modules/striconv (License): Likewise.
51206         * modules/strverscmp (License): Likewise.
51207         * modules/vasprintf (License): Likewise.
51208         * modules/crypto/des (License): Likewise.
51209         * modules/crypto/gc (License): Likewise.
51210         * modules/crypto/gc-arcfour (License): Likewise.
51211         * modules/crypto/gc-arctwo (License): Likewise.
51212         * modules/crypto/gc-des (License): Likewise.
51213         * modules/crypto/gc-hmac-md5 (License): Likewise.
51214         * modules/crypto/gc-hmac-sha1 (License): Likewise.
51215         * modules/crypto/gc-md2 (License): Likewise.
51216         * modules/crypto/gc-md4 (License): Likewise.
51217         * modules/crypto/gc-md5 (License): Likewise.
51218         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
51219         * modules/crypto/gc-random (License): Likewise.
51220         * modules/crypto/gc-rijndael (License): Likewise.
51221         * modules/crypto/gc-sha1 (License): Likewise.
51222         * modules/crypto/md2 (License): Likewise.
51223         * modules/crypto/md4 (License): Likewise.
51224
51225 2007-07-30  Jim Meyering  <jim@meyering.net>
51226
51227         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
51228         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
51229         it has valid stat data.  This bug would cause du not to count the
51230         sizes of inaccessible directories.
51231         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
51232         in <http://bugzilla.redhat.com/250077>.
51233
51234 2007-07-25  Peter O'Gorman  <peter@pogma.com>
51235             Bruno Haible  <bruno@clisp.org>
51236
51237         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
51238         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
51239         #include_next, gives a diagnostic about it, but reports no error in
51240         the exit code.
51241         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
51242
51243 2007-07-24  Ben Pfaff  <blp@gnu.org>
51244
51245         Improve name: "count-one-bits" is better than "popcount".
51246         * MODULES.html.sh: Update name.
51247         * lib/popcount.h: Renamed lib/count-one-bits.h.
51248         (popcount): Renamed count_one_bits.
51249         (popcountl): Renamed count_one_bits_l.
51250         (popcountll): Renamed count_one_bits_ll.
51251         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
51252         * modules/popcount: Renamed module/count-one-bits.
51253         * modules/popcount-tests: Renamed module/count-one-bits-tests.
51254         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
51255
51256 2007-07-23  Ben Pfaff  <blp@gnu.org>
51257
51258         * lib/popcount.h (popcount32): Reduce size of constants, to allow
51259         better code generation, and add U to large constants to avoid
51260         warnings, in non-GCC case.
51261         Suggested by Bruno Haible.
51262
51263 2007-07-23  Ben Pfaff  <blp@gnu.org>
51264
51265         * lib/popcount.h: Use verify_true instead of if...abort.
51266         * modules/popcount: Depend on verify module.
51267         Suggested by Jim Meyering.
51268
51269 2007-07-23  Bruno Haible  <bruno@clisp.org>
51270
51271         * gnulib-tool (func_import): Create a .cvsignore file also when the
51272         directory is not yet in CVS but the toplevel directory is. When
51273         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
51274         Reported by Karl Berry.
51275
51276 2007-07-22  Ben Pfaff  <blp@gnu.org>
51277
51278         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
51279         case.
51280         Suggested by Eric Blake.
51281
51282 2007-07-22  Ben Pfaff  <blp@gnu.org>
51283
51284         New module: popcount.
51285         * MODULES.html.sh: Add popcount.
51286         * modules/popcount: New file.
51287         * modules/popcount-tests: New file.
51288         * tests/test-popcount.c: New file.
51289         * lib/popcount.h: New file.
51290         * m4/popcount.m4: New file.
51291
51292 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
51293
51294         * build-aux/announce-gen: Update to GPLv3.
51295
51296         * build-aux/config.guess: Update from config.
51297
51298 2007-07-21  Bruno Haible  <bruno@clisp.org>
51299
51300         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
51301         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
51302
51303 2007-07-20  Jim Meyering  <jim@meyering.net>
51304
51305         * check-module: Diagnose a self-dependency.
51306
51307 2007-07-19  Bruno Haible  <bruno@clisp.org>
51308
51309         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
51310         empty.
51311         Reported by Eric Blake.
51312
51313 2007-07-18  Bruno Haible  <bruno@clisp.org>
51314
51315         * gnulib-tool: New options --po-base, --po-domain.
51316         (func_usage): Document them.
51317         (pobase, po_domain): New variables.
51318         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
51319         DEFAULT_TEXT_DOMAIN.
51320         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
51321         (func_import): Consider pobase and po_domain. Create a po/ directory.
51322         (func_create_testdir): Set pobase and po_domain to empty.
51323         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
51324         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
51325
51326 2007-07-18  Bruno Haible  <bruno@clisp.org>
51327
51328         * gnulib-tool (func_get_automake_snippet): Synthesize also an
51329         EXTRA_DIST augmentation for files in build-aux/.
51330
51331 2007-07-16  Bruno Haible  <bruno@clisp.org>
51332
51333         * modules/lseek (License): Use the synonymous term "LGPLv2+".
51334         * modules/getdelim (License): Likewise.
51335
51336 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51337
51338         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
51339         * modules/d-type (License): Likewise.
51340         * modules/extensions (License): Likewise.
51341         * modules/fnmatch (License): Likewise.
51342         * modules/fseeko (License): Likewise.
51343         * modules/getaddrinfo (License): Likewise.
51344         * modules/getline (License): Likewise.
51345         * modules/getlogin_r (License): Likewise.
51346         * modules/getpass (License): Likewise.
51347         * modules/gettimeofday (License): Likewise.
51348         * modules/glob (License): Likewise.
51349         * modules/inet_ntop (License): Likewise.
51350         * modules/malloc (License): Likewise.
51351         * modules/malloca (License): Likewise.
51352         * modules/memmem (License): Likewise.
51353         * modules/mempcpy (License): Likewise.
51354         * modules/memset (License): Likewise.
51355         * modules/minmax (License): Likewise.
51356         * modules/mktime (License): Likewise.
51357         * modules/netinet_in (License): Likewise.
51358         * modules/pathmax (License): Likewise.
51359         * modules/poll (License): Likewise.
51360         * modules/regex (License): Likewise.
51361         * modules/snprintf (License): Likewise.
51362         * modules/stdbool (License): Likewise.
51363         * modules/stdint (License): Likewise.
51364         * modules/stdio (License): Likewise.
51365         * modules/strcase (License): Likewise.
51366         * modules/strcasestr (License): Likewise.
51367         * modules/strdup (License): Likewise.
51368         * modules/string (License): Likewise.
51369         * modules/strndup (License): Likewise.
51370         * modules/strnlen (License): Likewise.
51371         * modules/strpbrk (License): Likewise.
51372         * modules/strptime (License): Likewise.
51373         * modules/strsep (License): Likewise.
51374         * modules/sys_select (License): Likewise.
51375         * modules/sys_socket (License): Likewise.
51376         * modules/sys_stat (License): Likewise.
51377         * modules/sys_time (License): Likewise.
51378         * modules/time (License): Likewise.
51379         * modules/time_r (License): Likewise.
51380         * modules/timegm (License): Likewise.
51381         * modules/unistd (License): Likewise.
51382         * modules/vsnprintf (License): Likewise.
51383         * modules/wctype (License): Likewise.
51384
51385 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51386
51387         * modules/argz (License): LGPLv2+.
51388
51389 2007-07-15  Karl Berry  <karl@gnu.org>
51390
51391         * doc/gnulib.texi: revise node structure per new fdl.texi.
51392
51393 2007-07-14  Bruno Haible  <bruno@clisp.org>
51394
51395         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
51396         the output file.
51397         * lib/uniname/uninames.h: Regenerated.
51398
51399 2007-07-14  Karl Berry  <karl@gnu.org>
51400
51401         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
51402         omitting sectioning and index commands.
51403
51404 2007-07-13  Bruno Haible  <bruno@clisp.org>
51405
51406         New gnulib-tool option --more-symlinks.
51407         * gnulib-tool (func_usage): Document --more-symlinks.
51408         (do_copyrights): New variable.
51409         Recognize option --more-symlinks.
51410         (func_import): Don't add a copyright notice transform to
51411         sed_transform_lib_file if do_copyrights is empty.
51412
51413 2007-07-13  Bruno Haible  <bruno@clisp.org>
51414
51415         * lib/vasnprintf.c (decimal_point_char): Define also if
51416         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
51417         && !NEED_PRINTF_DIRECTIVE_A.
51418         Reported by Clemens Koller <clemens.koller@anagramm.de> via
51419         Gary V. Vaughan <gary@gnu.org>.
51420
51421 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
51422
51423         * lib/inttypes_.h: Undo previous change, since it was fixed
51424         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
51425
51426 2007-07-13  Bruno Haible  <bruno@clisp.org>
51427
51428         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
51429         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
51430
51431 2007-07-13  Jim Meyering  <jim@meyering.net>
51432
51433         df: Don't fail for Tru64's "file-on-file mount".
51434         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
51435         so we fall through and use statfs instead.  Details here:
51436         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
51437         Reported by Albert Chin.
51438
51439 2007-07-13  Bruno Haible  <bruno@clisp.org>
51440
51441         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
51442         * modules/configmake (License): Likewise.
51443         * modules/gettext (License): Likewise.
51444         * modules/gettext-h (License): Likewise.
51445         * modules/include_next (License): Likewise.
51446         * modules/link-warning (License): Likewise.
51447         * modules/localcharset (License): Likewise.
51448         * modules/localename (License): Likewise.
51449         * modules/lock (License): Likewise.
51450         * modules/relocatable-lib-lgpl (License): Likewise.
51451         * modules/size_max (License): Likewise.
51452         * modules/vasnprintf (License): Likewise.
51453         * modules/wchar (License): Likewise.
51454         * modules/xsize (License): Likewise.
51455
51456 2007-07-13  Bruno Haible  <bruno@clisp.org>
51457
51458         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
51459         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
51460
51461 2007-07-12  Bruno Haible  <bruno@clisp.org>
51462
51463         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
51464         in the modules files.
51465
51466 2007-07-11  Karl Berry  <karl@gnu.org>
51467
51468         * MODULES.html.sh (func_module): use
51469          sed -e '\|^'"${includefile}"'$|d'
51470          instead of /.../d, to avoid errors on $includefile's containing /.
51471
51472 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
51473
51474         * gnulib-tool (func_import): Avoid duplication of --avoid
51475         statements
51476         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
51477         names to `_' in variable names.
51478
51479 2007-07-10  Eric Blake  <ebb9@byu.net>
51480
51481         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
51482         * NEWS: Document this change.
51483
51484 2007-07-08  Bruno Haible  <bruno@clisp.org>
51485
51486         Update to Unicode 5.0.
51487         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
51488         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
51489         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
51490         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
51491         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
51492         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
51493         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
51494         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
51495         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
51496         U+10A3F, U+1D242..U+1D244.
51497         (nonspacing_table_ind): Update.
51498         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
51499         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
51500
51501 2007-07-08  Bruno Haible  <bruno@clisp.org>
51502
51503         Update to Unicode 5.0.
51504         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
51505         code transform. Extend the name index field of unicode_name_to_code and
51506         unicode_code_to_name from 16 to 24 bits.
51507         * lib/uniname/uniname.c (unicode_character_name,
51508         unicode_name_character): Add the range 0x12xxx to the code transform.
51509         * lib/uniname/uninames.h: Regenerated.
51510         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
51511
51512 2007-07-07  Bruno Haible  <bruno@clisp.org>
51513
51514         * modules/wcwidth-tests: New file.
51515         * tests/test-wcwidth.c: New file.
51516
51517         Work around MacOS X wcwidth() bug.
51518         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
51519         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
51520         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
51521         original wcwidth in non-UTF-8 locales.
51522         * modules/wcwidth (Depends-on): Add localcharset, streq,
51523         uniwidth/width.
51524         * doc/functions/wcwidth.texi: Update.
51525
51526 2007-07-07  Bruno Haible  <bruno@clisp.org>
51527
51528         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
51529         (wcwidth): New declaration.
51530         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
51531         macros.
51532         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
51533         here. Prepare for creating <wchar.h> unconditionally.
51534         * modules/wchar (Depends-on): Add link-warning.
51535         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
51536         REPLACE_WCWIDTH, and GL_LINK_WARNING.
51537         * lib/wcwidth.h: Remove file.
51538         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
51539         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
51540         * modules/wcwidth (Files): Remove lib/wcwidth.h.
51541         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
51542         (Include): Replace wcwidth.h with <wchar.h>.
51543         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
51544         * lib/mbchar.h: Don't include wcwidth.h.
51545         * lib/mbswidth.c: Likewise.
51546         * NEWS: Mention the change.
51547
51548 2007-07-07  Bruno Haible  <bruno@clisp.org>
51549
51550         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
51551         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
51552         definition with an external declaration.
51553         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
51554         defined as a function. Remove AC_C_INLINE requirement.
51555         * modules/wcwidth (Files): Add lib/wcwidth.c.
51556         (Makefile.am): Remove redundant statement.
51557
51558 2007-07-07  Bruno Haible  <bruno@clisp.org>
51559
51560         * MODULES.html.sh (Unicode string functions): Add the new modules.
51561
51562         * tests/uniwidth/test-u32-strwidth.c: New file.
51563         * modules/uniwidth/u32-strwidth-tests: New file.
51564
51565         * lib/uniwidth/u32-strwidth.c: New file.
51566         * modules/uniwidth/u32-strwidth: New file.
51567
51568         * tests/uniwidth/test-u16-strwidth.c: New file.
51569         * modules/uniwidth/u16-strwidth-tests: New file.
51570
51571         * lib/uniwidth/u16-strwidth.c: New file.
51572         * modules/uniwidth/u16-strwidth: New file.
51573
51574         * tests/uniwidth/test-u8-strwidth.c: New file.
51575         * modules/uniwidth/u8-strwidth-tests: New file.
51576
51577         * lib/uniwidth/u8-strwidth.c: New file.
51578         * modules/uniwidth/u8-strwidth: New file.
51579
51580         * tests/uniwidth/test-u32-width.c: New file.
51581         * modules/uniwidth/u32-width-tests: New file.
51582
51583         * lib/uniwidth/u32-width.c: New file.
51584         * modules/uniwidth/u32-width: New file.
51585
51586         * tests/uniwidth/test-u16-width.c: New file.
51587         * modules/uniwidth/u16-width-tests: New file.
51588
51589         * lib/uniwidth/u16-width.c: New file.
51590         * modules/uniwidth/u16-width: New file.
51591
51592         * tests/uniwidth/test-u8-width.c: New file.
51593         * modules/uniwidth/u8-width-tests: New file.
51594
51595         * lib/uniwidth/u8-width.c: New file.
51596         * modules/uniwidth/u8-width: New file.
51597
51598         * tests/uniwidth/test-uc_width.c: New file.
51599         * modules/uniwidth/width-tests: New file.
51600
51601         * lib/uniwidth/width.c: New file, from GNU libiconv.
51602         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
51603         * modules/uniwidth/width: New file.
51604
51605         * lib/uniwidth.h: New file, from GNU libiconv.
51606         * modules/uniwidth/base: New file.
51607
51608 2007-07-07  Bruno Haible  <bruno@clisp.org>
51609
51610         * lib/uniname.h: New file, from GNU gettext.
51611         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
51612         * lib/uniname/uninames.h: New file, from GNU gettext.
51613         * lib/uniname/uniname.c: New file, from GNU gettext.
51614         * tests/uniname/test-uninames.sh: New file.
51615         * tests/uniname/test-uninames.c: New file, from GNU gettext.
51616         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
51617         * modules/uniname/base: New file.
51618         * modules/uniname/uniname: New file.
51619         * modules/uniname/uniname-tests: New file.
51620         * MODULES.html.sh (Unicode string functions): Add the new modules.
51621
51622 2007-07-06  Bruno Haible  <bruno@clisp.org>
51623
51624         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
51625
51626 2007-07-06  Bruno Haible  <bruno@clisp.org>
51627
51628         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
51629         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
51630         includes <cygwin/sys_time.h> which includes <sys/select.h> which
51631         include <sys/time.h>.
51632         Reported by Eric Blake.
51633
51634 2007-07-06  Eric Blake  <ebb9@byu.net>
51635
51636         Fix testing canonicalize on cygwin.
51637         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
51638         Revert patch from 2007-06-19.
51639         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
51640         canonicalize module is also in use.
51641         * tests/test-canonicalize.c: New file.
51642         * tests/test-canonicalize.sh: Likewise.
51643         * modules/canonicalize-tests: Likewise.
51644
51645 2007-07-06  Jim Meyering  <jim@meyering.net>
51646
51647         * lib/getugroups.c (getugroups): Detect getgrent failure.
51648         Adjust comment to reflect reality: this function may return -1.
51649
51650 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
51651
51652         * build-aux/bootstrap (TP_URL,get_translations): Update to use
51653         the new TP address.
51654         (usage): Fix typo
51655         (gnulib_mk): New variable.
51656
51657 2007-07-05  Jim Meyering  <jim@meyering.net>
51658
51659         Don't let endgrent clobber errno, no matter how improbable.
51660         * lib/getugroups.c (getugroups): Save and restore errno around
51661         endgrent call.
51662
51663         Close the group DB even when failing with 2^31 or more members.
51664         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
51665
51666 2007-07-04  Jim Meyering  <jim@meyering.net>
51667
51668         * lib/getugroups.h: New file.
51669         * lib/getugroups.c: Include "getugroups.h".
51670         Remove uses of "register" keyword.
51671         Move local variable, "cp", down into scope where used.
51672         Give "username" parameter the "const" attribute.
51673         * modules/getugroups (Files): Add lib/getugroups.h
51674
51675 2007-07-04  Karl Berry  <karl@gnu.org>
51676
51677         * MODULES.html.sh (func_all_modules): Complete rename of
51678         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
51679
51680 2007-07-02  Bruno Haible  <bruno@clisp.org>
51681
51682         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
51683         mode, when inttypes.h comes from gnulib.
51684         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
51685
51686 2007-07-02  Simon Josefsson  <simon@josefsson.org>
51687
51688         * NEWS: Mention lgpl module name change.
51689
51690         * modules/lgpl-2.1: Renamed from lgpl.
51691
51692         * NEWS: Mention gpl module name change.
51693
51694         * modules/gpl-3.0: New file, based on gpl-2.0.
51695
51696         * modules/gpl-2.0: Renamed from gpl.
51697
51698         * modules/gpl: Fix filename, doc/gpl.texi is now found at
51699         doc/gpl-2.0.texi.
51700
51701 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
51702
51703         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
51704         #define __STDC_LIMIT_MACROS temporarily while including
51705         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
51706         Problem reported by Joel E. Denny in
51707         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
51708
51709 2007-07-01  Bruno Haible  <bruno@clisp.org>
51710
51711         * lib/unistdio.h: New file.
51712         * lib/unistdio/u-asnprintf.h: New file.
51713         * lib/unistdio/u-asprintf.h: New file.
51714         * lib/unistdio/u-printf-args.c: New file.
51715         * lib/unistdio/u-printf-args.h: New file.
51716         * lib/unistdio/u-printf-parse.h: New file.
51717         * lib/unistdio/u-snprintf.h: New file.
51718         * lib/unistdio/u-sprintf.h: New file.
51719         * lib/unistdio/u-vasprintf.h: New file.
51720         * lib/unistdio/u-vsnprintf.h: New file.
51721         * lib/unistdio/u-vsprintf.h: New file.
51722         * lib/unistdio/ulc-asnprintf.c: New file.
51723         * lib/unistdio/ulc-asprintf.c: New file.
51724         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
51725         * lib/unistdio/ulc-printf-parse.c: New file.
51726         * lib/unistdio/ulc-snprintf.c: New file.
51727         * lib/unistdio/ulc-sprintf.c: New file.
51728         * lib/unistdio/ulc-vasnprintf.c: New file.
51729         * lib/unistdio/ulc-vasprintf.c: New file.
51730         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
51731         * lib/unistdio/ulc-vsnprintf.c: New file.
51732         * lib/unistdio/ulc-vsprintf.c: New file.
51733         * lib/unistdio/u8-asnprintf.c: New file.
51734         * lib/unistdio/u8-asprintf.c: New file.
51735         * lib/unistdio/u8-printf-parse.c: New file.
51736         * lib/unistdio/u8-snprintf.c: New file.
51737         * lib/unistdio/u8-sprintf.c: New file.
51738         * lib/unistdio/u8-vasnprintf.c: New file.
51739         * lib/unistdio/u8-vasprintf.c: New file.
51740         * lib/unistdio/u8-vsnprintf.c: New file.
51741         * lib/unistdio/u8-vsprintf.c: New file.
51742         * lib/unistdio/u8-u8-asnprintf.c: New file.
51743         * lib/unistdio/u8-u8-asprintf.c: New file.
51744         * lib/unistdio/u8-u8-snprintf.c: New file.
51745         * lib/unistdio/u8-u8-sprintf.c: New file.
51746         * lib/unistdio/u8-u8-vasnprintf.c: New file.
51747         * lib/unistdio/u8-u8-vasprintf.c: New file.
51748         * lib/unistdio/u8-u8-vsnprintf.c: New file.
51749         * lib/unistdio/u8-u8-vsprintf.c: New file.
51750         * lib/unistdio/u16-asnprintf.c: New file.
51751         * lib/unistdio/u16-asprintf.c: New file.
51752         * lib/unistdio/u16-printf-parse.c: New file.
51753         * lib/unistdio/u16-snprintf.c: New file.
51754         * lib/unistdio/u16-sprintf.c: New file.
51755         * lib/unistdio/u16-vasnprintf.c: New file.
51756         * lib/unistdio/u16-vasprintf.c: New file.
51757         * lib/unistdio/u16-vsnprintf.c: New file.
51758         * lib/unistdio/u16-vsprintf.c: New file.
51759         * lib/unistdio/u16-u16-asnprintf.c: New file.
51760         * lib/unistdio/u16-u16-asprintf.c: New file.
51761         * lib/unistdio/u16-u16-snprintf.c: New file.
51762         * lib/unistdio/u16-u16-sprintf.c: New file.
51763         * lib/unistdio/u16-u16-vasnprintf.c: New file.
51764         * lib/unistdio/u16-u16-vasprintf.c: New file.
51765         * lib/unistdio/u16-u16-vsnprintf.c: New file.
51766         * lib/unistdio/u16-u16-vsprintf.c: New file.
51767         * lib/unistdio/u32-asnprintf.c: New file.
51768         * lib/unistdio/u32-asprintf.c: New file.
51769         * lib/unistdio/u32-printf-parse.c: New file.
51770         * lib/unistdio/u32-snprintf.c: New file.
51771         * lib/unistdio/u32-sprintf.c: New file.
51772         * lib/unistdio/u32-vasnprintf.c: New file.
51773         * lib/unistdio/u32-vasprintf.c: New file.
51774         * lib/unistdio/u32-vsnprintf.c: New file.
51775         * lib/unistdio/u32-vsprintf.c: New file.
51776         * lib/unistdio/u32-u32-asnprintf.c: New file.
51777         * lib/unistdio/u32-u32-asprintf.c: New file.
51778         * lib/unistdio/u32-u32-snprintf.c: New file.
51779         * lib/unistdio/u32-u32-sprintf.c: New file.
51780         * lib/unistdio/u32-u32-vasnprintf.c: New file.
51781         * lib/unistdio/u32-u32-vasprintf.c: New file.
51782         * lib/unistdio/u32-u32-vsnprintf.c: New file.
51783         * lib/unistdio/u32-u32-vsprintf.c: New file.
51784         * tests/unistdio/test-ulc-asnprintf1.c: New file.
51785         * tests/unistdio/test-ulc-asnprintf1.h: New file.
51786         * tests/unistdio/test-ulc-printf1.h: New file.
51787         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
51788         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
51789         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
51790         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
51791         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
51792         * tests/unistdio/test-ulc-vasprintf1.c: New file.
51793         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
51794         * tests/unistdio/test-ulc-vsprintf1.c: New file.
51795         * tests/unistdio/test-u8-asnprintf1.c: New file.
51796         * tests/unistdio/test-u8-asnprintf1.h: New file.
51797         * tests/unistdio/test-u8-printf1.h: New file.
51798         * tests/unistdio/test-u8-vasnprintf1.c: New file.
51799         * tests/unistdio/test-u8-vasnprintf2.c: New file.
51800         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
51801         * tests/unistdio/test-u8-vasnprintf3.c: New file.
51802         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
51803         * tests/unistdio/test-u8-vasprintf1.c: New file.
51804         * tests/unistdio/test-u8-vsnprintf1.c: New file.
51805         * tests/unistdio/test-u8-vsprintf1.c: New file.
51806         * tests/unistdio/test-u16-asnprintf1.c: New file.
51807         * tests/unistdio/test-u16-asnprintf1.h: New file.
51808         * tests/unistdio/test-u16-printf1.h: New file.
51809         * tests/unistdio/test-u16-vasnprintf1.c: New file.
51810         * tests/unistdio/test-u16-vasnprintf2.c: New file.
51811         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
51812         * tests/unistdio/test-u16-vasnprintf3.c: New file.
51813         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
51814         * tests/unistdio/test-u16-vasprintf1.c: New file.
51815         * tests/unistdio/test-u16-vsnprintf1.c: New file.
51816         * tests/unistdio/test-u16-vsprintf1.c: New file.
51817         * tests/unistdio/test-u32-asnprintf1.c: New file.
51818         * tests/unistdio/test-u32-asnprintf1.h: New file.
51819         * tests/unistdio/test-u32-printf1.h: New file.
51820         * tests/unistdio/test-u32-vasnprintf1.c: New file.
51821         * tests/unistdio/test-u32-vasnprintf2.c: New file.
51822         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
51823         * tests/unistdio/test-u32-vasnprintf3.c: New file.
51824         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
51825         * tests/unistdio/test-u32-vasprintf1.c: New file.
51826         * tests/unistdio/test-u32-vsnprintf1.c: New file.
51827         * tests/unistdio/test-u32-vsprintf1.c: New file.
51828         * modules/unistdio/base: New file.
51829         * modules/unistdio/u-printf-args: New file.
51830         * modules/unistdio/ulc-asnprintf: New file.
51831         * modules/unistdio/ulc-asprintf: New file.
51832         * modules/unistdio/ulc-fprintf: New file.
51833         * modules/unistdio/ulc-printf-parse: New file.
51834         * modules/unistdio/ulc-snprintf: New file.
51835         * modules/unistdio/ulc-sprintf: New file.
51836         * modules/unistdio/ulc-vasnprintf: New file.
51837         * modules/unistdio/ulc-vasprintf: New file.
51838         * modules/unistdio/ulc-vfprintf: New file.
51839         * modules/unistdio/ulc-vsnprintf: New file.
51840         * modules/unistdio/ulc-vsprintf: New file.
51841         * modules/unistdio/u8-asnprintf: New file.
51842         * modules/unistdio/u8-asprintf: New file.
51843         * modules/unistdio/u8-printf-parse: New file.
51844         * modules/unistdio/u8-snprintf: New file.
51845         * modules/unistdio/u8-sprintf: New file.
51846         * modules/unistdio/u8-vasnprintf: New file.
51847         * modules/unistdio/u8-vasprintf: New file.
51848         * modules/unistdio/u8-vsnprintf: New file.
51849         * modules/unistdio/u8-vsprintf: New file.
51850         * modules/unistdio/u8-u8-asnprintf: New file.
51851         * modules/unistdio/u8-u8-asprintf: New file.
51852         * modules/unistdio/u8-u8-snprintf: New file.
51853         * modules/unistdio/u8-u8-sprintf: New file.
51854         * modules/unistdio/u8-u8-vasnprintf: New file.
51855         * modules/unistdio/u8-u8-vasprintf: New file.
51856         * modules/unistdio/u8-u8-vsnprintf: New file.
51857         * modules/unistdio/u8-u8-vsprintf: New file.
51858         * modules/unistdio/u16-asnprintf: New file.
51859         * modules/unistdio/u16-asprintf: New file.
51860         * modules/unistdio/u16-printf-parse: New file.
51861         * modules/unistdio/u16-snprintf: New file.
51862         * modules/unistdio/u16-sprintf: New file.
51863         * modules/unistdio/u16-vasnprintf: New file.
51864         * modules/unistdio/u16-vasprintf: New file.
51865         * modules/unistdio/u16-vsnprintf: New file.
51866         * modules/unistdio/u16-vsprintf: New file.
51867         * modules/unistdio/u16-u16-asnprintf: New file.
51868         * modules/unistdio/u16-u16-asprintf: New file.
51869         * modules/unistdio/u16-u16-snprintf: New file.
51870         * modules/unistdio/u16-u16-sprintf: New file.
51871         * modules/unistdio/u16-u16-vasnprintf: New file.
51872         * modules/unistdio/u16-u16-vasprintf: New file.
51873         * modules/unistdio/u16-u16-vsnprintf: New file.
51874         * modules/unistdio/u16-u16-vsprintf: New file.
51875         * modules/unistdio/u32-asnprintf: New file.
51876         * modules/unistdio/u32-asprintf: New file.
51877         * modules/unistdio/u32-printf-parse: New file.
51878         * modules/unistdio/u32-snprintf: New file.
51879         * modules/unistdio/u32-sprintf: New file.
51880         * modules/unistdio/u32-vasnprintf: New file.
51881         * modules/unistdio/u32-vasprintf: New file.
51882         * modules/unistdio/u32-vsnprintf: New file.
51883         * modules/unistdio/u32-vsprintf: New file.
51884         * modules/unistdio/u32-u32-asnprintf: New file.
51885         * modules/unistdio/u32-u32-asprintf: New file.
51886         * modules/unistdio/u32-u32-snprintf: New file.
51887         * modules/unistdio/u32-u32-sprintf: New file.
51888         * modules/unistdio/u32-u32-vasnprintf: New file.
51889         * modules/unistdio/u32-u32-vasprintf: New file.
51890         * modules/unistdio/u32-u32-vsnprintf: New file.
51891         * modules/unistdio/u32-u32-vsprintf: New file.
51892         * modules/unistdio/ulc-asnprintf-tests: New file.
51893         * modules/unistdio/ulc-vasnprintf-tests: New file.
51894         * modules/unistdio/ulc-vasprintf-tests: New file.
51895         * modules/unistdio/ulc-vsnprintf-tests: New file.
51896         * modules/unistdio/ulc-vsprintf-tests: New file.
51897         * modules/unistdio/u8-asnprintf-tests: New file.
51898         * modules/unistdio/u8-vasnprintf-tests: New file.
51899         * modules/unistdio/u8-vasprintf-tests: New file.
51900         * modules/unistdio/u8-vsnprintf-tests: New file.
51901         * modules/unistdio/u8-vsprintf-tests: New file.
51902         * modules/unistdio/u16-asnprintf-tests: New file.
51903         * modules/unistdio/u16-vasnprintf-tests: New file.
51904         * modules/unistdio/u16-vasprintf-tests: New file.
51905         * modules/unistdio/u16-vsnprintf-tests: New file.
51906         * modules/unistdio/u16-vsprintf-tests: New file.
51907         * modules/unistdio/u32-asnprintf-tests: New file.
51908         * modules/unistdio/u32-vasnprintf-tests: New file.
51909         * modules/unistdio/u32-vasprintf-tests: New file.
51910         * modules/unistdio/u32-vsnprintf-tests: New file.
51911         * modules/unistdio/u32-vsprintf-tests: New file.
51912         * MODULES.html.sh (Unicode string functions): Add the new modules.
51913
51914 2007-07-01  Bruno Haible  <bruno@clisp.org>
51915
51916         * lib/sprintf.c (sprintf): Limit the available length estimation,
51917         to avoid address wraparound.
51918         * lib/vsprintf.c (vsprintf): Likewise.
51919         * modules/sprintf-posix (Dependencies): Add stdint.
51920         * modules/vsprintf-posix (Dependencies): Likewise.
51921
51922 2007-07-01  Bruno Haible  <bruno@clisp.org>
51923
51924         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
51925         Windows PATH as well. Conservative double-quoting. Comments.
51926
51927 2007-07-01  Bruno Haible  <bruno@clisp.org>
51928             Eric Blake  <ebb9@byu.net>
51929             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51930
51931         * gnulib-tool (self_abspathname): Fix algorithm to cope with
51932         empty components in $PATH, denoting '.'.
51933
51934 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51935
51936         * gnulib-tool: Fix indentation.
51937         (func_create_megatestdir): Likewise.
51938         Report by Bruno Haible.
51939
51940 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51941
51942         Sync from Automake.
51943         * build-aux/gnupload: Fix shell portability issues with for loops.
51944         Report by Karl Berry.
51945
51946 2007-06-29  Simon Josefsson  <simon@josefsson.org>
51947
51948         * build-aux/maint.mk (POURL): Use translationproject.org.
51949
51950 2007-06-27  Simon Josefsson  <simon@josefsson.org>
51951             Bruno Haible  <bruno@clisp.org>
51952
51953         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
51954         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
51955         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
51956         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
51957         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
51958
51959 2007-06-27  Bruno Haible  <bruno@clisp.org>
51960
51961         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
51962         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
51963
51964 2007-06-26  Karl Berry  <karl@gnu.org>
51965
51966         * MODULES.html.sh: remove xreadlink-with-size.
51967
51968 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
51969
51970         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
51971         method that I hope also handles the double-include problem noted
51972         by Bruno Haible in
51973         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
51974
51975 2007-06-23  Bruno Haible  <bruno@clisp.org>
51976
51977         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
51978         Don't let the 'mostlyclean' target fail if the last subdirectory could
51979         not be removed.
51980         Reported by Karl Berry.
51981
51982 2007-06-23  Bruno Haible  <bruno@clisp.org>
51983
51984         * gnulib-tool (echo): Add a speedier workaround for ksh.
51985         * tests/test-echo.sh: Likewise.
51986
51987 2007-06-23  Bruno Haible  <bruno@clisp.org>
51988
51989         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
51990         * tests/test-echo.sh: Likewise.
51991
51992 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51993
51994         * gnulib-tool (IFS): Initialize early, so we don't set it to
51995         empty later.
51996         (self_abspathname): Rewrite algorithm to set it, reindent.
51997         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
51998         (func_create_megatestdir): Merge some sed scripts.
51999
52000 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
52001
52002         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
52003         exposed by Sun Studio 11 cc on Solaris 8.
52004
52005 2007-06-22  Bruno Haible  <bruno@clisp.org>
52006
52007         * gnulib-tool (echo): Ensure the echo primitive does not interpret
52008         backslashes.
52009         * tests/test-echo.sh: New file.
52010
52011 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52012
52013         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
52014         simplify `sed_replace_build_aux' scripts, they are portable but
52015         echoing them with `echo' is not.
52016         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
52017
52018 2007-06-21  Karl Berry  <karl@gnu.org>
52019
52020         * config/srclist.txt: guess we can't handle the licenses via
52021         srclist at the moment.
52022
52023 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
52024
52025         * MODULES.html.sh: Add include_next.
52026         * modules/include_next: New file.
52027
52028 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
52029
52030         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
52031         INCLUDE_NEXT.
52032         (gl_CHECK_NEXT_HEADERS): New macro.
52033         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
52034         the obsolescent gl_ABSOLUTE_HEADER.
52035         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
52036         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
52037         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
52038         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
52039         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
52040         * m4/math_h.m4 (gl_MATH_H): Likewise.
52041         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
52042         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
52043         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
52044         * m4/stdint.m4 (gl_STDINT_H): Likewise.
52045         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
52046         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
52047         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
52048         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
52049         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
52050         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
52051         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
52052         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
52053         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
52054         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
52055         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
52056         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
52057         * m4/inttypes.m4 (gl_INTTYPES_H): Define
52058         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
52059         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
52060         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
52061         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
52062         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
52063         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
52064         * lib/float_.h: Likewise.
52065         * lib/inttypes_.h: Likewise.
52066         * lib/math_.h: Likewise.
52067         * lib/search_.h: Likewise.
52068         * lib/signal_.h: Likewise.
52069         * lib/stdint_.h: Likewise.
52070         * lib/stdio_.h: Likewise.
52071         * lib/stdlib_.h: Likewise.
52072         * lib/string_.h: Likewise.
52073         * lib/sys_stat_.h: Likewise.
52074         * lib/sys_time_.h: Likewise.
52075         * lib/time_.h: Likewise.
52076         * lib/unistd_.h: Likewise.
52077         * lib/wchar_.h: Likewise.
52078         * lib/wctype_.h: Likewise.
52079         * lib/dirent_.h: Likewise.
52080         * lib/iconv_.h: Likewise.
52081         * lib/locale_.h: Likewise.
52082         * lib/netinet_in_.h: Likewise.
52083         * lib/sys_select_.h: Likewise.
52084         * lib/sys_socket_.h: Likewise.
52085         * lib/sysexits_.h: Likewise.
52086         * modules/fcntl (Depends-on): Depend on include_next, not
52087         absolute_header.
52088         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
52089         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
52090         * modules/fchdir: Likewise.
52091         * modules/float: Likewise.
52092         * modules/iconv_open: Likewise.
52093         * modules/inttypes: Likewise.
52094         * modules/locale: Likewise.
52095         * modules/math: Likewise.
52096         * modules/netinet_in: Likewise.
52097         * modules/search: Likewise.
52098         * modules/signal: Likewise.
52099         * modules/stdint: Likewise.
52100         * modules/stdio: Likewise.
52101         * modules/stdlib: Likewise.
52102         * modules/string: Likewise.
52103         * modules/sys_select: Likewise.
52104         * modules/sys_socket: Likewise.
52105         * modules/sys_stat: Likewise.
52106         * modules/sys_time: Likewise.
52107         * modules/sysexits: Likewise.
52108         * modules/time: Likewise.
52109         * modules/unistd: Likewise.
52110         * modules/wchar: Likewise.
52111         * modules/wctype: Likewise.
52112         * modules/sys_stat: Change maintainer to "all".
52113         * modules/unistd: Likewise.
52114
52115 2007-06-20  Karl Berry  <karl@gnu.org>
52116
52117         * config/srclist.txt: track www changes in license files.
52118
52119 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
52120
52121         * build-aux/bootstrap: Remove stray dot.
52122         Make sure build_aux settings are honored when linking
52123         gnulib_extra_files.
52124
52125 2007-06-19  Eric Blake  <ebb9@byu.net>
52126
52127         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
52128         Allow compilation on cygwin.
52129
52130 2007-06-19  Jim Meyering  <jim@meyering.net>
52131
52132         xreadlink-with-size: Remove module.  No longer used.
52133         Ex-callers now use xreadlink or mreadlink-with-size.
52134         * modules/xreadlink-with-size: Remove module.
52135         * lib/xreadlink-with-size.c: Remove file.
52136         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
52137         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
52138         just before the function definition *is* accurate.
52139
52140         Eliminate one way canonicalize_filename_mode could exit.
52141         * lib/canonicalize.c (canonicalize_filename_mode):
52142         Use mreadlink_with_size, not xreadlink_with_size.
52143
52144 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
52145
52146         Detect porting problems to FreeBSD/arm, which has time_t wider than
52147         long int.  Original problem reported for GNU diff by Xin Li in
52148         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
52149         * modules/getdate (Depends-on): Add intprops, verify.
52150         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
52151         is an integer type no wider than long int.
52152
52153 2007-06-18  Jim Meyering  <jim@meyering.net>
52154
52155         New module: mreadlink-with-size.
52156         * MODULES.html.sh: Add mreadlink-with-size.
52157         * modules/mreadlink-with-size: New module
52158         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
52159         not xreadlink-with-size.
52160         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
52161
52162 2007-06-16  Bruno Haible  <bruno@clisp.org>
52163
52164         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
52165         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
52166         Reported by Gary V. Vaughan <gary@gnu.org>.
52167
52168 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
52169
52170         Revamp lchown so that it lives in unistd.h where it belongs.
52171         * lib/lchown.h: Remove.
52172         * lib/dirchownmod.c: Don't include lib/lchown.h.
52173         * lib/fchownat.c: Likewise.
52174         * lib/openat.c: Likewise.
52175         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
52176         does not follow symlinks.
52177         (EOPNOTSUPP): Define if not defined.
52178         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
52179         is defined to 0.
52180         (lchown): New decl.
52181         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
52182         Do not check for lchown decl.
52183         Set REPLACE_LCHOWN.
52184         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
52185         REPLACE_LCHOWN.
52186         * modules/chown: Make it clear it follows symlinks.
52187         * modules/lchown: Make it clear it doesn't follow symlinks.
52188         (Files): Remove lib/lchown.h
52189         (Depends-on): Add unistd.
52190         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
52191         (Include): Include <unistd.h>, not "lchown.h".
52192         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
52193         REPLACE_LCHOWN.
52194
52195 2007-06-15  Jim Meyering  <jim@meyering.net>
52196
52197         Change license (GPL to LGPL) of fsusage and dependents.
52198         * modules/fsusage (License): Change to LGPL.
52199         * modules/full-read (License): Likewise.
52200         * modules/full-write (License): Likewise.
52201         * modules/safe-read (License): Likewise.
52202         * modules/safe-write (License): Likewise.
52203
52204 2007-06-14  Ben Pfaff  <blp@gnu.org>
52205
52206         Missing part of allocsa -> malloca transition.
52207         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
52208         gl_MALLOCA.
52209
52210 2007-06-12  Bruno Haible  <bruno@clisp.org>
52211
52212         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
52213         to ia64, x86_64, i386.
52214         Reported by Eric Blake.
52215
52216 2007-06-12  Bruno Haible  <bruno@clisp.org>
52217
52218         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
52219         cross-compiling to x86_64.
52220
52221 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
52222
52223         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
52224         glitch reported by Ralf Wildenhues in
52225         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
52226
52227         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
52228         Vin Shelton.
52229
52230 2007-06-11  Bruno Haible  <bruno@clisp.org>
52231
52232         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
52233         replacement string.
52234         Reported by Eric Blake.
52235
52236 2007-06-10  Bruno Haible  <bruno@clisp.org>
52237
52238         Prepare vasnprintf code for use with Unicode strings.
52239         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
52240         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
52241         TYPE_U32_STRING.
52242         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
52243         a_u32_string variants.
52244         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
52245         * lib/printf-args.c: Don't include config.h and the specification
52246         header if PRINTF_FETCHARGS is already defined.
52247         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
52248         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
52249         TYPE_U16_STRING, TYPE_U32_STRING.
52250         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
52251         u16_directive, u16_directives, u32_directive, u32_directives): New
52252         types.
52253         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
52254         New declarations.
52255         * lib/printf-parse.c: Don't include config.h and the specification
52256         header if PRINTF_PARSE is already defined. Eliminate the set of
52257         parameters for WIDE_CHAR_VERSION; the user of this file must provide
52258         them now. Include c-ctype.h.
52259         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
52260         directive and CHAR_T_ONLY_ASCII.
52261         * lib/vasnprintf.c: Don't include config.h and the specification header
52262         if VASNPRINTF is already defined.
52263         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
52264         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
52265         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
52266         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
52267         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
52268         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
52269         code accordingly.
52270         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
52271         pad_ourselves also in this case, with the 'c' and 's' directives, and
52272         with a different notion of "width".
52273         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
52274
52275 2007-06-10  Bruno Haible  <bruno@clisp.org>
52276
52277         * modules/unistr/u32-mbsnlen: New file.
52278         * lib/unistr/u32-mbsnlen.c: New file.
52279
52280         * modules/unistr/u16-mbsnlen: New file.
52281         * lib/unistr/u16-mbsnlen.c: New file.
52282
52283         * modules/unistr/u8-mbsnlen: New file.
52284         * lib/unistr/u8-mbsnlen.c: New file.
52285
52286         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
52287         declarations.
52288
52289 2007-06-10  Bruno Haible  <bruno@clisp.org>
52290
52291         * lib/string_.h (mbsnlen): New declaration.
52292         * lib/mbsnlen.c: New file.
52293         * m4/mbsnlen.m4: New file.
52294         * modules/mbsnlen: New file.
52295         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
52296         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
52297         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
52298
52299 2007-06-10  Bruno Haible  <bruno@clisp.org>
52300
52301         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
52302
52303 2007-06-10  Bruno Haible  <bruno@clisp.org>
52304
52305         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
52306         * lib/mbuiter.h: Likewise.
52307
52308 2007-06-10  Bruno Haible  <bruno@clisp.org>
52309
52310         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
52311         declaration.
52312
52313 2007-06-10  Karl Berry  <karl@gnu.org>
52314
52315         * config/srclist.txt: remove gettext entries, Bruno prefers
52316         to update individually.
52317
52318 2007-06-10  Bruno Haible  <bruno@clisp.org>
52319
52320         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
52321         'maxlen'. Ensure only length + width bytes are allocated, not
52322         length + 1 + width.
52323
52324 2007-06-09  Bruno Haible  <bruno@clisp.org>
52325
52326         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
52327         (CHAR_T): Remove macro.
52328         (VASNPRINTF): Update.
52329
52330 2007-06-09  Bruno Haible  <bruno@clisp.org>
52331
52332         * MODULES.html.sh (Unicode string functions): Add the new modules.
52333
52334         * modules/uniconv/u32-conv-to-enc: New file.
52335         * lib/uniconv/u32-conv-to-enc.c: New file.
52336         * modules/uniconv/u32-conv-to-enc-tests: New file.
52337         * tests/uniconv/test-u32-conv-to-enc.c: New file.
52338
52339         * modules/uniconv/u16-conv-to-enc: New file.
52340         * lib/uniconv/u16-conv-to-enc.c: New file.
52341         * lib/uniconv/u-conv-to-enc.h: New file.
52342         * modules/uniconv/u16-conv-to-enc-tests: New file.
52343         * tests/uniconv/test-u16-conv-to-enc.c: New file.
52344
52345         * modules/uniconv/u8-conv-to-enc: New file.
52346         * lib/uniconv/u8-conv-to-enc.c: New file.
52347         * modules/uniconv/u8-conv-to-enc-tests: New file.
52348         * tests/uniconv/test-u8-conv-to-enc.c: New file.
52349
52350         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
52351         u32_conv_to_encoding): New declarations.
52352
52353 2007-06-09  Bruno Haible  <bruno@clisp.org>
52354
52355         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
52356
52357 2007-06-09  Bruno Haible  <bruno@clisp.org>
52358
52359         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
52360         * modules/malloca: Renamed from modules/allocsa, updated.
52361         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
52362         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
52363         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
52364         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
52365         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
52366         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
52367         * modules/xmalloca: Renamed from modules/xallocsa, updated.
52368         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
52369         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
52370         * modules/c-strcasestr (Depends-on): Update.
52371         * lib/c-strcasestr.c: Update.
52372         * modules/c-strstr (Depends-on): Update.
52373         * lib/c-strstr.c: Update.
52374         * modules/canonicalize-lgpl (Depends-on): Update.
52375         * lib/canonicalize-lgpl.c: Update.
52376         * modules/clean-temp (Depends-on): Update.
52377         * lib/clean-temp.c: Update.
52378         * modules/csharpcomp (Depends-on): Update.
52379         * lib/csharpcomp.c: Update.
52380         * modules/csharpexec (Depends-on): Update.
52381         * lib/csharpexec.c: Update.
52382         * modules/javacomp (Depends-on): Update.
52383         * lib/javacomp.c: Update.
52384         * modules/javaexec (Depends-on): Update.
52385         * lib/javaexec.c: Update.
52386         * modules/mbscasestr (Depends-on): Update.
52387         * lib/mbscasestr.c: Update.
52388         * modules/mbsstr (Depends-on): Update.
52389         * lib/mbsstr.c: Update.
52390         * modules/setenv (Depends-on): Update.
52391         * lib/setenv.c: Update.
52392         * modules/strcasestr (Depends-on): Update.
52393         * lib/strcasestr.c: Update.
52394         * modules/striconveha (Depends-on): Update.
52395         * lib/striconveha.c: Update.
52396         * modules/relocatable-prog-wrapper (Files): Update.
52397         * lib/relocwrapper.c: Update.
52398         * build-aux/install-reloc: Update.
52399         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
52400
52401 2007-06-08  Bruno Haible  <bruno@clisp.org>
52402
52403         Port to uClibc.
52404         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
52405         * lib/fpurge.c (fpurge): Likewise.
52406         * lib/freading.c (freading): Likewise.
52407         * lib/fseeko.c (rpl_fseeko): Likewise.
52408         * lib/fseterr.c (fseterr): Likewise.
52409         * lib/fwriting.c (fwriting): Likewise.
52410         * tests/test-fflush.c (main): Avoid a failure on uClibc.
52411
52412 2007-06-08  Bruno Haible  <bruno@clisp.org>
52413
52414         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
52415         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
52416         * modules/gettext (Files): Add m4/intlmacosx.m4.
52417
52418 2007-06-07  Bruno Haible  <bruno@clisp.org>
52419
52420         * modules/localename-tests: New file.
52421         * tests/test-localename.c: New file.
52422
52423         New module 'localename'.
52424         * lib/localename.h: New file.
52425         * lib/localename.c: New file, from GNU gettext.
52426         * m4/localename.m4: New file.
52427         * modules/localename: New file.
52428
52429 2007-06-07  Bruno Haible  <bruno@clisp.org>
52430
52431         Work around the lack of <wchar.h> on some builds of uClibc.
52432         * doc/headers/wchar.texi: Update.
52433         * lib/wchar_.h: Include <wchar.h> only if it exists.
52434         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
52435         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
52436         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
52437         doesn't exist.
52438         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
52439         * modules/mbfile (Depends-on): Add wchar.
52440         * modules/mbiter (Depends-on): Likewise.
52441         * modules/mbuiter (Depends-on): Likewise.
52442         Reported by Simon Josefsson.
52443
52444 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
52445
52446         Work around problem reported by Steven M. Schweda in
52447         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
52448         Tru64 5.1B with the Compaq compiler environment installed declares
52449         an 'isblank' function but does not define it in the C library.
52450         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
52451         * lib/regex_internal.h (isblank): Likewise.
52452         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
52453         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
52454
52455 2007-06-05  Bruno Haible  <bruno@clisp.org>
52456
52457         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
52458         ia64.
52459         * modules/printf-safe: New file.
52460         * modules/fprintf-posix (Depends-on): Add printf-safe.
52461         * modules/printf-posix (Depends-on): Likewise.
52462         * modules/snprintf-posix (Depends-on): Likewise.
52463         * modules/sprintf-posix (Depends-on): Likewise.
52464         * modules/vasnprintf-posix (Depends-on): Likewise.
52465         * modules/vasprintf-posix (Depends-on): Likewise.
52466         * modules/vfprintf-posix (Depends-on): Likewise.
52467         * modules/vprintf-posix (Depends-on): Likewise.
52468         * modules/vsnprintf-posix (Depends-on): Likewise.
52469         * modules/vsprintf-posix (Depends-on): Likewise.
52470         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
52471         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
52472         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
52473         "no" on i386, x86_64, ia64.
52474         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
52475         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
52476         on i386, x86_64, ia64.
52477         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
52478         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
52479         on i386, x86_64, ia64.
52480         * tests/test-vasnprintf-posix.c: Include float.h.
52481         (LDBL80_WORDS): New macro.
52482         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
52483         on i386, x86_64, ia64.
52484         * tests/test-vasprintf-posix.c: Include float.h.
52485         (LDBL80_WORDS): New macro.
52486         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
52487         on i386, x86_64, ia64.
52488         * tests/test-snprintf-posix.c: Include float.h.
52489         * tests/test-sprintf-posix.c: Likewise.
52490         * tests/test-vsnprintf-posix.c: Likewise.
52491         * tests/test-vsprintf-posix.c: Likewise.
52492
52493 2007-06-05  Bruno Haible  <bruno@clisp.org>
52494
52495         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
52496         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
52497         non-IEEE numbers on i386, x86_64, ia64.
52498         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
52499         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
52500         * tests/test-isnanl.h: Include float.h.
52501         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
52502
52503 2007-06-05  Bruno Haible  <bruno@clisp.org>
52504
52505         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
52506         also the %a / %A. Handle the %a / %A code before this extra handling.
52507
52508 2007-06-05  Bruno Haible  <bruno@clisp.org>
52509
52510         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
52511         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
52512
52513 2007-06-05  Bruno Haible  <bruno@clisp.org>
52514
52515         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
52516         typo in variable name.
52517
52518 2007-06-05  Eric Blake  <ebb9@byu.net>
52519
52520         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
52521         Reported by Simon Josefsson.
52522
52523 2007-06-04  Bruno Haible  <bruno@clisp.org>
52524
52525         Avoid test failures on some PowerPC platforms.
52526         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
52527         Define differently for PowerPC.
52528         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
52529         Reported by Gary V. Vaughan <gary@gnu.org>.
52530
52531 2007-06-02  Bruno Haible  <bruno@clisp.org>
52532
52533         Fix test-stdint failure on FreeBSD/ia64.
52534         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
52535         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
52536         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
52537         * doc/headers/stdint.texi: Update.
52538
52539 2007-06-01  Bruno Haible  <bruno@clisp.org>
52540
52541         * tests/test-binary-io.c (main): Pass a third argument to open().
52542         Reported by Gary V. Vaughan <gary@gnu.org>.
52543
52544 2007-06-01  Bruno Haible  <bruno@clisp.org>
52545
52546         * doc/functions/frexpl.texi: Update for mingw.
52547
52548 2007-06-01  Bruno Haible  <bruno@clisp.org>
52549
52550         * tests/test-lseek.c (main): Disable test of errno for invalid third
52551         argument.
52552         * doc/functions/lseek.texi: Update.
52553         Reported by Gary V. Vaughan <gary@gnu.org>.
52554
52555 2007-05-28  Bruno Haible  <bruno@clisp.org>
52556
52557         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
52558
52559 2007-05-31  Eric Blake  <ebb9@byu.net>
52560
52561         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
52562         cross compiling.
52563
52564 2007-05-30  Eric Blake  <ebb9@byu.net>
52565         and Bruno Haible  <bruno@clisp.org>
52566
52567         Work around mingw test failures exposed by m4-1.4.9b.
52568         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
52569         * tests/test-unistd.c: Disable uid_t and git_t tests for the
52570         moment.
52571
52572 2007-05-30  Bruno Haible  <bruno@clisp.org>
52573
52574         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
52575         assuming that they are closed. Needed on HP-UX 11.
52576
52577 2007-05-29  Bruno Haible  <bruno@clisp.org>
52578
52579         Fix a problem with #include_next.
52580         * lib/dirent_.h: Split the double-inclusion guard.
52581         * lib/fcntl_.h: Likewise.
52582         * lib/float_.h: Likewise.
52583         * lib/iconv_.h: Likewise.
52584         * lib/inttypes_.h: Likewise.
52585         * lib/locale_.h: Likewise.
52586         * lib/math_.h: Likewise.
52587         * lib/netinet_in_.h: Likewise.
52588         * lib/search_.h: Likewise.
52589         * lib/signal_.h: Likewise.
52590         * lib/stdint_.h: Likewise.
52591         * lib/stdio_.h: Likewise.
52592         * lib/stdlib_.h: Likewise.
52593         * lib/string_.h: Likewise.
52594         * lib/sys_select_.h: Likewise.
52595         * lib/sys_socket_.h: Likewise.
52596         * lib/sys_stat_.h: Likewise.
52597         * lib/sys_time_.h: Likewise.
52598         * lib/sysexits_.h: Likewise.
52599         * lib/time_.h: Likewise.
52600         * lib/unistd_.h: Likewise.
52601         * lib/wchar_.h: Likewise.
52602         * lib/wctype_.h: Likewise.
52603
52604 2007-05-29  Bruno Haible  <bruno@clisp.org>
52605
52606         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
52607         for the moment.
52608
52609 2007-05-29  Bruno Haible  <bruno@clisp.org>
52610
52611         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
52612         invocation.
52613         Reported by Eric Blake.
52614
52615 2007-05-29  Bruno Haible  <bruno@clisp.org>
52616
52617         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
52618         compiling case.
52619
52620 2007-05-29  Eric Blake  <ebb9@byu.net>
52621             Bruno Haible  <bruno@clisp.org>
52622
52623         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
52624         cross compiles.
52625
52626 2007-05-28  Eric Blake  <ebb9@byu.net>
52627
52628         * modules/closein-tests (test_closein_LDADD): Support test on
52629         cygwin with libtool.
52630
52631 2007-05-28  Bruno Haible  <bruno@clisp.org>
52632
52633         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
52634         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
52635         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
52636         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
52637         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
52638         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
52639         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
52640         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
52641         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
52642
52643 2007-05-28  Eric Blake  <ebb9@byu.net>
52644
52645         Unconditionally include <config.h> in unit tests.
52646         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
52647         * tests/test-allocsa.c, tests/test-arcfour.c,
52648         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
52649         tests/test-array_list.c, tests/test-array_oset.c,
52650         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
52651         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
52652         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
52653         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
52654         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
52655         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
52656         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
52657         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
52658         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
52659         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
52660         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
52661         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
52662         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
52663         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
52664         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
52665         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
52666         test-md5.c, test-memmem.c, test-printf-posix.c,
52667         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
52668         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
52669         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
52670         test-strcasestr.c, test-striconv.c, test-striconveh.c,
52671         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
52672         test-vasnprintf-posix2.c, test-vasnprintf.c,
52673         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
52674         test-vfprintf-posix.c, test-vprintf-posix.c,
52675         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
52676         test-xvasprintf.c: Likewise.
52677
52678 2007-05-28  Bruno Haible  <bruno@clisp.org>
52679
52680         * gnulib-tool (func_import): Remember the --with-tests command-line
52681         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
52682         Reported by Eric Blake.
52683
52684 2007-05-28  Bruno Haible  <bruno@clisp.org>
52685
52686         * modules/ftell-tests: New file.
52687         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
52688         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
52689
52690         * lib/ftell.c: New file.
52691         * modules/ftell: New file.
52692         * m4/ftell.m4: New file.
52693         * doc/functions/ftell.texi: Update.
52694         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
52695         REPLACE_FTELL.
52696         * lib/stdio_.h (rpl_ftell): New declaration.
52697         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
52698         REPLACE_FTELL.
52699
52700 2007-05-28  Eric Blake  <ebb9@byu.net>
52701
52702         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
52703
52704 2007-05-28  Bruno Haible  <bruno@clisp.org>
52705
52706         * modules/fseek-tests: New file.
52707         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
52708         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
52709
52710         * lib/fseek.c: New file.
52711         * modules/fseek: New file.
52712         * m4/fseek.m4: New file.
52713         * doc/functions/fseek.texi: Update.
52714         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
52715         REPLACE_FSEEK.
52716         * lib/stdio_.h (rpl_fseek): New declaration.
52717         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
52718         REPLACE_FSEEK.
52719
52720 2007-05-28  Bruno Haible  <bruno@clisp.org>
52721
52722         * lib/stdio_.h (fflush): More comments.
52723
52724 2007-05-28  Bruno Haible  <bruno@clisp.org>
52725
52726         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
52727         runtime test.
52728
52729 2007-05-28  Eric Blake  <ebb9@byu.net>
52730
52731         Improve lseek module.
52732         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
52733         * lib/unistd_.h (lseek): Scale back link warning message.
52734         * tests/test-lseek.c: Beef up test.
52735         * tests/test-lseek.sh: Exercise more facets of lseek.
52736         Reported by Bruno Haible.
52737
52738 2007-05-28  Bruno Haible  <bruno@clisp.org>
52739
52740         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
52741         to define.
52742
52743 2007-05-27  Bruno Haible  <bruno@clisp.org>
52744
52745         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
52746
52747 2007-05-27  Bruno Haible  <bruno@clisp.org>
52748
52749         * modules/openmp: New file.
52750         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
52751         Noah Misch.
52752
52753 2007-05-26  Bruno Haible  <bruno@clisp.org>
52754
52755         * modules/chdir-long (Depends-on): Add fchdir.
52756         * modules/chdir-safer (Depends-on): Likewise.
52757         * modules/fts (Depends-on): Likewise.
52758         * modules/fts-lgpl (Depends-on): Likewise.
52759         * modules/openat (Depends-on): Likewise.
52760         * modules/savewd (Depends-on): Likewise.
52761
52762 2007-05-24  Eric Blake  <ebb9@byu.net>
52763
52764         Fix lseek on mingw.
52765         * modules/lseek: New module.
52766         * m4/lseek.m4: New file.
52767         * lib/lseek.c: New file.
52768         * modules/lseek-tests: New file.
52769         * tests/test-lseek.c: New file.
52770         * tests/test-lseek.sh: New file.
52771         * MODULES.html.sh: Document lseek module.
52772         * modules/fflush (Depends-on): Add lseek, fseeko.
52773         * modules/fseeko (Depends-on): Likewise.
52774         * modules/ftello (Depends-on): Likewise.
52775         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
52776         broken.
52777         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
52778         broken.
52779         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
52780         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
52781         * lib/ftello.c (rpl_ftello): Likewise.
52782         * tests/test-fseeko.c (main): Test this.
52783         * tests/test-fseeko.sh: Likewise.
52784         * tests/test-ftello.c (main): Likewise.
52785         * tests/test-ftello.sh: Likewise.
52786         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
52787         implies replacing fseek.
52788         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
52789         HAVE_FTELLO.
52790         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
52791         * modules/unistd (Makefile.am): Likewise.
52792         * lib/unistd_.h (lseek): Declare a replacement.
52793         * doc/functions/lseek.texi (lseek): Document this fix.
52794         * doc/functions/fseek.texi (fseek): Likewise.
52795         * doc/functions/ftell.texi (ftell): Likewise.
52796
52797 2007-05-24  Bruno Haible  <bruno@clisp.org>
52798
52799         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
52800         in the printed representation of a NaN.
52801         * tests/test-vasprintf-posix.c (test_function): Likewise.
52802         * tests/test-snprintf-posix.h (test_function): Likewise.
52803         * tests/test-sprintf-posix.h (test_function): Likewise.
52804         Reported by Eric Blake.
52805
52806 2007-05-23  Eric Blake  <ebb9@byu.net>
52807
52808         Fix fseeko/ftello on cygwin 1.5.24.
52809         * doc/functions/fseeko.texi (fseeko): Document the fix.
52810         * doc/functions/ftello.texi (ftello): Document the fix.
52811         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
52812         * doc/functions/stdout.text (stdout): New file.
52813         * doc/functions/stderr.text (stderr): New file.
52814         * doc/gnulib.texi (Function Substitutes): Use new files.
52815         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
52816         prior to 1.7.0.
52817         * tests/test-ftello.c (main): Likewise for ftello.
52818         * tests/test-fseeko.sh: New file.
52819         * tests/test-ftello.sh: New file.
52820         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
52821         with seekable stdin.
52822         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
52823         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
52824         (gl_REPLACE_FSEEKO): New macro.
52825         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
52826         * modules/fseeko (Files): Distribute fseeko.c.
52827         * modules/ftello (Files): Distribute ftello.c.
52828         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
52829         mode.
52830         * lib/ftello.c (rpl_ftello): New file.
52831         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
52832         fseeko, ftello.
52833         (gl_STDIN_LARGE_OFFSET): New macro.
52834         * modules/stdio (Makefile.am): Perform the replacement.
52835         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
52836
52837 2007-05-23  Bruno Haible  <bruno@clisp.org>
52838
52839         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
52840         GNULIB_POSIXCHECK is defined.
52841
52842 2007-05-21  Bruno Haible  <bruno@clisp.org>
52843
52844         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
52845         Check also the output for NaN arguments. When cross-compiling, guess
52846         no on IRIX.
52847         * lib/vasnprintf.c: Update comments.
52848         * tests/test-vasnprintf-posix.c (strisnan): New function.
52849         (test_function): Use it.
52850         * tests/test-vasprintf-posix.c (strisnan): New function.
52851         (test_function): Use it.
52852         * tests/test-snprintf-posix.h (strisnan): New function.
52853         (test_function): Use it.
52854         * tests/test-sprintf-posix.h (strisnan): New function.
52855         (test_function): Use it.
52856         Reported by Eric Blake.
52857
52858 2007-05-20  Bruno Haible  <bruno@clisp.org>
52859
52860         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
52861         numbers that fails on BeOS.
52862         * doc/functions/frexpl.texi: Update.
52863
52864 2007-05-20  Jim Meyering  <jim@meyering.net>
52865
52866         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
52867         forced upon us by glibc-2.6.
52868
52869 2007-05-20  Bruno Haible  <bruno@clisp.org>
52870
52871         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
52872         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
52873         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
52874         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
52875         NEED_PRINTF_INFINITE.
52876         (is_infinitel): New function.
52877         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
52878         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
52879         gl_PREREQ_VASNPRINTF_INFINITE.
52880         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
52881         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
52882         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
52883         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
52884         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
52885         gl_PREREQ_VASNPRINTF_INFINITE.
52886         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
52887         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
52888         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
52889         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
52890         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
52891         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
52892         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
52893         * doc/functions/fprintf.texi: Update.
52894         * doc/functions/printf.texi: Update.
52895         * doc/functions/snprintf.texi: Update.
52896         * doc/functions/sprintf.texi: Update.
52897         * doc/functions/vfprintf.texi: Update.
52898         * doc/functions/vprintf.texi: Update.
52899         * doc/functions/vsnprintf.texi: Update.
52900         * doc/functions/vsprintf.texi: Update.
52901
52902 2007-05-20  Bruno Haible  <bruno@clisp.org>
52903
52904         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
52905         was not found in libc.
52906         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
52907
52908 2007-05-20  Bruno Haible  <bruno@clisp.org>
52909
52910         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
52911         printed as "-nan" instead of "nan".
52912         * tests/test-vasprintf-posix.c (test_function): Likewise.
52913         * tests/test-snprintf-posix.h (test_function): Likewise.
52914         * tests/test-sprintf-posix.h (test_function): Likewise.
52915         Needed for HP-UX 11.
52916
52917 2007-05-20  Jim Meyering  <jim@meyering.net>
52918
52919         Fix buggy test for the fchownat-deref bug.
52920         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
52921         symlink required for the run-test.  Without it, this test would
52922         always declare that fchownat doesn't work, and client code would
52923         unnecessarily use the replacement function with fixed libc.
52924         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
52925         Reported by Greg Schafer.
52926
52927 2007-05-19  Bruno Haible  <bruno@clisp.org>
52928
52929         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
52930         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
52931         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
52932         Needed for IRIX 6.5 and Solaris 2.5.1.
52933
52934 2007-05-19  Bruno Haible  <bruno@clisp.org>
52935
52936         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
52937         (test_function): Skip tests involving -0.0 on platforms where
52938         -0.0 = 0.0.
52939         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
52940         (test_function): Skip tests involving -0.0 on platforms where
52941         -0.0 = 0.0.
52942         * tests/test-snprintf-posix.h (have_minus_zero): New function.
52943         (test_function): Skip tests involving -0.0 on platforms where
52944         -0.0 = 0.0.
52945         * tests/test-sprintf-posix.h (have_minus_zero): New function.
52946         (test_function): Skip tests involving -0.0 on platforms where
52947         -0.0 = 0.0.
52948         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
52949         tests.
52950         * tests/test-printf-posix.h (test_function): Likewise.
52951         * tests/test-printf-posix.output: Remove all -0.0 related results.
52952         Needed for IRIX 6.5.
52953
52954 2007-05-19  Bruno Haible  <bruno@clisp.org>
52955
52956         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
52957         printed as "nan0x7fffffff" instead of "nan".
52958         * tests/test-vasprintf-posix.c (test_function): Likewise.
52959         * tests/test-snprintf-posix.h (test_function): Likewise.
52960         * tests/test-sprintf-posix.h (test_function): Likewise.
52961         * tests/test-fprintf-posix.h (NaN): Remove macro.
52962         (test_function): Remove all NaN related tests.
52963         * tests/test-printf-posix.h (NaN): Remove macro.
52964         (test_function): Remove all NaN related tests.
52965         * tests/test-printf-posix.output: Remove all NaN related results.
52966         Needed for IRIX 6.5.
52967
52968 2007-05-19  Bruno Haible  <bruno@clisp.org>
52969
52970         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
52971         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
52972
52973 2007-05-19  Bruno Haible  <bruno@clisp.org>
52974
52975         * lib/float_.h: New file.
52976         * m4/float_h.m4: New file.
52977         * modules/float: New file.
52978         * modules/isnanl (Dependencies): Add float.
52979         * modules/isnanl-nolibm (Dependencies): Likewise.
52980         * modules/mathl (Dependencies): Likewise.
52981         * modules/printf-frexpl (Dependencies): Likewise.
52982         * modules/signbit (Dependencies): Likewise.
52983         * modules/vasnprintf (Dependencies): Likewise.
52984         * doc/headers/float.texi: Update.
52985
52986 2007-05-19  Jim Meyering  <jim@meyering.net>
52987
52988         * lib/utimens.c (gl_futimens): Rename from futimens,
52989         now that glibc-2.6 declares futimens.
52990         * lib/utimens.h: Likewise.
52991
52992 2007-05-19  Bruno Haible  <bruno@clisp.org>
52993
52994         Avoid test failures on mingw.
52995         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
52996         * tests/test-printf-posix.sh: Likewise.
52997         * tests/test-vfprintf-posix.sh: Likewise.
52998         * tests/test-vprintf-posix.sh: Likewise.
52999
53000 2007-05-19  Bruno Haible  <bruno@clisp.org>
53001
53002         Fix *printf result for NaN, Inf, -0.0 on mingw.
53003         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
53004         * lib/vasnprintf.c: Include math.h and isnan.h.
53005         (is_infinite_or_zero): New function.
53006         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
53007         values in the %f, %F, %e, %E, %g, %G directives.
53008         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
53009         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
53010         gl_PRINTF_INFINITE and test its result. Invoke
53011         gl_PREREQ_VASNPRINTF_INFINITE.
53012         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
53013         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
53014         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
53015         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
53016         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
53017         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
53018         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
53019         * doc/functions/fprintf.texi: Update.
53020         * doc/functions/printf.texi: Update.
53021         * doc/functions/snprintf.texi: Update.
53022         * doc/functions/sprintf.texi: Update.
53023         * doc/functions/vfprintf.texi: Update.
53024         * doc/functions/vprintf.texi: Update.
53025         * doc/functions/vsnprintf.texi: Update.
53026         * doc/functions/vsprintf.texi: Update.
53027
53028 2007-05-19  Bruno Haible  <bruno@clisp.org>
53029
53030         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
53031         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
53032         Instead of multiplying with 10^k, set extra_zeroes to k.
53033         (scale10_round_long_double): Remove function.
53034
53035 2007-05-18  Bruno Haible  <bruno@clisp.org>
53036
53037         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
53038         introduced on 2007-05-06.
53039
53040 2007-05-18  Bruno Haible  <bruno@clisp.org>
53041
53042         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
53043         %g directives.
53044         * tests/test-vasprintf-posix.c (test_function): Likewise.
53045         * tests/test-snprintf-posix.h (test_function): Likewise.
53046         * tests/test-sprintf-posix.h (test_function): Likewise.
53047
53048 2007-05-18  Bruno Haible  <bruno@clisp.org>
53049
53050         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
53051         (strmatch): New function.
53052         (test_function): Test the %f directive on numbers of various exponents.
53053         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
53054         (strmatch): New function.
53055         (test_function): Test the %f directive on numbers of various exponents.
53056         * tests/test-snprintf-posix.h (strmatch): New function.
53057         (test_function): Test the %f directive on numbers of various exponents.
53058         * tests/test-sprintf-posix.h (strmatch): New function.
53059         (test_function): Test the %f directive on numbers of various exponents.
53060         * tests/test-snprintf-posix.c (SIZEOF): New macro.
53061         * tests/test-sprintf-posix.c (SIZEOF): New macro.
53062         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
53063         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
53064
53065 2007-05-18  Bruno Haible  <bruno@clisp.org>
53066
53067         Add support for 'long double' number output.
53068         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
53069         * lib/vasnprintf.c: Include math.h and float+.h.
53070         (mp_limb_t): New type.
53071         (GMP_LIMB_BITS): New macro.
53072         (mp_twolimb_t): New type.
53073         (GMP_TWOLIMB_BITS): New macro.
53074         (mpn_t): New type.
53075         (multiply, divide, convert_to_decimal, decode_long_double,
53076         scale10_round_long_double, scale10_round_decimal_long_double,
53077         floorlog10l): New functions.
53078         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
53079         for the %f, %F, %e, %E, %g, %G directives.
53080         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
53081         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
53082         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
53083         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
53084         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
53085         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
53086         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
53087         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
53088         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
53089         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
53090         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
53091         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
53092         * modules/snprintf-posix (Depends-on): Likewise.
53093         * modules/sprintf-posix (Depends-on): Likewise.
53094         * modules/vasnprintf-posix (Depends-on): Likewise.
53095         * modules/vasprintf-posix (Depends-on): Likewise.
53096         * modules/vfprintf-posix (Depends-on): Likewise.
53097         * modules/vsnprintf-posix (Depends-on): Likewise.
53098         * modules/vsprintf-posix (Depends-on): Likewise.
53099         * modules/vasnprintf (Files): Add lib/float+.h.
53100         * doc/functions/fprintf.texi: Update.
53101         * doc/functions/printf.texi: Update.
53102         * doc/functions/snprintf.texi: Update.
53103         * doc/functions/sprintf.texi: Update.
53104         * doc/functions/vfprintf.texi: Update.
53105         * doc/functions/vprintf.texi: Update.
53106         * doc/functions/vsnprintf.texi: Update.
53107         * doc/functions/vsprintf.texi: Update.
53108
53109 2007-05-18  Bruno Haible  <bruno@clisp.org>
53110
53111         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
53112
53113 2007-05-18  Bruno Haible  <bruno@clisp.org>
53114
53115         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
53116         for printing 64-bit integers. Needed for mingw.
53117
53118 2007-05-18  Bruno Haible  <bruno@clisp.org>
53119
53120         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
53121         gl_FUNC_FREXPL_WORKS.
53122         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
53123
53124 2007-05-18  Bruno Haible  <bruno@clisp.org>
53125
53126         * modules/frexpl-nolibm-tests: New file.
53127
53128         * modules/frexpl-nolibm: New file.
53129         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
53130
53131 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
53132
53133         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
53134         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
53135         GCC 4.2, which otherwise issues a lot of warnings.
53136         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
53137         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
53138         Likewise.
53139         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
53140         * modules/iconv_open (iconv.h): Likewise.
53141         * modules/locale (locale.h): Likewise.
53142         * modules/netinet_in (netinet/in.h): Likewise.
53143         * modules/sys_select (sys_select.h): Likewise.
53144         * modules/sys_socket (sys/socket.h): Likewise.
53145         * modules/sys_stat (sys/stat.h): Likewise.
53146         * modules/sysexits (sysexits.h): Likewise.
53147         * modules/unistd (unistd.h): Likewise.
53148
53149 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53150
53151         * modules/closein-tests (Makefile.am): Distribute
53152         `test-closein.sh'.
53153
53154 2007-05-17  Bruno Haible  <bruno@clisp.org>
53155
53156         * tests/test-printf-posix.output: Renamed from
53157         tests/test-fprintf-posix.out.
53158         * modules/fprintf-posix-tests: Update.
53159         * modules/printf-posix-tests: Update.
53160         * modules/vfprintf-posix-tests: Update.
53161         * modules/vprintf-posix-tests: Update.
53162         * tests/test-fprintf-posix.sh: Update.
53163         * tests/test-printf-posix.sh: Update.
53164         * tests/test-vfprintf-posix.sh: Update.
53165         * tests/test-vprintf-posix.sh: Update.
53166         Reported by Ralf Wildenhues.
53167
53168 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
53169
53170         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
53171         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
53172         GCC 4.2, which otherwise issues a lot of warnings.
53173         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
53174         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
53175         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
53176         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
53177         it should no longer be needed.
53178         * lib/string_.h: Likewise.
53179         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
53180         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
53181         * modules/inttypes (inttypes.h): Likewise.
53182         * modules/math (math.h): Likewise.
53183         * modules/search (search.h): Likewise.
53184         * modules/signal (signal.h): Likewise.
53185         * modules/stdint (stdint.h): Likewise.
53186         * modules/stdio (stdio.h): Likewise.
53187         * modules/stdlib (stdlib.h): Likewise.
53188         * modules/string (string.h): Likewise.
53189         * modules/sys_time (sys/time.h): Likewise.
53190         * modules/time (time.h): Likewise.
53191         * modules/wchar (wchar.h): Likewise.
53192         * modules/wctype (wtype.h): Likewise.
53193
53194 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
53195
53196         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
53197
53198 2007-05-13  Bruno Haible  <bruno@clisp.org>
53199
53200         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
53201         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
53202         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
53203         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
53204         (gl_PREREQ_STRTOK_R): Don't require it here.
53205
53206 2007-05-13  Bruno Haible  <bruno@clisp.org>
53207
53208         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
53209         when used in C++ mode.
53210
53211 2007-05-12  Bruno Haible  <bruno@clisp.org>
53212
53213         * lib/linebuffer.h: Tweak doc.
53214         * lib/linebuffer.c: Likewise.
53215
53216 2007-05-12  James Youngman  <jay@gnu.org>
53217
53218         * lib/linebuffer.c (readlinebuffer_delim): New function,
53219         like readlinebuffer, but use a caller-specified delimiter.
53220         (readlinebuffer): Just call readlinebuffer_delim with '\n'
53221         as the delimiter.
53222         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
53223
53224 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
53225
53226         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
53227         * modules/openat (Files): Remove openat-die.c.
53228         (Depends-on): Add openat-die.
53229         * modules/openat-die: New module.
53230
53231 2007-05-06  Bruno Haible  <bruno@clisp.org>
53232
53233         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
53234         Update with info about Cygwin.
53235         * doc/functions/fprintf.texi: Update.
53236         * doc/functions/printf.texi: Update.
53237         * doc/functions/snprintf.texi: Update.
53238         * doc/functions/sprintf.texi: Update.
53239         * doc/functions/vfprintf.texi: Update.
53240         * doc/functions/vprintf.texi: Update.
53241         * doc/functions/vsnprintf.texi: Update.
53242         * doc/functions/vsprintf.texi: Update.
53243         Reported by Eric Blake.
53244
53245 2007-05-06  Bruno Haible  <bruno@clisp.org>
53246
53247         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
53248         padding ourselves for the floating-point directives.
53249         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
53250         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
53251         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
53252         gl_PRINTF_FLAG_ZERO and test its result. Invoke
53253         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
53254         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
53255         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
53256         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
53257         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
53258         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
53259         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
53260         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
53261         * tests/test-snprintf-posix.h (test_function): Also check the width
53262         and some flags in the %f directive.
53263         * tests/test-sprintf-posix.h (test_function): Likewise.
53264         * tests/test-vasnprintf-posix.c (test_function): Likewise.
53265         * tests/test-vasprintf-posix.c (test_function): Likewise.
53266         * doc/functions/fprintf.texi: Update.
53267         * doc/functions/printf.texi: Update.
53268         * doc/functions/snprintf.texi: Update.
53269         * doc/functions/sprintf.texi: Update.
53270         * doc/functions/vfprintf.texi: Update.
53271         * doc/functions/vprintf.texi: Update.
53272         * doc/functions/vsnprintf.texi: Update.
53273         * doc/functions/vsprintf.texi: Update.
53274
53275 2007-05-06  Bruno Haible  <bruno@clisp.org>
53276
53277         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
53278         pass the ' flag character to sprintf or snprintf.
53279         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
53280         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
53281         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
53282         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
53283         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
53284         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
53285         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
53286         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
53287         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
53288         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
53289         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
53290         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
53291         * tests/test-snprintf-posix.h (test_function): Also check the grouping
53292         flag.
53293         * tests/test-sprintf-posix.h (test_function): Likewise.
53294         * tests/test-vasnprintf-posix.c (test_function): Likewise.
53295         * tests/test-vasprintf-posix.c (test_function): Likewise.
53296         * doc/functions/fprintf.texi: Update.
53297         * doc/functions/printf.texi: Update.
53298         * doc/functions/snprintf.texi: Update.
53299         * doc/functions/sprintf.texi: Update.
53300         * doc/functions/vfprintf.texi: Update.
53301         * doc/functions/vprintf.texi: Update.
53302         * doc/functions/vsnprintf.texi: Update.
53303         * doc/functions/vsprintf.texi: Update.
53304
53305 2007-05-01  Bruno Haible  <bruno@clisp.org>
53306
53307         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
53308
53309 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
53310
53311         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
53312         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
53313
53314 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
53315
53316         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
53317         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
53318         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
53319
53320 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
53321
53322         * lib/argp-help.c (struct hol_entry): New member `ord'.
53323         (HOL_ENTRY_PTRCMP): Use ord for comparison
53324         (hol_sort): Initialize ord.
53325
53326 2007-05-01  Bruno Haible  <bruno@clisp.org>
53327
53328         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
53329         Reported by Eric Blake.
53330         * doc/gnulib.texi (Function Substitutes): Update.
53331
53332 2007-05-01  Bruno Haible  <bruno@clisp.org>
53333
53334         * doc/functions.texi: Remove file, now redundant through
53335         doc/functions/*.texi.
53336
53337 2007-05-01  Bruno Haible  <bruno@clisp.org>
53338
53339         * modules/argp (Depends-on): Add sleep.
53340
53341 2007-05-01  Bruno Haible  <bruno@clisp.org>
53342
53343         * modules/sleep-tests: New file.
53344         * tests/test-sleep.c: New file.
53345
53346         * modules/sleep: New file.
53347         * lib/sleep.c: New file.
53348         * m4/sleep.m4: New file.
53349         * lib/unistd_.h (sleep): New declaration.
53350         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
53351         HAVE_SLEEP.
53352         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
53353         * doc/functions/sleep.texi: Document the sleep module.
53354
53355 2007-05-01  Bruno Haible  <bruno@clisp.org>
53356
53357         * lib/sigprocmask.h: Remove file.
53358         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
53359         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
53360         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
53361         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
53362         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
53363         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
53364         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
53365         HAVE_SIGSET_T as a shell variable.
53366         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
53367         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
53368         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
53369         (Depends-on): Add signal. Remove verify.
53370         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
53371         (Include): Mention <signal.h> instead of sigprocmask.h.
53372         * NEWS: Mention the change.
53373         * lib/fatal-signal.c: Don't include sigprocmask.h.
53374
53375 2007-05-01  Bruno Haible  <bruno@clisp.org>
53376
53377         * modules/signal: New file.
53378         * lib/signal_.h: New file.
53379         * m4/signal_h.m4: New file.
53380
53381 2007-05-01  Bruno Haible  <bruno@clisp.org>
53382
53383         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
53384         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
53385         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
53386         HAVE_WCTYPE_CTMP_BUG into wctype.h.
53387
53388 2007-05-01  Bruno Haible  <bruno@clisp.org>
53389
53390         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
53391         configure time.
53392         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
53393         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
53394         * modules/sys_stat (Makefile.am): Substitute their values into
53395         sys/stat.h.
53396
53397 2007-05-01  Bruno Haible  <bruno@clisp.org>
53398
53399         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
53400         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
53401         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
53402
53403 2007-05-01  Bruno Haible  <bruno@clisp.org>
53404
53405         * doc/header/assert.texi: Undo last change: don't mention the gnulib
53406         'assert' module here.
53407
53408 2007-05-01  Bruno Haible  <bruno@clisp.org>
53409
53410         * doc/functions/*.texi: New files.
53411         * doc/functions/google-ranking.txt: New file.
53412         * doc/gnulib.texi (Function Substitutes): New chapter.
53413         (ctime, inet_ntoa): Remove sections.
53414         * doc/ctime.texi: Remove file.
53415         * doc/inet_ntoa.texi: Remove file.
53416         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
53417         dependencies.
53418         (%.info): New rule, specifying a --reference-limit.
53419
53420 2007-05-01  Bruno Haible  <bruno@clisp.org>
53421
53422         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
53423
53424 2007-05-01  Bruno Haible  <bruno@clisp.org>
53425
53426         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
53427         the portability of 'mkdir' to mingw systems.
53428
53429 2007-05-01  Bruno Haible  <bruno@clisp.org>
53430
53431         * doc/headers/google-ranking.txt: New file.
53432
53433 2007-04-30  Eric Blake  <ebb9@byu.net>
53434
53435         Prefer fseeko to fseek.
53436         * modules/getpass (Depends-on): Add fseeko.
53437         * lib/getpass.c (getpass): Use fseeko, not fseek.
53438
53439 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
53440
53441         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
53442         assumes the sorting is stable, while most qsort implementations
53443         are not.  Use argument addresses to ensure they never compare as
53444         equal.
53445
53446         * tests/test-argp-2.sh (usage-indent test): Fix output
53447         (func_compare): Restore diff options
53448         * tests/test-argp.c: Restore #include "progname.h"
53449
53450 2007-04-29  Bruno Haible  <bruno@clisp.org>
53451
53452         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
53453         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
53454         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
53455         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
53456         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
53457         (configure.ac): Define CHECK_SNPRINTF_POSIX.
53458         (TESTS, check_PROGRAMS): Add test-snprintf.
53459         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
53460         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
53461         (TESTS, check_PROGRAMS): Add test-vsnprintf.
53462         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
53463         assertions that fail on HP-UX, OSF/1, or IRIX.
53464         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
53465
53466 2007-04-29  Bruno Haible  <bruno@clisp.org>
53467
53468         * MODULES.html.sh (posix_functions): Remove 'contents'.
53469
53470 2007-04-29  Karl Berry  <karl@gnu.org>
53471
53472         * config/srclist.txt (gendocs_template_min): new entry.
53473
53474 2007-04-29  Bruno Haible  <bruno@clisp.org>
53475
53476         Work around fpurge bug on BSD systems.
53477         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
53478         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
53479         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
53480         fpurge to rpl_fpurge if the system already has this function.
53481         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
53482         the case where the system already has this function. Correct invariants
53483         on BSD systems.
53484         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
53485         BSD systems.
53486
53487 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
53488
53489         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
53490         proposed by Sven Verdoolaege.
53491
53492         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
53493         options.
53494         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
53495         (usage and help tests): Update
53496
53497 2007-04-29  Bruno Haible  <bruno@clisp.org>
53498
53499         * tests/test-fflush.c (main): Use a file of size 17, not 10.
53500         Print more information in case of failure. Disable a test on BeOS.
53501
53502 2007-04-29  Bruno Haible  <bruno@clisp.org>
53503
53504         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
53505         This helps debugging on systems on which no gdb is available.
53506
53507 2007-04-29  Bruno Haible  <bruno@clisp.org>
53508
53509         * lib/freading.h: Improve comments.
53510         * lib/fwriting.h: Likewise.
53511         * tests/test-freading.c (main): Don't check freading immediately after
53512         repositioning. Needed for glibc.
53513
53514 2007-04-29  Bruno Haible  <bruno@clisp.org>
53515
53516         * lib/freading.c (freading): Trivial simplification.
53517
53518 2007-04-28  Bruno Haible  <bruno@clisp.org>
53519
53520         * tests/test-fwriting.c (main): Also test the interaction between
53521         fflush and fwriting.
53522         * modules/fwriting-tests (Depends-on): Add fflush.
53523
53524         * tests/test-freading.c (main): Also test the interaction between
53525         fflush and freading.
53526         * modules/freading-tests (Depends-on): Add fflush.
53527
53528 2007-04-28  Bruno Haible  <bruno@clisp.org>
53529
53530         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
53531         fseeko and ftello.
53532         Suggested by Eric Blake.
53533
53534 2007-04-28  Jim Meyering  <jim@meyering.net>
53535
53536         Avoid false-negative in gl_STDINT_H's C99 conformance test.
53537         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
53538         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
53539
53540 2007-04-27  Eric Blake  <ebb9@byu.net>
53541
53542         * doc/headers/assert.texi (assert.h): Document assert module use.
53543
53544 2007-04-27  Bruno Haible  <bruno@clisp.org>
53545
53546         * doc/headers/*.texi: New files.
53547         * doc/gnulib.texi (Header File Substitutes): New chapter.
53548         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
53549         dependencies.
53550         (standards.info ,standards.html, standards.dvi): Update dependencies.
53551         (mostlyclean, clean): New targets.
53552
53553 2007-04-27  Bruno Haible  <bruno@clisp.org>
53554
53555         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
53556         * modules/sysexits (Files, Makefile.am): Update.
53557
53558         * lib/sys_socket_.h: Renamed from lib/socket_.h.
53559         * modules/sys_socket (Files, Makefile.am): Update.
53560
53561         * lib/sys_stat_.h: Renamed from lib/stat_.h.
53562         * modules/sys_stat (Files, Makefile.am): Update.
53563
53564 2007-04-27  Eric Blake  <ebb9@byu.net>
53565
53566         * lib/freading.h: Improve comments.
53567         * lib/fwriting.h: Likewise.
53568         * lib/fflush.c: Likewise.
53569
53570         Fix closein for mingw.
53571         * modules/closein-tests: Add tests for closein.
53572         * tests/test-closein.c: New file.
53573         * tests/test-closein.sh: Likewise.
53574         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
53575         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
53576
53577 2007-04-27  Bruno Haible  <bruno@clisp.org>
53578
53579         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
53580         version is < 6.
53581         * lib/math_.h [__DECC]: Likewise.
53582         * lib/stdio_.h [__DECC]: Likewise.
53583         * lib/stdlib_.h [__DECC]: Likewise.
53584         * lib/string_.h [__DECC]: Likewise.
53585         * lib/time_.h [__DECC]: Likewise.
53586         * lib/wchar_.h [__DECC]: Likewise.
53587         * lib/wctype_.h [__DECC]: Likewise.
53588
53589 2007-04-27  Bruno Haible  <bruno@clisp.org>
53590
53591         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
53592
53593 2007-04-27  Bruno Haible  <bruno@clisp.org>
53594
53595         * lib/fflush.c: Add comments.
53596         * modules/fpurge-tests (Depends-on): Add fflush.
53597         * modules/freadable-tests (Depends-on): Likewise.
53598         * modules/fwritable-tests (Depends-on): Likewise.
53599
53600 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
53601
53602         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
53603         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
53604         Report by Bruno Haible <bruno@clisp.org>.
53605
53606 2007-04-26  Eric Blake  <ebb9@byu.net>
53607
53608         Fix fflush on mingw.
53609         * modules/fflush (Depends-on): Add freading.
53610         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
53611         but unread data.
53612
53613 2007-04-26  Eric Blake  <ebb9@byu.net>
53614         and Bruno Haible  <bruno@clisp.org>
53615
53616         Implement freading and fwriting.
53617         * lib/freading.c: New file.
53618         * lib/freading.h: Likewise.
53619         * m4/freading.m4: Likewise.
53620         * modules/freading: Likewise.
53621         * modules/freading-tests: Likewise.
53622         * tests/test-freading.c: Likewise.
53623         * lib/fwriting.c: New file.
53624         * lib/fwriting.h: Likewise.
53625         * m4/fwriting.m4: Likewise.
53626         * modules/fwriting: Likewise.
53627         * modules/fwriting-tests: Likewise.
53628         * tests/test-fwriting.c: Likewise.
53629         * MODULES.html.sh (File stream based Input/Output): Mention them.
53630
53631 2007-04-26  Bruno Haible  <bruno@clisp.org>
53632
53633         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
53634         'long' when we assume it.
53635         Suggested by Eric Blake.
53636
53637 2007-04-26  Bruno Haible  <bruno@clisp.org>
53638
53639         Ensure fseeko, ftello are declared on glibc systems.
53640         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
53641         * modules/fseeko (configure.ac-early): Likewise.
53642         * modules/ftello (configure.ac-early): Likewise.
53643         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
53644         AC_FUNC_FSEEKO for this.
53645         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
53646         (gl_CHECK_FSEEKO): Remove macro.
53647
53648 2007-04-26  Bruno Haible  <bruno@clisp.org>
53649
53650         * tests/test-fflush.c (main): Also check the ftell result after
53651         fflush and fseek/fseeko.
53652         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
53653         file descriptor position cache in the stream.
53654         * lib/fseeko.c (rpl_fseeko): Likewise.
53655
53656 2007-04-26  Bruno Haible  <bruno@clisp.org>
53657
53658         * modules/fflush-tests (Depends-on): Add fseeko.
53659
53660 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
53661             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53662
53663         * lib/argz_.h: ensure error_t definition is obtained in same
53664         mechanism system argz.h would have.
53665         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
53666         argz facilities are known bad.  Err on the side of caution if
53667         cross-compiling.
53668
53669 2007-04-25  Eric Blake  <ebb9@byu.net>
53670
53671         * lib/fpurge.c (includes): Use stdlib.h for free.
53672         * tests/test-fflush.c (main): Also test fflush-fseeko.
53673
53674 2007-04-25  Bruno Haible  <bruno@clisp.org>
53675
53676         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
53677         * lib/fseeko.c: New file.
53678         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
53679         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
53680         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
53681         gl_FUNC_FSEEKO.
53682         (gl_FUNC_FSEEKO): Invoke it.
53683         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
53684         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
53685         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
53686
53687 2007-04-25  Bruno Haible  <bruno@clisp.org>
53688
53689         * modules/fflush (Depends-on): Add ftello.
53690
53691 2007-04-25  Bruno Haible  <bruno@clisp.org>
53692
53693         * modules/ftello-tests: New file.
53694         * tests/test-ftello.c: New file.
53695
53696         * modules/ftello: New file.
53697         * m4/ftello.m4: New file.
53698         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
53699         HAVE_FTELLO.
53700         * lib/stdio_.h (ftello): New declaration.
53701         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
53702         HAVE_FTELLO.
53703
53704 2007-04-25  Bruno Haible  <bruno@clisp.org>
53705
53706         * modules/fseeko-tests: New file.
53707         * tests/test-fseeko.c: New file.
53708
53709         * modules/fseeko: New file.
53710         * m4/fseeko.m4: New file.
53711         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
53712         HAVE_FSEEKO.
53713         * lib/stdio_.h (fseeko): New declaration.
53714         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
53715         HAVE_FSEEKO.
53716
53717 2007-04-25  Bruno Haible  <bruno@clisp.org>
53718
53719         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
53720
53721 2007-04-25  Bruno Haible  <bruno@clisp.org>
53722
53723         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
53724         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
53725         * tests/test-unistd.c: Likewise.
53726         * tests/test-fcntl.c: Likewise.
53727
53728 2007-04-23  Eric Blake  <ebb9@byu.net>
53729
53730         * lib/fflush.c: Fix missing include.
53731         Reported by Bruno Haible.
53732
53733 2007-04-23  Bruno Haible  <bruno@clisp.org>
53734
53735         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
53736         Reported by Eric Blake.
53737
53738 2007-04-23  Bruno Haible  <bruno@clisp.org>
53739
53740         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
53741
53742 2007-04-23  Bruno Haible  <bruno@clisp.org>
53743
53744         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
53745
53746 2007-04-23  Bruno Haible  <bruno@clisp.org>
53747
53748         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
53749         Needed on HP-UX 11.
53750
53751 2007-04-16  Eric Blake  <ebb9@byu.net>
53752
53753         Make fflush rely on fpurge.
53754         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
53755         open coding all variants.
53756         * modules/fflush (Depends-on): Add fpurge and unistd.
53757         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
53758         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
53759
53760         Fix --with-tests compilation on cygwin.
53761         * modules/argmatch-tests (Makefile.am): List gnulib library first
53762         in LDADD.
53763         * modules/argp-tests (Makefile.am): Likewise.
53764         * modules/array-list-tests (Makefile.am): Likewise.
53765         * modules/array-oset-tests (Makefile.am): Likewise.
53766         * modules/avltree-list-tests (Makefile.am): Likewise.
53767         * modules/avltree-oset-tests (Makefile.am): Likewise.
53768         * modules/avltreehash-list-tests (Makefile.am): Likewise.
53769         * modules/carray-list-tests (Makefile.am): Likewise.
53770         * modules/dirname-tests (Makefile.am): Likewise.
53771         * modules/frexp-tests (Makefile.am): Likewise.
53772         * modules/isnanl-tests (Makefile.am): Likewise.
53773         * modules/linked-list-tests (Makefile.am): Likewise.
53774         * modules/linkedhash-list-tests (Makefile.am): Likewise.
53775         * modules/lock-tests (Makefile.am): Likewise.
53776         * modules/rbtree-list-tests (Makefile.am): Likewise.
53777         * modules/rbtree-oset-tests (Makefile.am): Likewise.
53778         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
53779         * modules/tls-tests (Makefile.am): Likewise.
53780         * modules/tsearch-tests (Makefile.am): Likewise.
53781         * modules/xvasprintf-tests (Makefile.am): Likewise.
53782
53783         Fix fpurge for cygwin.
53784         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
53785         value.
53786         * modules/fpurge-tests (Depends-on): Clean up trash.
53787
53788 2007-04-16  Simon Josefsson  <simon@josefsson.org>
53789
53790         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
53791
53792         * m4/autobuild.m4: Re-indent.
53793
53794 2007-04-13  Bruno Haible  <bruno@clisp.org>
53795
53796         * modules/fpurge-tests: New file.
53797         * tests/test-fpurge.c: New file.
53798
53799         * modules/fpurge: New file.
53800         * lib/fpurge.h: New file.
53801         * lib/fpurge.c: New file.
53802         * m4/fpurge.m4: New file.
53803
53804 2007-04-13  Bruno Haible  <bruno@clisp.org>
53805
53806         * modules/fbufmode-tests: New file.
53807         * tests/test-fbufmode.c: New file.
53808
53809         * modules/fbufmode: New file.
53810         * lib/fbufmode.h: New file.
53811         * lib/fbufmode.c: New file.
53812         * m4/fbufmode.m4: New file.
53813
53814 2007-04-13  Bruno Haible  <bruno@clisp.org>
53815
53816         * modules/fwritable-tests: New file.
53817         * tests/test-fwritable.c: New file.
53818
53819         * modules/fwritable: New file.
53820         * lib/fwritable.h: New file.
53821         * lib/fwritable.c: New file.
53822         * m4/fwritable.m4: New file.
53823
53824 2007-04-13  Bruno Haible  <bruno@clisp.org>
53825
53826         * modules/freadable-tests: New file.
53827         * tests/test-freadable.c: New file.
53828
53829         * modules/freadable: New file.
53830         * lib/freadable.h: New file.
53831         * lib/freadable.c: New file.
53832         * m4/freadable.m4: New file.
53833
53834 2007-04-13  Bruno Haible  <bruno@clisp.org>
53835
53836         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
53837         MOSTLYCLEANFILES.
53838
53839 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
53840
53841         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
53842         gzip bootstrap.conf to avoid dragging in i18n machinery.
53843         (gnulib_tool_option): Use it.
53844
53845 2007-04-13  Bruno Haible  <bruno@clisp.org>
53846
53847         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
53848         %F directives.
53849         * tests/test-vasprintf-posix.c (test_function): Likewise.
53850         * tests/test-snprintf-posix.h (test_function): Likewise.
53851         * tests/test-sprintf-posix.h (test_function): Likewise.
53852         * tests/test-fprintf-posix.h (test_function): Likewise.
53853         * tests/test-printf-posix.h (test_function): Likewise.
53854         * tests/test-fprintf-posix.out: Likewise.
53855
53856 2007-04-13  Bruno Haible  <bruno@clisp.org>
53857
53858         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
53859         * modules/tls-tests (configure.ac): Likewise.
53860         Reported by Arto C. Nirkko <anirkko@insel.ch>.
53861
53862 2007-04-13  Bruno Haible  <bruno@clisp.org>
53863
53864         * lib/tls.c (glthread_tls_get): Fix return type.
53865         Patch by Arto C. Nirkko <anirkko@insel.ch>.
53866
53867 2007-04-12  Eric Blake  <ebb9@byu.net>
53868
53869         * modules/gettime (Depends-on): Remove gettime.
53870         Reported by Dmitry V. Levin.
53871
53872 2007-04-12  Bruno Haible  <bruno@clisp.org>
53873
53874         * modules/fflush (Include): Mention <stdio.h>.
53875         * modules/strtoimax (Include): Mention <inttypes.h>.
53876         * modules/strtoumax (Include): Likewise.
53877
53878 2007-04-12  Eric Blake  <ebb9@byu.net>
53879
53880         * .cvsignore: New file.
53881         * .gitignore: Likewise.
53882
53883 2007-04-12  Bruno Haible  <bruno@clisp.org>
53884
53885         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
53886         not before, since $(LDADD) often contains libgnu.a.
53887         * modules/striconv-tests (test_striconv_LDADD): Likewise.
53888         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
53889         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
53890         Needed on Cygwin.
53891
53892 2007-04-12  Eric Blake  <ebb9@byu.net>
53893
53894         Work around glibc's failure to flush stdin on fclose.
53895         * lib/closein.c (close_stdin): Flush stdin before closing.
53896
53897         Work around glibc's failure to reset seekable stdin on exit.
53898         * modules/closein: New module.
53899         * lib/closein.c: New file.
53900         * lib/closein.h: Likewise.
53901         * m4/closein.m4: Likewise.
53902         * MODULES.html.sh (File stream based Input/Output): Document it.
53903
53904 2007-04-12  Simon Josefsson  <simon@josefsson.org>
53905
53906         * gnulib-tool: Rename generated 'autobuild' script to
53907         'do-autobuild' in --create-megatestdir output.
53908
53909         * doc/gnulib.texi (Build robot for gnulib): Fix.
53910
53911 2007-04-12  Simon Josefsson  <simon@josefsson.org>
53912
53913         * modules/sysexits (Depends-on): Add absolute-header.
53914
53915 2007-04-12  Eric Blake  <ebb9@byu.net>
53916
53917         No need to preserve errno on success.
53918         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
53919         Reported by Bruno Haible.
53920
53921 2007-04-12  Simon Josefsson  <simon@josefsson.org>
53922
53923         * MODULES.html.sh (Support for maintaining and releasing
53924         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
53925
53926 2007-04-12  Simon Josefsson  <simon@josefsson.org>
53927
53928         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
53929
53930 2007-04-12  Simon Josefsson  <simon@josefsson.org>
53931
53932         * modules/autobuild: New module.
53933
53934         * m4/autobuild.m4: New file.
53935
53936 2007-04-11  Bruno Haible  <bruno@clisp.org>
53937
53938         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
53939         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
53940         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
53941         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
53942         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
53943         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
53944         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
53945         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
53946         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
53947         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
53948         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
53949         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
53950         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
53951         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
53952         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
53953         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
53954         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
53955         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
53956         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
53957         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
53958         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
53959         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
53960         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
53961         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
53962         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
53963         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
53964         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
53965         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
53966         Reported by Eric Blake.
53967
53968 2007-04-11  Bruno Haible  <bruno@clisp.org>
53969
53970         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
53971
53972 2007-04-10  Bruno Haible  <bruno@clisp.org>
53973
53974         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
53975         for NaN and Infinity. Needed on FreeBSD 6.1.
53976         * tests/test-vasnprintf-posix.c (test_function): Undo last change
53977         regarding results for "%010a" of Infinity and NaN.
53978         * tests/test-vasprintf-posix.c (test_function): Likewise.
53979         * tests/test-snprintf-posix.h (test_function): Likewise.
53980         * tests/test-sprintf-posix.h (test_function): Likewise.
53981         * tests/test-fprintf-posix.h (test_function): Likewise.
53982         * tests/test-printf-posix.h (test_function): Likewise.
53983         * tests/test-fprintf-posix.out: Likewise.
53984
53985 2007-04-10  Bruno Haible  <bruno@clisp.org>
53986
53987         * modules/locale-tests: New file.
53988         * tests/test-locale.c: New file.
53989
53990         * modules/locale: New file.
53991         * lib/locale_.h: New file.
53992         * m4/locale_h.m4: New file.
53993
53994 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
53995             Bruno Haible  <bruno@clisp.org>
53996
53997         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
53998         be determined, test for availability of the copysignf, copysign,
53999         copysignl functions.
54000         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
54001         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
54002         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
54003
54004 2007-04-09  Eric Blake  <ebb9@byu.net>
54005
54006         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
54007         * modules/stdio (Makefile.am): Support fflush.
54008         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
54009         * modules/fflush: New file.
54010         * lib/fflush.c: Likewise.
54011         * m4/fflush.m4: Likewise.
54012         * modules/fflush-tests: New test.
54013         * tests/test-fflush.c: Likewise.
54014         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
54015
54016 2007-04-06  Bruno Haible  <bruno@clisp.org>
54017
54018         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
54019         (VASNPRINTF): Use signbit for faster determination whether to print a
54020         minus sign.
54021         * modules/vasnprintf (Files): Remove lib/float+.h.
54022         * modules/fprintf-posix (Depends-on): Add signbit.
54023         * modules/snprintf-posix (Depends-on): Likewise.
54024         * modules/sprintf-posix (Depends-on): Likewise.
54025         * modules/vasnprintf-posix (Depends-on): Likewise.
54026         * modules/vasprintf-posix (Depends-on): Likewise.
54027         * modules/vfprintf-posix (Depends-on): Likewise.
54028         * modules/vsnprintf-posix (Depends-on): Likewise.
54029         * modules/vsprintf-posix (Depends-on): Likewise.
54030
54031 2007-04-06  Bruno Haible  <bruno@clisp.org>
54032
54033         * tests/test-frexp.c (main): Test also the sign bit of zero results.
54034         * tests/test-frexpl.c (main): Likewise.
54035         * tests/test-ldexpl.c (main): Likewise.
54036         * modules/frexp-tests (Depends-on): Add signbit.
54037         * modules/frexpl-tests (Depdends-on): Likewise.
54038         * modules/ldexpl-tests (Depdends-on): Likewise.
54039
54040 2007-04-06  Bruno Haible  <bruno@clisp.org>
54041
54042         * modules/signbit-tests: New file.
54043         * tests/test-signbit.c: New file.
54044
54045         * modules/signbit: New file.
54046         * lib/signbitf.c: New file.
54047         * lib/signbitd.c: New file.
54048         * lib/signbitl.c: New file.
54049         * m4/signbit.m4: New file.
54050         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
54051         (signbit): New macro.
54052         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
54053         REPLACE_SIGNBIT.
54054         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
54055         REPLACE_FREXPL into math.h.
54056
54057 2007-04-06  Bruno Haible  <bruno@clisp.org>
54058
54059         * modules/isnanf-nolibm-tests: New file.
54060         * tests/test-isnanf.c: New file.
54061
54062         * modules/isnanf-nolibm: New file.
54063         * lib/isnanf.h: New file.
54064         * lib/isnanf.c: New file.
54065         * lib/isnan.c: Consider the USE_FLOAT macro.
54066         * m4/isnanf.m4: New file.
54067
54068 2007-04-06  Bruno Haible  <bruno@clisp.org>
54069
54070         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
54071         (Link): New section.
54072
54073         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
54074
54075 2007-04-06  Bruno Haible  <bruno@clisp.org>
54076
54077         Assume the 'long double' type.
54078         * m4/longdouble.m4: Remove file.
54079         * config/srclist.txt: Don't mention longdouble.m4.
54080         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
54081         * lib/float+.h: Likewise.
54082         * lib/frexp.c: Likewise.
54083         * lib/printf-args.h: Likewise.
54084         * lib/printf-args.c: Likewise.
54085         * lib/printf-frexp.c: Likewise.
54086         * lib/printf-parse.c: Likewise.
54087         * lib/vasnprintf.c: Likewise.
54088         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
54089         * m4/intl.m4: Likewise.
54090         * m4/isnanl.m4: Likewise.
54091         * m4/printf.m4: Likewise.
54092         * m4/printf-frexpl.m4: Likewise.
54093         * m4/vasnprintf.m4: Likewise.
54094         * modules/allocsa (Files): Remove m4/longdouble.m4.
54095         * modules/gettext (Files): Likewise.
54096         * modules/relocatable-prog-wrapper (Files): Likewise.
54097         * modules/vasnprintf (Files): Likewise.
54098         * modules/isnanl (Files): Likewise.
54099         (Include): Simplify.
54100         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
54101         (Include): Simplify.
54102         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
54103         (Include): Simplify.
54104         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
54105         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
54106         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
54107         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
54108         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
54109         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
54110         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
54111         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
54112         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
54113         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
54114         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
54115         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
54116         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
54117         * tests/test-isnanl.c: Likewise.
54118         * tests/test-snprintf-posix.h: Likewise.
54119         * tests/test-sprintf-posix.h: Likewise.
54120         * tests/test-vasnprintf-posix.c: Likewise.
54121         * tests/test-vasnprintf-posix2.c: Likewise.
54122         * tests/test-vasprintf-posix.c: Likewise.
54123
54124 2007-04-06  Bruno Haible  <bruno@clisp.org>
54125
54126         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
54127         * lib/math_.h [__DECC]: Include the overridden include file through
54128         #include_next, outside the double-inclusion guard.
54129         * lib/stdio_.h [__DECC]: Likewise.
54130         * lib/stdlib_.h [__DECC]: Likewise.
54131         * lib/string_.h [__DECC]: Likewise.
54132         * lib/time_.h [__DECC]: Likewise.
54133         * lib/wchar_.h [__DECC]: Likewise.
54134         * lib/wctype_.h [__DECC]: Likewise.
54135         * lib/inttypes_.h [__DECC]: Likewise.
54136         Reported by Albert Chin <china@thewrittenword.com> in
54137         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
54138
54139 2007-04-04  Eric Blake  <ebb9@byu.net>
54140
54141         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
54142         1.5.x.
54143
54144 2007-04-04  Bruno Haible  <bruno@clisp.org>
54145
54146         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
54147         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
54148
54149 2007-04-04  Bruno Haible  <bruno@clisp.org>
54150
54151         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
54152         results for "%010a" of Infinity and NaN.
54153         * tests/test-vasprintf-posix.c (test_function): Likewise.
54154         * tests/test-snprintf-posix.h (test_function): Likewise.
54155         * tests/test-sprintf-posix.h (test_function): Likewise.
54156         * tests/test-fprintf-posix.h (test_function): Remove these tests.
54157         * tests/test-printf-posix.h (test_function): Likewise.
54158         * tests/test-fprintf-posix.out: Update.
54159         Needed for FreeBSD 6.1.
54160
54161 2007-04-04  Bruno Haible  <bruno@clisp.org>
54162
54163         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
54164         directly used by the gnulib modules nor by gnulib-tool.
54165
54166 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
54167
54168         * DEPENDENCIES: Give overall description of version dependency
54169         desirability.  Use more-typical names for apps.
54170         Add shell, coreutils, diffutils, grep, tar, gzip.
54171
54172 2007-04-04  Simon Josefsson  <simon@josefsson.org>
54173
54174         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
54175
54176 2007-04-04  Karl Berry  <karl@gnu.org>
54177
54178         * MODULES.html.sh (func_module): missing '.
54179
54180 2007-04-03  Bruno Haible  <bruno@clisp.org>
54181
54182         * modules/argmatch-tests (Makefile.am): New variable
54183         test_argmatch_LDADD.
54184         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
54185         * modules/array-list-tests (Makefile.am): New variable
54186         test_array_list_LDADD.
54187         * modules/array-oset-tests (Makefile.am): New variable
54188         test_array_oset_LDADD.
54189         * modules/avltree-list-tests (Makefile.am): New variable
54190         test_avltree_list_LDADD.
54191         * modules/avltree-oset-tests (Makefile.am): New variable
54192         test_avltree_oset_LDADD.
54193         * modules/avltreehash-list-tests (Makefile.am): New variable
54194         test_avltreehash_list_LDADD.
54195         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
54196         test_canonicalize_lgpl_LDADD.
54197         * modules/carray-list-tests (Makefile.am): New variable
54198         test_carray_list_LDADD.
54199         * modules/dirname-tests (Makefile.am): New variable
54200         test_dirname_LDADD.
54201         * modules/linked-list-tests (Makefile.am): New variable
54202         test_linked_list_LDADD.
54203         * modules/linkedhash-list-tests (Makefile.am): New variable
54204         test_linkedhash_list_LDADD.
54205         * modules/rbtree-list-tests (Makefile.am): New variable
54206         test_rbtree_list_LDADD.
54207         * modules/rbtree-oset-tests (Makefile.am): New variable
54208         test_rbtree_oset_LDADD.
54209         * modules/rbtreehash-list-tests (Makefile.am): New variable
54210         test_rbtreehash_list_LDADD.
54211         * modules/xvasprintf-tests (Makefile.am): New variable
54212         test_xvasprintf_LDADD.
54213         Reported by Eric Blake.
54214
54215 2007-04-03  Eric Blake  <ebb9@byu.net>
54216
54217         * DEPENDENCIES: Weaken m4 requirements.
54218
54219 2007-04-03  Bruno Haible  <bruno@clisp.org>
54220
54221         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
54222         * modules/isnanl-tests (configure.ac): Likewise.
54223
54224 2007-04-03  Ben Pfaff  <blp@gnu.org>
54225
54226         * modules/iconv_open: Add $(srcdir)/ to source directory
54227         references in Makefile fragments that call gperf, to fix VPATH
54228         builds.
54229
54230 2007-04-03  Bruno Haible  <bruno@clisp.org>
54231
54232         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
54233         * lib/ldexpl.c: Undo last change.
54234
54235 2007-04-03  Bruno Haible  <bruno@clisp.org>
54236
54237         * modules/printf-frexpl (Depends-on): Undo last change.
54238         (Files): Add m4/ldexpl.m4.
54239
54240 2007-04-03  Bruno Haible  <bruno@clisp.org>
54241
54242         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
54243         * modules/isnanl (Link): New section.
54244
54245         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
54246         * modules/frexp (Link): New section.
54247
54248         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
54249         * modules/frexpl (Link): New section.
54250
54251         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
54252         * modules/ldexpl (Link): New section.
54253
54254 2007-04-03  Bruno Haible  <bruno@clisp.org>
54255
54256         * modules/TEMPLATE-EXTENDED: New file.
54257         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
54258
54259 2007-04-03  Bruno Haible  <bruno@clisp.org>
54260
54261         * DEPENDENCIES: New file.
54262         Suggested by Simon Josefsson.
54263
54264 2007-04-03  Bruno Haible  <bruno@clisp.org>
54265
54266         * doc/gnulib.texi: Escape @.
54267
54268 2007-04-03  James Youngman  <jay@gnu.org>
54269         and Paul Eggert  <eggert@cs.ucla.edu>
54270
54271         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
54272         birthtime on all systems that have birthtime, not just those which
54273         use st_birthtimensec rather than st_birthtim.  Putting zero in
54274         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
54275         that the birth time is not available for files on an NFS mount.
54276
54277 2007-04-03  Simon Josefsson  <simon@josefsson.org>
54278
54279         * modules/memxor: Move back from crypto/, suggested by Bruno.
54280         * modules/crypto/hmac-sha1: Fix memxor dependency.
54281
54282         * modules/crypto/gc: Moved from ../.
54283
54284 2007-04-02  Eric Blake  <ebb9@byu.net>
54285
54286         * lib/ldexpl.c (includes): Avoid libm.
54287
54288         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
54289
54290 2007-04-02  Bruno Haible  <bruno@clisp.org>
54291
54292         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
54293         on IRIX.
54294
54295 2007-04-02  Bruno Haible  <bruno@clisp.org>
54296
54297         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
54298         x86 or x86_64 platforms running MacOS X.
54299         Reported by Ryan Schmidt <@ryandesign.com>.
54300
54301 2007-04-02  Bruno Haible  <bruno@clisp.org>
54302
54303         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
54304         i386.
54305
54306 2007-04-01  Simon Josefsson  <simon@josefsson.org>
54307
54308         * modules/crypto/arcfour: Moved from ../.
54309         * modules/crypto/arcfour-tests: Moved from ../.
54310         * modules/crypto/arctwo: Moved from ../.
54311         * modules/crypto/arctwo-tests: Moved from ../.
54312         * modules/crypto/des: Moved from ../.
54313         * modules/crypto/des-tests: Moved from ../.
54314         * modules/crypto/gc-arcfour: Moved from ../.
54315         * modules/crypto/gc-arcfour-tests: Moved from ../.
54316         * modules/crypto/gc-arctwo: Moved from ../.
54317         * modules/crypto/gc-arctwo-tests: Moved from ../.
54318         * modules/crypto/gc-des: Moved from ../.
54319         * modules/crypto/gc-des-tests: Moved from ../.
54320         * modules/crypto/gc-hmac-md5: Moved from ../.
54321         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
54322         * modules/crypto/gc-hmac-sha1: Moved from ../.
54323         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
54324         * modules/crypto/gc-md2: Moved from ../.
54325         * modules/crypto/gc-md2-tests: Moved from ../.
54326         * modules/crypto/gc-md4: Moved from ../.
54327         * modules/crypto/gc-md4-tests: Moved from ../.
54328         * modules/crypto/gc-md5: Moved from ../.
54329         * modules/crypto/gc-md5-tests: Moved from ../.
54330         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
54331         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
54332         * modules/crypto/gc-random: Moved from ../.
54333         * modules/crypto/gc-rijndael: Moved from ../.
54334         * modules/crypto/gc-rijndael-tests: Moved from ../.
54335         * modules/crypto/gc-sha1: Moved from ../.
54336         * modules/crypto/gc-sha1-tests: Moved from ../.
54337         * modules/crypto/gc-tests: Moved from ../.
54338         * modules/crypto/hmac-md5: Moved from ../.
54339         * modules/crypto/hmac-md5-tests: Moved from ../.
54340         * modules/crypto/hmac-sha1: Moved from ../.
54341         * modules/crypto/hmac-sha1-tests: Moved from ../.
54342         * modules/crypto/md2: Moved from ../.
54343         * modules/crypto/md2-tests: Moved from ../.
54344         * modules/crypto/md4: Moved from ../.
54345         * modules/crypto/md4-tests: Moved from ../.
54346         * modules/crypto/md5: Moved from ../.
54347         * modules/crypto/md5-tests: Moved from ../.
54348         * modules/crypto/memxor: Moved from ../.
54349         * modules/crypto/rijndael: Moved from ../.
54350         * modules/crypto/rijndael-tests: Moved from ../.
54351         * modules/crypto/sha1: Moved from ../.
54352
54353 2007-03-30  James Youngman  <jay@gnu.org>
54354
54355         * tests/test-stat-time.c (prepare_test): use chmod() rather than
54356         rename() to change the ctime of a file (because ctime is unaffected
54357         by rename on jfs2 on AIX 5.1).
54358         (main): Start by doing cleanup, in case a previous run failed leaving
54359         test files behind.
54360
54361 2007-03-31  Bruno Haible  <bruno@clisp.org>
54362
54363         Support old proprietary implementations of iconv.
54364         * modules/iconv_open: New file.
54365         * lib/iconv_.h: New file.
54366         * m4/iconv_h.m4: New file.
54367         * lib/iconv_open.c: New file.
54368         * lib/iconv_open-aix.gperf: New file.
54369         * lib/iconv_open-hpux.gperf: New file.
54370         * lib/iconv_open-irix.gperf: New file.
54371         * lib/iconv_open-osf.gperf: New file.
54372         * m4/iconv_open.m4: New file.
54373         * modules/linebreak (Depends-on): Add iconv_open.
54374         * modules/striconv (Depends-on): Likewise.
54375         * modules/striconveh (Depends-on): Likewise.
54376         * modules/unicodeio (Depends-on): Likewise.
54377         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
54378         (iconv_t)(-1).
54379         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
54380         conversion if cd is (iconv_t)(-1).
54381         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
54382         is not possible.
54383
54384 2007-03-31  Bruno Haible  <bruno@clisp.org>
54385
54386         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
54387         work on Solaris either. Protect also second use of "autodetect_jp".
54388
54389 2007-03-31  Bruno Haible  <bruno@clisp.org>
54390
54391         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
54392         the function is not present.
54393
54394 2007-03-31  Bruno Haible  <bruno@clisp.org>
54395
54396         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
54397         the function is not present.
54398
54399 2007-03-31  Bruno Haible  <bruno@clisp.org>
54400
54401         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
54402         a bug in HP-UX iconv_open().
54403
54404 2007-03-31  Bruno Haible  <bruno@clisp.org>
54405
54406         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
54407         (Mathematics <math.h>): New section, add fpieee.
54408         (Input/output <stdio.h>): Add fseterr.
54409         (Mathematics <math.h>): New section, add printf-frexp.
54410         (Container data structures): Add sublist.
54411         (Core language properties): Add fpucw, inline.
54412         (Functions for greatest-width integer types <inttypes.h>): Add
54413         imaxabs, imaxdiv, inttypes.
54414         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
54415         isnanl-nolibm, ldexp.
54416         (Mathematics <math.h>): New section, add printf-frexpl.
54417         (Support for systems lacking POSIX:2001): Add fprintf-posix,
54418         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
54419         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
54420         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
54421         (Unicode string functions): Add unistr/u*-mbtoucr.
54422         (Java): Add javacomp-script, javaexec-script.
54423         (C#): Add csharpcomp-script, csharpexec-script.
54424         (Support for building libraries and executables): Add havelib,
54425         relocatable-*.
54426         (Support for maintaining and releasing projects): Renamed from
54427         'Support for maintaining and release projects'. Add announce-gen.
54428
54429 2007-03-31  Bruno Haible  <bruno@clisp.org>
54430
54431         * README: Talk primarily about git.
54432         (git and CVS): Renamed from CVS.
54433         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
54434         gnulib is available through git.
54435         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
54436
54437 2007-03-30  Bruno Haible  <bruno@clisp.org>
54438
54439         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
54440         * lib/poll_.h: Likewise.
54441         * lib/stat_.h: Likewise.
54442         * lib/sys_time_.h: Likewise.
54443         * lib/sysexit_.h: Likewise.
54444         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
54445         * lib/stdbool_.h: Likewise.
54446         * lib/byteswap_.h: Add double-inclusion guard.
54447
54448 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
54449
54450         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
54451
54452 2007-03-30  Karl Berry  <karl@gnu.org>
54453
54454         * config/srclist-update: double space after USA in the license
54455         substitution, since that's how it's usually (?) written.
54456
54457 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
54458
54459         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
54460         reported by Bruno Haible.
54461
54462 2007-03-29  Bruno Haible  <bruno@clisp.org>
54463
54464         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
54465         a bug in AIX iconv().
54466
54467 2007-03-29  Bruno Haible  <bruno@clisp.org>
54468
54469         * modules/ldexpl-tests: New file.
54470         * tests/test-ldexpl.c: New file.
54471
54472 2007-03-29  Bruno Haible  <bruno@clisp.org>
54473
54474         * lib/ldexpl.c: Include fpucw.h.
54475         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
54476         multiplication.
54477         * modules/ldexpl (Depends-on): Add fpucw.
54478
54479 2007-03-29  Bruno Haible  <bruno@clisp.org>
54480
54481         * modules/ldexpl: New file.
54482         * m4/ldexpl.m4: New file.
54483         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
54484         set.
54485         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
54486         REPLACE_LDEXPL.
54487         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
54488         REPLACE_LDEXPL.
54489         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
54490         gl_FUNC_LDEXPL_WORKS.
54491         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
54492         * modules/mathl (Files): Remove lib/ldexpl.c.
54493         (Depends-on): Add ldexpl.
54494
54495 2007-03-29  Bruno Haible  <bruno@clisp.org>
54496
54497         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
54498
54499 2007-03-29  Bruno Haible  <bruno@clisp.org>
54500
54501         * tests/test-striconveh.c (main): Don't assume that a direct conversion
54502         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
54503         and possibly also HP-UX.
54504         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
54505         work on AIX, IRIX, HP-UX, OSF/1.
54506         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
54507         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
54508         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
54509         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
54510         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
54511         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
54512
54513 2007-03-29  Bruno Haible  <bruno@clisp.org>
54514
54515         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
54516
54517 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
54518
54519         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
54520         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
54521
54522 2007-03-29  Eric Blake  <ebb9@byu.net>
54523
54524         * lib/acl-internal.h: Remove redundant include.
54525         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
54526         Cygwin when a file is locked.
54527
54528 2007-03-29  Bruno Haible  <bruno@clisp.org>
54529
54530         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
54531         file.
54532         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
54533
54534 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
54535
54536         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
54537         try to remove a parent directory if the child couldn't be removed
54538         (except for the first rmdir, which could fail because the child
54539         doesn't exist).  Problem reported by Jeff Blaine in
54540         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
54541
54542 2007-03-28  Bruno Haible  <bruno@clisp.org>
54543
54544         * lib/striconveh.c (utf8conv_carefully): New function.
54545         (mem_cd_iconveh_internal): Invoke it.
54546
54547 2007-03-28  Bruno Haible  <bruno@clisp.org>
54548
54549         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
54550         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
54551         input.
54552         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
54553         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
54554         unistr/u8-uctomb.
54555
54556 2007-03-28  Bruno Haible  <bruno@clisp.org>
54557
54558         * modules/unistr/u8-mbtoucr: New file.
54559         * lib/unistr/u8-mbtoucr.c: New file.
54560         * modules/unistr/u16-mbtoucr: New file.
54561         * lib/unistr/u16-mbtoucr.c: New file.
54562         * modules/unistr/u16-mbtoucr: New file.
54563         * lib/unistr/u16-mbtoucr.c: New file.
54564         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
54565
54566 2007-03-27  Simon Josefsson  <simon@josefsson.org>
54567             Bruno Haible  <bruno@clisp.org>
54568
54569         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
54570         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
54571         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
54572
54573         * m4/stdio_h.m4: Add stubs for vasprintf too.
54574
54575         * modules/stdio: Support vasprintf in sed command.
54576
54577         * modules/vasprintf: Depend on stdio for prototypes.  Remove
54578         vasprintf.h.  Add stdio module indicator.
54579
54580         * lib/stdio_.h: Declare asprintf and vasprintf, based on
54581         vasprintf.h.
54582
54583         * lib/vasprintf.h: File removed.
54584
54585         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
54586         * lib/vasprintf.c: Ditto.
54587         * lib/xvasprintf.c: Ditto.
54588         * tests/test-vasprintf-posix.c: Ditto.
54589         * tests/test-vasprintf.c: Ditto.
54590
54591 2007-03-27  Bruno Haible  <bruno@clisp.org>
54592
54593         Make vasnprintf multithread-safe.
54594         * lib/vasnprintf.c (decimal_point_char): New function.
54595         (VASNPRINTF): Use it.
54596         Suggested by Simon Josefsson.
54597
54598 2007-03-27  Eric Blake  <ebb9@byu.net>
54599
54600         Support sub-second birthtime on cygwin.
54601         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
54602         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
54603         (get_stat_birthtime): Also work with st_birthtim.
54604
54605 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
54606
54607         * lib/stat-time.h (USE_BIRTHTIME): Remove.
54608         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
54609         (get_stat_birthtime_ns): Do not try to use "spare" fields.
54610         (get_stat_birthtime_ns): Simplify compile-time tests.
54611         (get_stat_birthtime): Change the API to look like
54612         get_stat_mtime etc., except return a negative tv_nsec on error.
54613         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
54614         Don't check for "spare" fields.
54615         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
54616         or for struct stat.st_birthtime, as these tests aren't used.
54617         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
54618
54619 2007-03-27  Bruno Haible  <bruno@clisp.org>
54620
54621         * lib/stat-time.h: Include <sys/stat.h>.
54622
54623 2007-03-27  James Youngman  <jay@gnu.org>
54624
54625         * lib/stat-time.h (get_stat_birthtime): New function for
54626           retrieving st_birthtime as provided by UFS2 (hence *BSD).
54627         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
54628           and its variants.
54629         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
54630         * modules/stat-time-test: New file.
54631         * tests/test-stat-time.c: New test, devised by Bruno Haible.
54632
54633 2007-03-26  Bruno Haible  <bruno@clisp.org>
54634
54635         Better support of signalling NaNs.
54636         * lib/atanl.c: Include isnanl.h.
54637         (atanl): Perform test for NaN at the beginning of the function and
54638         through a call to isnanl.
54639         * lib/cosl.c: Include isnanl.h.
54640         (cosl): Perform test for NaN at the beginning of the function and
54641         through a call to isnanl.
54642         * lib/ldexpl.c: Include isnanl.h.
54643         (ldexpl): Perform test for NaN through a call to isnanl.
54644         * lib/logl.c: Include isnanl.h.
54645         (logl): Perform test for NaN at the beginning of the function and
54646         through a call to isnanl.
54647         * lib/sinl.c: Include isnanl.h.
54648         (sinl): Perform test for NaN at the beginning of the function and
54649         through a call to isnanl.
54650         * lib/sqrtl.c: Include isnanl.h.
54651         (sqrtl): Perform test for NaN at the beginning of the function and
54652         through a call to isnanl.
54653         * lib/tanl.c: Include isnanl.h.
54654         (tanl): Perform test for NaN at the beginning of the function and
54655         through a call to isnanl.
54656         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
54657         * modules/mathl (Depends-on): Add isnanl.
54658
54659 2007-03-26  Eric Blake  <ebb9@byu.net>
54660
54661         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
54662         regression in logic sense of previous patch.
54663
54664 2007-03-26  Bruno Haible  <bruno@clisp.org>
54665
54666         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
54667         unportable shell command "if ! ...".
54668         Reported by Ralf Wildenhues.
54669
54670 2007-03-25  Bruno Haible  <bruno@clisp.org>
54671
54672         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
54673         <sysexits.h> file, and only add EX_CONFIG.
54674         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
54675         absolute file name and whether it is sufficient. Substitute also
54676         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
54677         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
54678         ABSOLUTE_SYSEXITS_H into sysexits.h.
54679
54680 2007-03-25  Bruno Haible  <bruno@clisp.org>
54681
54682         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
54683         hints is NULL.
54684
54685 2007-03-25  Bruno Haible  <bruno@clisp.org>
54686
54687         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
54688         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
54689
54690 2007-03-25  Bruno Haible  <bruno@clisp.org>
54691
54692         * lib/vasnprintf.c: Include langinfo.h.
54693         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
54694         multithread-safe.
54695         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
54696         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
54697         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
54698         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
54699         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
54700         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
54701         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
54702         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
54703         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
54704         Reported by Simon Josefsson.
54705
54706 2007-03-25  Bruno Haible  <bruno@clisp.org>
54707
54708         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
54709         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
54710         * modules/vasnprintf (Depends-on): Add stdint.
54711
54712 2007-03-25  Bruno Haible  <bruno@clisp.org>
54713
54714         * modules/fpieee: New file.
54715         * m4/fpieee.m4: New file.
54716         * modules/isnan-nolibm (Depends-on): Add fpieee.
54717         * modules/isnanl-nolibm (Depends-on): Add fpieee.
54718         * modules/isnanl (Depends-on): Add fpieee.
54719
54720 2007-03-25  Bruno Haible  <bruno@clisp.org>
54721
54722         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
54723
54724 2007-03-25  Bruno Haible  <bruno@clisp.org>
54725
54726         Avoid test failures on IRIX 6.5.
54727         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
54728         (main): Use it.
54729         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
54730         macros.
54731         (main): Use them.
54732
54733 2007-03-25  Bruno Haible  <bruno@clisp.org>
54734
54735         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
54736         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
54737         exists but doesn't work.
54738         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
54739         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
54740         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
54741         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
54742         math.h.
54743
54744 2007-03-25  Bruno Haible  <bruno@clisp.org>
54745
54746         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
54747         returns inf. Needed on IRIX 6.5.
54748
54749 2007-03-25  Bruno Haible  <bruno@clisp.org>
54750
54751         * tests/test-frexpl.c: Include isnanl-nolibm.h.
54752         (main): Use isnanl instead of x != x idiom.
54753         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
54754
54755         * tests/test-frexp.c: Include isnan.h.
54756         (main): Use isnan instead of x != x idiom.
54757         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
54758
54759 2007-03-25  Bruno Haible  <bruno@clisp.org>
54760
54761         * tests/test-frexp.c (NaN): New function/macro.
54762         (main): Use it instead of 0.0 / 0.0.
54763         * tests/test-isnan.c (NaN): New function/macro.
54764         (main): Use it instead of 0.0 / 0.0.
54765         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
54766         (test_function): Use it instead of 0.0 / 0.0.
54767         * tests/test-vasprintf-posix.c (NaN): New function/macro.
54768         (test_function): Use it instead of 0.0 / 0.0.
54769         * tests/test-snprintf-posix.h (NaN): New function/macro.
54770         (test_function): Use it instead of 0.0 / 0.0.
54771         * tests/test-sprintf-posix.h (NaN): New function/macro.
54772         (test_function): Use it instead of 0.0 / 0.0.
54773         * tests/test-fprintf-posix.h (NaN): New function/macro.
54774         (test_function): Use it instead of 0.0 / 0.0.
54775         * tests/test-printf-posix.h (NaN): New function/macro.
54776         (test_function): Use it instead of 0.0 / 0.0.
54777
54778         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
54779
54780 2007-03-25  Bruno Haible  <bruno@clisp.org>
54781
54782         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
54783
54784 2007-03-25  Bruno Haible  <bruno@clisp.org>
54785
54786         * lib/regexec.c (merge_state_with_log): Make static.
54787
54788 2007-03-25  Bruno Haible  <bruno@clisp.org>
54789
54790         * lib/trigl.c (kernel_rem_pio2): Make static.
54791
54792 2007-03-25  Bruno Haible  <bruno@clisp.org>
54793
54794         * lib/sincosl.c (sincosl_table): Make static.
54795
54796 2007-03-25  Bruno Haible  <bruno@clisp.org>
54797
54798         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
54799         if the compiler does not support C99.
54800
54801 2007-03-25  Bruno Haible  <bruno@clisp.org>
54802
54803         * modules/time (Makefile.am): Ensure all rule action lines start with a
54804         tab.
54805
54806 2007-03-24  Bruno Haible  <bruno@clisp.org>
54807
54808         * modules/tsearch-tests: New file.
54809         * tests/test-tsearch.sh: New file.
54810         * tests/test-tsearch.c: New file, mostly copied from glibc.
54811
54812         * modules/search-tests: New file.
54813         * tests/test-search.c: New file.
54814
54815         * modules/search: New file.
54816         * lib/search_.h: New file, incorporating lib/tsearch.h.
54817         * m4/search_h.m4: New file.
54818         * lib/tsearch.h: Remove file.
54819         * lib/tsearch.c: Include search.h instead of tsearch.h.
54820         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
54821         HAVE_TSEARCH.
54822         * modules/tsearch (Files): Remove lib/tsearch.h.
54823         (Depends-on): Add search.
54824         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
54825         (Include): Change tsearch.h into search.h.
54826
54827 2007-03-24  Bruno Haible  <bruno@clisp.org>
54828
54829         * modules/fpucw: New file.
54830         * lib/fpucw.h: New file.
54831         * lib/frexp.c: Include fpucw.h.
54832         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
54833         (FUNC): Use them.
54834         * lib/printf-frexp.c: Include fpucw.h.
54835         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
54836         (FUNC): Use them.
54837         * lib/vasnprintf.c: Include fpucw.h.
54838         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
54839         'long double' calculations.
54840         * tests/test-frexpl.c: Include fpucw.h.
54841         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
54842         * tests/test-printf-frexpl.c: Include fpucw.h.
54843         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
54844         * modules/frexpl (Depends-on): Add fpucw.
54845         * modules/printf-frexpl (Depends-on): Likewise.
54846         * modules/fprintf-posix (Depends-on): Likewise.
54847         * modules/snprintf-posix (Depends-on): Likewise.
54848         * modules/sprintf-posix (Depends-on): Likewise.
54849         * modules/vasnprintf-posix (Depends-on): Likewise.
54850         * modules/vasprintf-posix (Depends-on): Likewise.
54851         * modules/vfprintf-posix (Depends-on): Likewise.
54852         * modules/vsnprintf-posix (Depends-on): Likewise.
54853         * modules/vsprintf-posix (Depends-on): Likewise.
54854         * modules/frexpl-tests (Depends-on): Likewise.
54855         * modules/printf-frexpl-tests (Depends-on): Likewise.
54856
54857 2007-03-24  Bruno Haible  <bruno@clisp.org>
54858
54859         * lib/float+.h: New file.
54860         * lib/isnan.c: Include float+.h.
54861         (SIZE): New macro.
54862         (FUNC): Compare only SIZE bytes of the value.
54863         * lib/vasnprintf.c: Include float+.h.
54864         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
54865         SIZEOF_LDBL or SIZEOF_DBL bytes.
54866         * modules/isnan-nolibm (Files): Add lib/float+.h.
54867         * modules/isnanl-nolibm (Files): Add lib/float+.h.
54868         * modules/isnanl (Files): Add lib/float+.h.
54869         * modules/vasnprintf (Files): Add lib/float+.h.
54870
54871 2007-03-24  Bruno Haible  <bruno@clisp.org>
54872
54873         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
54874         include isnanl-nolibm.h.
54875
54876 2007-03-24  Bruno Haible  <bruno@clisp.org>
54877
54878         * tests/test-read-file.c (main): Don't produce spurious output for
54879         expected situations. Make the test fail if it encountered unexpected
54880         results.
54881
54882 2007-03-24  Bruno Haible  <bruno@clisp.org>
54883
54884         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
54885         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
54886
54887 2007-03-24  Bruno Haible  <bruno@clisp.org>
54888
54889         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
54890
54891 2007-03-24  Bruno Haible  <bruno@clisp.org>
54892
54893         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
54894         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
54895
54896         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
54897         * modules/utf8-ucs4: Turn into a symbolic link to module
54898         unistr/u8-mbtouc.
54899
54900         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
54901         utf8-ucs4-unsafe.
54902         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
54903         unistr/u8-mbtouc-unsafe.
54904
54905         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
54906         * modules/utf16-ucs4: Turn into a symbolic link to module
54907         unistr/u16-mbtouc.
54908
54909         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
54910         utf16-ucs4-unsafe.
54911         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
54912         unistr/u16-mbtouc-unsafe.
54913
54914         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
54915         * modules/ucs4-utf8: Turn into a symbolic link to module
54916         unistr/u8-ubtomb.
54917
54918         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
54919         * modules/ucs4-utf16: Turn into a symbolic link to module
54920         unistr/u16-ubtomb.
54921
54922 2007-03-24  Bruno Haible  <bruno@clisp.org>
54923
54924         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
54925         Enable the function only if HAVE_INLINE.
54926         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
54927         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
54928         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
54929         Enable the function only if HAVE_INLINE.
54930         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
54931         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
54932         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
54933         Enable the function only if HAVE_INLINE.
54934         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
54935         Enable the function only if HAVE_INLINE.
54936         * modules/utf8-ucs4: Update.
54937         * modules/utf8-ucs4-unsafe: Update.
54938         * modules/utf16-ucs4: Update.
54939         * modules/utf16-ucs4-unsafe: Update.
54940         * modules/ucs4-utf8: Update.
54941         * modules/ucs4-utf16: Update.
54942
54943 2007-03-24  Bruno Haible  <bruno@clisp.org>
54944
54945         * lib/utf8-ucs4.h: Remove file.
54946         * lib/utf8-ucs4-unsafe.h: Remove file.
54947         * lib/utf16-ucs4.h: Remove file.
54948         * lib/utf16-ucs4-unsafe.h: Remove file.
54949         * lib/ucs4-utf8.h: Remove file.
54950         * lib/ucs4-utf16.h: Remove file.
54951         * lib/unistr.h: Include their previous contents.
54952         * m4/utf-ucs4.m4: Remove file.
54953         * m4/ucs4-utf.m4: Remove file.
54954         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
54955         (Depends-on): Add unistr/base.
54956         (configure.ac): Remove gl_UTF_UCS4.
54957         (Makefile.am): Update.
54958         (Include): Change to unistr.h.
54959         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
54960         (Depends-on): Add unistr/base.
54961         (configure.ac): Remove gl_UTF_UCS4.
54962         (Makefile.am): Update.
54963         (Include): Change to unistr.h.
54964         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
54965         (Depends-on): Add unistr/base.
54966         (configure.ac): Remove gl_UTF_UCS4.
54967         (Makefile.am): Update.
54968         (Include): Change to unistr.h.
54969         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
54970         (Depends-on): Add unistr/base.
54971         (configure.ac): Remove gl_UTF_UCS4.
54972         (Makefile.am): Update.
54973         (Include): Change to unistr.h.
54974         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
54975         (Depends-on): Add unistr/base.
54976         (configure.ac): Remove gl_UCS4_UTF.
54977         (Makefile.am): Update.
54978         (Include): Change to unistr.h.
54979         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
54980         (Depends-on): Add unistr/base.
54981         (configure.ac): Remove gl_UCS4_UTF.
54982         (Makefile.am): Update.
54983         (Include): Change to unistr.h.
54984         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
54985         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
54986         utf8-ucs4-unsafe.h.
54987         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
54988         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
54989         utf16-ucs4-unsafe.h.
54990         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
54991         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
54992         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
54993         * lib/unistr/u8-strchr.c: Likewise.
54994         * lib/unistr/u8-strrchr.c: Likewise.
54995         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
54996         * lib/unistr/u16-strchr.c: Likewise.
54997         * lib/unistr/u16-strrchr.c: Likewise.
54998         * lib/striconveh.c: Update.
54999         * lib/linebreak.c: Update.
55000
55001 2007-03-24  Bruno Haible  <bruno@clisp.org>
55002
55003         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
55004         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
55005
55006 2007-03-22  Bruno Haible  <bruno@clisp.org>
55007
55008         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
55009
55010 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
55011
55012         * MODULES.html.sh (File system functions): New module write-any-file.
55013         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
55014         * m4/write-any-file.m4: New files.
55015
55016 2007-03-23  Eric Blake  <ebb9@byu.net>
55017
55018         * gnulib-tool: Rearrange space-tab sequences, since some editors
55019         like to eat them.
55020
55021 2007-03-23  Eric Blake  <ebb9@byu.net>
55022
55023         * lib/version-etc.c (version_etc_va): Update license wording to
55024         be more concise.  Recommended by Richard Stallman.
55025
55026 2007-03-22  Bruno Haible  <bruno@clisp.org>
55027
55028         * lib/poll.c (MSG_PEEK): New fallback definition.
55029
55030 2007-03-22  Bruno Haible  <bruno@clisp.org>
55031
55032         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
55033         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
55034         (main): Update.
55035         Fixes a compilation error on BeOS.
55036
55037 2007-03-22  Bruno Haible  <bruno@clisp.org>
55038
55039         * modules/frexpl-tests: New file.
55040         * tests/test-frexpl.c: New file.
55041
55042         * modules/frexpl: New file.
55043         * m4/frexpl.m4: New file.
55044         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
55045         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
55046         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
55047         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
55048         (Depends-on): Add frexpl. Remove isnanl-nolibm.
55049         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
55050
55051 2007-03-22  Bruno Haible  <bruno@clisp.org>
55052
55053         * lib/frexpl.c: Share code with lib/frexp.c.
55054         * modules/mathl (Files): Add lib/frexp.c.
55055         (Depends-on): Add isnanl-nolibm.
55056
55057 2007-03-22  Bruno Haible  <bruno@clisp.org>
55058
55059         * modules/printf-frexp (Files): Add m4/frexp.m4.
55060         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
55061         only if the found frexp function actually works.
55062
55063 2007-03-22  Bruno Haible  <bruno@clisp.org>
55064
55065         * lib/frexp.c: Remove older implementation that uses divisions.
55066
55067 2007-03-21  Bruno Haible  <bruno@clisp.org>
55068
55069         * modules/frexp-tests: New file.
55070         * tests/test-frexp.c: New file.
55071
55072         * modules/frexp: New file.
55073         * lib/frexp.c: New file.
55074         * m4/frexp.m4: New file.
55075         * lib/math_.h (frexp): New declaration.
55076         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
55077         REPLACE_FREXP.
55078         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
55079
55080 2007-03-21  Bruno Haible  <bruno@clisp.org>
55081
55082         * modules/isnanl-tests: New file.
55083         * tests/test-isnanl.c: New file.
55084
55085         * modules/isnanl: New file.
55086         * lib/isnanl.h: New file.
55087         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
55088         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
55089         gl_FUNC_ISNANL_WORKS.
55090         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
55091         New macros.
55092
55093 2007-03-21  Bruno Haible  <bruno@clisp.org>
55094
55095         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
55096         lib/isnanl.h.
55097         (Include): Update.
55098         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
55099         * lib/vasnprintf.c: Update.
55100         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
55101         tests/test-isnanl.h, remove tests/test-isnanl.c.
55102         (Makefile.am): Update.
55103         * tests/test-isnanl-nolibm.c: New file.
55104         * tests/test-isnanl.h: New file.
55105         * tests/test-isnanl.c: Remove file.
55106
55107 2007-03-21  Jim Meyering  <jim@meyering.net>
55108
55109         When trying to open ".", treat ESTALE like EACCES.
55110         * lib/savewd.c (savewd_save): Resort to forking not just upon
55111         failure with EACCES, but also when errno is ESTALE.
55112
55113 2007-03-20  Bruno Haible  <bruno@clisp.org>
55114
55115         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
55116         Needed on AIX 5.1. Reported by Matthew Woehlke.
55117
55118 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
55119
55120         Suggestions by Bruno Haible:
55121         * lib/acl-internal.h: Include "gettext.h" rather than rolling
55122         our own.
55123         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
55124         * modules/acl (Depends-on): Add gettext.
55125
55126 2007-03-19  Bruno Haible  <bruno@clisp.org>
55127
55128         * modules/iconvme: Remove file.
55129         * lib/iconvme.h: Remove file.
55130         * lib/iconvme.c: Remove file.
55131         * m4/iconvme.m4: Remove file.
55132
55133 2007-03-19  Bruno Haible  <bruno@clisp.org>
55134
55135         * doc/relocatable-maint.texi: Break long shell script line.
55136         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
55137
55138 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
55139
55140         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
55141         handle file_has_acl.
55142         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
55143         * lib/acl.c: Move header inclusions and related macro defns into
55144         lib/acl-internal.h.
55145         (S_ISLNK): Remove defn, since that's now done for us.
55146         (file_has_acl): Move to lib/file-has-acl.c.
55147         Call acl_trivial if available.  This is the crucial part of the fix.
55148         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
55149         shared within the library.  Rewrite a bit, partly to make it compatible
55150         with the GNU coding style.
55151         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
55152         Remove unnecessary double-quotes.
55153         Don't test for acl_to_text; the build will catch that.
55154         Replace acl_entries if it doesn't exist and it is needed.
55155         Check for -lsec and acl_trivial (as used on Solaris 10).
55156         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
55157         lib/file-has-acl.c.
55158         (Depends-on): Add sys_stat, for S_ISLNK.
55159
55160 2007-03-19  Ben Pfaff  <blp@gnu.org>
55161
55162         * doc/gnulib.texi: Fix typos.
55163         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
55164
55165 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
55166
55167         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
55168         If size is zero here, buf must be zero.
55169
55170 2007-03-19  Simon Josefsson  <simon@josefsson.org>
55171
55172         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
55173         <bruno@clisp.org>.
55174
55175 2007-03-18  Bruno Haible  <bruno@clisp.org>
55176
55177         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
55178         Suggested by Eric Blake.
55179
55180 2007-03-18  Ben Pfaff  <blp@gnu.org>
55181
55182         * doc/relocatable.texi: Recommend using as prefix a directory
55183         that does not exist and will never be created.  Based on
55184         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
55185         and others.
55186
55187 2007-03-17  Bruno Haible  <bruno@clisp.org>
55188
55189         * lib/fchownat.c: Include lchown.h.
55190
55191 2007-03-17  Bruno Haible  <bruno@clisp.org>
55192
55193         Fix endless loop when the given allocated size was > INT_MAX.
55194         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
55195         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
55196         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
55197         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
55198         * lib/sprintf.c (sprintf): Likewise.
55199
55200 2007-03-17  Bruno Haible  <bruno@clisp.org>
55201
55202         * tests/test-argp-2.sh (func_compare): Output a context diff.
55203
55204 2007-03-17  Bruno Haible  <bruno@clisp.org>
55205
55206         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
55207         locale's decimal-point character.
55208
55209 2007-03-17  Bruno Haible  <bruno@clisp.org>
55210
55211         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
55212         before comparing it. Needed because on some platforms (e.g. x86) a
55213         'long double' occupies less bytes than sizeof (long double).
55214
55215 2007-03-17  Bruno Haible  <bruno@clisp.org>
55216
55217         * tests/test-crc.c (main): Make printf statements 64-bit clean.
55218         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
55219         * tests/test-getaddrinfo.c (simple): Likewise.
55220         * tests/test-read-file.c (main): Likewise.
55221
55222 2007-03-17  Bruno Haible  <bruno@clisp.org>
55223
55224         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
55225
55226 2007-03-17  Bruno Haible  <bruno@clisp.org>
55227
55228         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
55229         unused variable.
55230
55231 2007-03-17  Bruno Haible  <bruno@clisp.org>
55232
55233         * tests/test-c-strcasecmp.c: Include c-strcase.h.
55234         * tests/test-c-strncasecmp.c: Likewise.
55235
55236 2007-03-17  Bruno Haible  <bruno@clisp.org>
55237
55238         * modules/stdlib (Depends-on): Add unistd.
55239         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
55240         Needed for MacOS X 10.3.
55241
55242 2007-03-17  Bruno Haible  <bruno@clisp.org>
55243
55244         * lib/unistr/u-strdup.h: Include <stdlib.h>.
55245
55246 2007-03-17  Bruno Haible  <bruno@clisp.org>
55247
55248         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
55249
55250 2007-03-17  Bruno Haible  <bruno@clisp.org>
55251
55252         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
55253         to reflect files copied from gnulib (with or without modifications).
55254         Suggested by Jim Meyering.
55255
55256 2007-03-17  Eric Blake  <ebb9@byu.net>
55257
55258         * NEWS: Document stdlib change from 2007-02-18.
55259
55260 2007-03-17  Jim Meyering  <jim@meyering.net>
55261
55262         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
55263         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
55264         someone uses a name containing shell meta-characters.
55265         Reported by Alfred M. Szmidt.
55266
55267         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
55268
55269 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
55270
55271         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
55272         and copy gettext configuration files only if configure.ac contains
55273         a use of AM_GNU_GETTEXT_VERSION.
55274
55275 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
55276
55277         * build-aux/bootstrap (gnulib_name): New variable.
55278         (gnulib_tool_options): Use it.
55279
55280 2007-03-13  Simon Josefsson  <simon@josefsson.org>
55281
55282         * tests/test-des.c: Use new namespace.
55283
55284 2007-03-15  Bruno Haible  <bruno@clisp.org>
55285
55286         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
55287         Reported by James Youngman <jay@gnu.org>.
55288
55289 2007-03-15  Bruno Haible  <bruno@clisp.org>
55290
55291         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
55292         declared prototype. Needed with cc on OSF/1 5.1.
55293
55294 2007-03-15  Bruno Haible  <bruno@clisp.org>
55295
55296         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
55297         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
55298         (struct gl_list_implementation): Add dispose_fn argument to the
55299         'create_empty', 'create' methods.
55300         (struct gl_list_impl_base): Add field 'dispose_fn'.
55301         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
55302         argument.
55303         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
55304         dispose_fn argument.
55305         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
55306         dispose_fn on the dropped values.
55307         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
55308         dispose_fn argument.
55309         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
55310         dropped values.
55311         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
55312         (gl_tree_remove_node): Call dispose_fn on the dropped value.
55313         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
55314         (gl_tree_remove_node): Call dispose_fn on the dropped value.
55315         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
55316         argument.
55317         (gl_tree_list_free): Call dispose_fn on the dropped values.
55318         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
55319         the dropped values.
55320         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
55321         Add dispose_fn argument.
55322         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
55323         Call dispose_fn on the dropped values.
55324         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
55325         Add dispose_fn argument.
55326         (gl_sublist_create): Initialize the 'dispose_fn' field.
55327         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
55328         * tests/test-array_list.c (main): Update.
55329         * tests/test-carray_list.c (main): Update.
55330         * tests/test-avltree_list.c (main): Update.
55331         * tests/test-rbtree_list.c (main): Update.
55332         * tests/test-avltreehash_list.c (main): Update.
55333         * tests/test-rbtreehash_list.c (main): Update.
55334         * tests/test-linked_list.c (main): Update.
55335         * tests/test-linkedhash_list.c (main): Update.
55336         * tests/test-array_oset.c (main): Update.
55337
55338 2007-03-15  Bruno Haible  <bruno@clisp.org>
55339
55340         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
55341         (gl_oset_create_empty): Add dispose_fn argument.
55342         (struct gl_oset_implementation): Add dispose_fn argument to
55343         'create_empty' method.
55344         (struct gl_oset_impl_base): Add dispose_fn field.
55345         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
55346         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
55347         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
55348         values.
55349         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
55350         (gl_tree_oset_free): Call dispose_fn on the dropped values.
55351         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
55352         dropped value.
55353         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
55354         dropped value.
55355         * tests/test-array_oset.c (main): Update.
55356         * tests/test-avltree_oset.c (main): Update.
55357         * tests/test-rbtree_oset.c (main): Update.
55358         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
55359
55360 2007-03-13  Bruno Haible  <bruno@clisp.org>
55361
55362         * tests/test-stdbool.c (i): Update after last patch.
55363
55364 2007-03-12  Bruno Haible  <bruno@clisp.org>
55365
55366         * lib/quotearg.c: Include <wctype.h> early, before the definition of
55367         the iswprint macro. Needed on Solaris 2.5.1.
55368
55369 2007-03-12  Bruno Haible  <bruno@clisp.org>
55370
55371         * tests/test-printf-frexp.c (main): Declare x as volatile.
55372
55373 2007-03-12  Simon Josefsson  <simon@josefsson.org>
55374
55375         * doc/gnulib.texi (Build robot for gnulib): New section.
55376
55377 2007-03-12  Jim Meyering  <jim@meyering.net>
55378
55379         * build-aux/bootstrap: New file.
55380         * build-aux/bootstrap.conf: New file, from coreutils.
55381
55382 2007-03-11  Bruno Haible  <bruno@clisp.org>
55383
55384         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
55385
55386 2007-03-12  Simon Josefsson  <simon@josefsson.org>
55387
55388         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
55389         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
55390         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
55391
55392 2007-03-11  Bruno Haible  <bruno@clisp.org>
55393
55394         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
55395         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
55396
55397 2007-03-11  Bruno Haible  <bruno@clisp.org>
55398
55399         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
55400         formula. Needed for SunPRO C 5.0.
55401
55402 2007-03-11  Bruno Haible  <bruno@clisp.org>
55403
55404         * modules/long-options (Depends-on): Add getopt.
55405
55406 2007-03-11  Bruno Haible  <bruno@clisp.org>
55407
55408         * modules/modechange (Depends-on): Add stdbool.
55409
55410 2007-03-11  Bruno Haible  <bruno@clisp.org>
55411
55412         * modules/i-ring (Depends-on): Add stdbool.
55413
55414 2007-03-11  Bruno Haible  <bruno@clisp.org>
55415
55416         * modules/gc-des (Depends-on): Add stdbool.
55417
55418 2007-03-11  Bruno Haible  <bruno@clisp.org>
55419
55420         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
55421
55422 2007-03-11  Bruno Haible  <bruno@clisp.org>
55423
55424         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
55425
55426 2007-03-11  Bruno Haible  <bruno@clisp.org>
55427
55428         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
55429
55430 2007-03-11  Bruno Haible  <bruno@clisp.org>
55431
55432         * lib/vasnprintf.c (sprintf): Undefine.
55433
55434 2007-03-11  Bruno Haible  <bruno@clisp.org>
55435
55436         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
55437         initializers in SunPRO C and Compaq C compilers.
55438
55439 2007-03-11  Bruno Haible  <bruno@clisp.org>
55440
55441         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
55442         decrementing code ANSI C compliant.
55443
55444 2007-03-11  Bruno Haible  <bruno@clisp.org>
55445
55446         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
55447         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
55448
55449 2007-03-11  Bruno Haible  <bruno@clisp.org>
55450
55451         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
55452         <stdbool.h> substitute doesn't pass.
55453
55454 2007-03-11  Bruno Haible  <bruno@clisp.org>
55455
55456         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
55457
55458 2007-03-11  Bruno Haible  <bruno@clisp.org>
55459
55460         * gnulib-tool (func_create_megatestdir): Create also an autobuild
55461         script, for submission to autobuild.josefsson.org.
55462
55463 2007-03-10  Bruno Haible  <bruno@clisp.org>
55464
55465         * modules/canonicalize-lgpl-tests: New file.
55466         * tests/test-canonicalize-lgpl.sh: New file.
55467         * tests/test-canonicalize-lgpl.c: New file.
55468
55469         * modules/c-strcase-tests: New file.
55470         * tests/test-c-strcase.sh: New file.
55471         * tests/test-c-strcasecmp.c: New file.
55472         * tests/test-c-strncasecmp.c: New file.
55473
55474         * modules/atexit-tests: New file.
55475         * tests/test-atexit.sh: New file.
55476         * tests/test-atexit.c: New file.
55477
55478 2007-03-10  Bruno Haible  <bruno@clisp.org>
55479
55480         * tests/test-binary-io.sh: Use temporary filenames that are not so
55481         likely to clash with those of other tests (in a parallel make).
55482         * tests/test-binary-io.c: Likewise.
55483
55484 2007-03-10  Bruno Haible  <bruno@clisp.org>
55485
55486         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
55487         fallback; use #error instead.
55488         Suggested by Simon Josefsson.
55489
55490 2007-03-10  Bruno Haible  <bruno@clisp.org>
55491
55492         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
55493         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
55494         first and the last.
55495
55496 2007-03-10  Bruno Haible  <bruno@clisp.org>
55497
55498         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
55499
55500 2007-03-10  Bruno Haible  <bruno@clisp.org>
55501
55502         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
55503         "make distcheck".
55504         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
55505         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
55506         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
55507
55508 2007-03-10  Bruno Haible  <bruno@clisp.org>
55509
55510         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
55511         variable.
55512         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
55513         variable.
55514
55515 2007-03-09  Eric Blake  <ebb9@byu.net>
55516         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
55517
55518         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
55519         types are not being provided by gnulib.
55520         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
55521         types are supported.
55522
55523 2007-03-10  Bruno Haible  <bruno@clisp.org>
55524
55525         * lib/stdio_.h (__attribute__): New macro.
55526         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
55527         vsprintf): Specify __attribute__ __format__ for GCC.
55528         Suggested by Eric Blake.
55529
55530 2007-03-09  Bruno Haible  <bruno@clisp.org>
55531
55532         * modules/printf-posix-tests: New file.
55533         * tests/test-printf-posix.sh: New file.
55534         * tests/test-printf-posix.c: New file.
55535
55536         * modules/printf-posix: New file.
55537         * lib/printf.c: New file.
55538         * m4/printf-posix-rpl.m4: New file.
55539         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
55540         REPLACE_PRINTF.
55541         * lib/stdio_.h (printf): New declaration.
55542         (format, __format__, ____printf____, ____scanf____, ____strftime____,
55543         ____strfmon____): New macros.
55544         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
55545         REPLACE_PRINTF.
55546
55547 2007-03-09  Bruno Haible  <bruno@clisp.org>
55548
55549         * tests/test-vasnprintf-posix2.sh: New file.
55550         * tests/test-vasnprintf-posix2.c: New file.
55551         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
55552         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
55553         (Makefile.am): Activate test-vasnprintf-posix2.sh.
55554
55555         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
55556         a locale dependent decimal point, rather than always '.'.
55557
55558 2007-03-09  Eric Blake  <ebb9@byu.net>
55559
55560         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
55561         spite of platforms like Tandem/NSK that define it to -1.
55562
55563 2007-03-08  Bruno Haible  <bruno@clisp.org>
55564
55565         * modules/vprintf-posix-tests: New file.
55566         * tests/test-vprintf-posix.sh: New file.
55567         * tests/test-vprintf-posix.c: New file.
55568         * tests/test-printf-posix.h: New file.
55569
55570         * modules/vprintf-posix: New file.
55571         * lib/vprintf.c: New file.
55572         * m4/vprintf-posix.m4: New file.
55573         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
55574         REPLACE_VPRINTF.
55575         * lib/stdio_.h (vprintf): New declaration.
55576         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
55577         REPLACE_VPRINTF.
55578
55579 2007-03-08  Bruno Haible  <bruno@clisp.org>
55580
55581         * modules/fprintf-posix-tests: New file.
55582         * tests/test-fprintf-posix.sh: New file.
55583         * tests/test-fprintf-posix.c: New file.
55584
55585         * modules/fprintf-posix: New file.
55586         * lib/fprintf.c: New file.
55587         * m4/fprintf-posix.m4: New file.
55588         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
55589         REPLACE_FPRINTF.
55590         * lib/stdio_.h (fprintf): New declaration.
55591         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
55592         REPLACE_FPRINTF.
55593
55594 2007-03-08  Bruno Haible  <bruno@clisp.org>
55595
55596         * modules/vfprintf-posix-tests: New file.
55597         * tests/test-vfprintf-posix.sh: New file.
55598         * tests/test-vfprintf-posix.c: New file.
55599         * tests/test-fprintf-posix.h: New file.
55600         * tests/test-fprintf-posix.out: New file.
55601
55602         * modules/vfprintf-posix: New file.
55603         * lib/vfprintf.c: New file.
55604         * m4/vfprintf-posix.m4: New file.
55605         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
55606         REPLACE_VFPRINTF.
55607         * lib/stdio_.h (vfprintf): New declaration.
55608         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
55609         REPLACE_VFPRINTF.
55610
55611 2007-03-08  Bruno Haible  <bruno@clisp.org>
55612
55613         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
55614
55615 2007-03-08  Bruno Haible  <bruno@clisp.org>
55616
55617         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
55618         instead of 'expr' invocations.
55619         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
55620         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
55621         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
55622         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
55623         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
55624         Suggested by Paul Eggert.
55625
55626 2007-03-08  Bruno Haible  <bruno@clisp.org>
55627
55628         * modules/fseterr-tests: New file.
55629         * tests/test-fseterr.c: New file.
55630
55631         * modules/fseterr: New file.
55632         * lib/fseterr.h: New file.
55633         * lib/fseterr.c: New file.
55634
55635 2007-03-08  Bruno Haible  <bruno@clisp.org>
55636
55637         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
55638         * lib/getopt_.h: Likewise.
55639         * lib/mbswidth.h: Likewise.
55640         * lib/setenv.h: Likewise.
55641         * lib/vasnprintf.h: Likewise.
55642         * lib/vasprintf.h: Likewise.
55643         * lib/verror.h: Likewise.
55644         * lib/xsetenv.h: Likewise.
55645         * lib/xvasprintf.h: Likewise.
55646
55647 2007-03-08  Jim Meyering  <jim@meyering.net>
55648
55649         * users.txt: Add parted.
55650
55651         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
55652
55653 2007-03-07  Bruno Haible  <bruno@clisp.org>
55654
55655         * m4/printf.m4: Make the shell script snippets copy&pastable.
55656
55657 2007-03-02  Bruno Haible  <bruno@clisp.org>
55658
55659         * lib/netinet_in_.h: New file.
55660         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
55661         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
55662         * modules/netinet_in (Files): Add lib/netinet_in_.h.
55663         (Depends-on): Add absolute-header.
55664         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
55665         into netinet/in.h.
55666
55667 2007-03-03  Bruno Haible  <bruno@clisp.org>
55668
55669         * lib/sys_select_.h: New file.
55670         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
55671         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
55672         * modules/sys_select (Files): Add lib/sys_select_.h.
55673         (Depends-on): Add absolute-header.
55674         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
55675         into sys/select.h.
55676
55677 2007-03-02  Bruno Haible  <bruno@clisp.org>
55678
55679         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
55680         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
55681         values.
55682         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
55683         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
55684         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
55685         * modules/sys_socket (Depends-on): Add absolute-header.
55686         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
55687         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
55688         (Include): Remove requirement of inclusion of <sys/types.h>.
55689
55690 2007-03-02  Bruno Haible  <bruno@clisp.org>
55691
55692         * lib/byteswap_.h (bswap_32): Fix formula.
55693
55694 2007-03-06  Bruno Haible  <bruno@clisp.org>
55695
55696         * modules/sprintf-posix-tests: New file.
55697         * tests/test-sprintf-posix.c: New file.
55698
55699         * modules/sprintf-posix: New file.
55700         * lib/sprintf.c: New file.
55701         * m4/sprintf-posix.m4: New file.
55702         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
55703         REPLACE_SPRINTF.
55704         * lib/stdio_.h (sprintf): New declaration.
55705         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
55706         REPLACE_SPRINTF.
55707
55708 2007-03-06  Bruno Haible  <bruno@clisp.org>
55709
55710         * modules/vsprintf-posix-tests: New file.
55711         * tests/test-vsprintf-posix.c: New file.
55712         * tests/test-sprintf-posix.h: New file.
55713
55714         * modules/vsprintf-posix: New file.
55715         * lib/vsprintf.c: New file.
55716         * m4/vsprintf-posix.m4: New file.
55717         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
55718         REPLACE_VSPRINTF.
55719         * lib/stdio_.h (vsprintf): New declaration.
55720         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
55721         REPLACE_VSPRINTF.
55722
55723 2007-03-06  Bruno Haible  <bruno@clisp.org>
55724
55725         * modules/vsnprintf (Depend-on): Remove minmax.
55726
55727 2007-03-06  Bruno Haible  <bruno@clisp.org>
55728
55729         * modules/snprintf-posix-tests: New file.
55730         * tests/test-snprintf-posix.c: New file.
55731
55732         * modules/snprintf-posix: New file.
55733         * m4/snprintf-posix.m4: New file.
55734         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
55735         gl_FUNC_SNPRINTF.
55736         (gl_FUNC_SNPRINTF): Invoke it.
55737         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
55738         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
55739         is set.
55740         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
55741
55742 2007-03-06  Bruno Haible  <bruno@clisp.org>
55743
55744         * modules/vsnprintf-posix-tests: New file.
55745         * tests/test-vsnprintf-posix.c: New file.
55746         * tests/test-snprintf-posix.h: New file.
55747
55748         * modules/vsnprintf-posix: New file.
55749         * m4/vsnprintf-posix.m4: New file.
55750         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
55751         gl_FUNC_VSNPRINTF.
55752         (gl_FUNC_VSNPRINTF): Invoke it.
55753         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
55754         * lib/stdio_.h (vsnprintf): Define as a replacement if
55755         REPLACE_VSNPRINTF is set.
55756         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
55757
55758 2007-03-06  Bruno Haible  <bruno@clisp.org>
55759
55760         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
55761         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
55762
55763 2007-03-06  Bruno Haible  <bruno@clisp.org>
55764
55765         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
55766         (asinl): Declare also if HAVE_DECL_ASINL is set.
55767         (atanl): Declare also if HAVE_DECL_ATANL is set.
55768         (ceill): Declare also if HAVE_DECL_CEILL is set.
55769         (cosl): Declare also if HAVE_DECL_COSL is set.
55770         (expl): Declare also if HAVE_DECL_EXPL is set.
55771         (floorl): Declare also if HAVE_DECL_FLOORL is set.
55772         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
55773         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
55774         (logl): Declare also if HAVE_DECL_LOGL is set.
55775         (sinl): Declare also if HAVE_DECL_SINL is set.
55776         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
55777         (tanl): Declare also if HAVE_DECL_TANL is set.
55778         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
55779         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
55780         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
55781         declaration of frexpl, ldexpl.
55782         * modules/printf-frexpl (Depends-on): Add math.
55783         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
55784
55785 2007-03-05  Bruno Haible  <bruno@clisp.org>
55786
55787         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
55788         frexpl and ldexpl are declared.
55789         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
55790
55791 2007-03-05  Bruno Haible  <bruno@clisp.org>
55792
55793         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
55794         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
55795
55796 2007-03-05  Bruno Haible  <bruno@clisp.org>
55797
55798         * lib/stdio_.h: Include <stddef.h>.
55799
55800 2007-03-05  Bruno Haible  <bruno@clisp.org>
55801
55802         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
55803
55804 2007-03-05  Bruno Haible  <bruno@clisp.org>
55805
55806         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
55807         NetBSD 4, from Ralf Wildenhues.
55808
55809 2007-03-04  Bruno Haible  <bruno@clisp.org>
55810
55811         * lib/vasprintf.h: Update #if logic for the case when the functions
55812         exist but are overridden.
55813
55814 2007-03-04  Bruno Haible  <bruno@clisp.org>
55815
55816         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
55817         implementations: glibc-2.4 and MacOS X 10.3.
55818         * tests/test-vasnprintf-posix.c (test_function): Test also the case
55819         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
55820         * tests/test-vasprintf-posix.c (test_function): Likewise.
55821
55822 2007-03-04  Bruno Haible  <bruno@clisp.org>
55823
55824         * modules/vasprintf-posix-tests: New file.
55825         * tests/test-vasprintf-posix.c: New file.
55826
55827         * modules/vasprintf-posix: New file.
55828         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
55829         defined.
55830         * m4/vasprintf-posix.m4: New file.
55831         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
55832         gl_FUNC_VASPRINTF.
55833         (gl_FUNC_VASPRINTF): Invoke it.
55834         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
55835         here.
55836         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
55837
55838 2007-03-04  Bruno Haible  <bruno@clisp.org>
55839
55840         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
55841         REPLACE_GETTIMEOFDAY.
55842         * modules/sys_time (Makefile.am): Likewise.
55843         * m4/sys_time_h.m4: Likewise.
55844         * m4/gettimeofday.m4: Likewise.
55845
55846 2007-03-04  Bruno Haible  <bruno@clisp.org>
55847
55848         * modules/vasnprintf-posix-tests: New file.
55849         * tests/test-vasnprintf-posix.c: New file.
55850
55851         * modules/vasnprintf-posix: New file.
55852         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
55853         printf-frexpl.h.
55854         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
55855         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
55856         REPLACE_VASNPRINTF is defined.
55857         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
55858         gl_FUNC_VASNPRINTF.
55859         (gl_FUNC_VASNPRINTF): Invoke it.
55860         * m4/vasnprintf-posix.m4: New file.
55861         * m4/printf.m4: New file.
55862
55863 2007-03-04  Bruno Haible  <bruno@clisp.org>
55864
55865         Compile progreloc.c only if --enable-relocatable is specified.
55866         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
55867         if --enable-relocatable was specified.
55868         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
55869         lib_SOURCES.
55870
55871 2007-03-04  Jim Meyering  <jim@meyering.net>
55872
55873         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
55874         Use it consistently, rather than enumerating errno constants.
55875
55876 2007-03-04  Bruno Haible  <bruno@clisp.org>
55877
55878         * modules/xvasprintf-tests: New file.
55879         * tests/test-xvasprintf.c: New file.
55880
55881         * modules/vasprintf-tests: New file.
55882         * tests/test-vasprintf.c: New file.
55883
55884         * modules/vasnprintf-tests: New file.
55885         * tests/test-vasnprintf.c: New file.
55886
55887         * modules/vsnprintf-tests: New file.
55888         * tests/test-vsnprintf.c: New file.
55889
55890         * modules/snprintf-tests: New file.
55891         * tests/test-snprintf.c: New file.
55892
55893 2007-03-04  Bruno Haible  <bruno@clisp.org>
55894
55895         Compile relocatable.c only if --enable-relocatable is specified.
55896         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
55897         gl_RELOCATABLE_LIBRARY.
55898         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
55899         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
55900         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
55901         gl_RELOCATABLE_LIBRARY.
55902         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
55903         (Makefile.am): Remove lib_SOURCES.
55904         * modules/relocatable-lib-lgpl (configure.ac): Invoke
55905         gl_RELOCATABLE_LIBRARY.
55906         (Makefile.am): Remove lib_SOURCES.
55907         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
55908         always.
55909         * modules/relocatable-prog-wrapper (configure.ac): Invoke
55910         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
55911
55912 2007-03-04  Bruno Haible  <bruno@clisp.org>
55913
55914         * modules/argmatch-tests: New file.
55915         * tests/test-argmatch.c: New file.
55916
55917         * tests/test-allocsa.c (main): Halve the number of loop runs.
55918
55919         * modules/alloca-opt-tests: New file.
55920         * tests/test-alloca-opt.c: New file.
55921
55922 2007-03-04  Jim Meyering  <jim@meyering.net>
55923
55924         Work around difference between Linux ACLs and Solaris 10 ZFS.
55925         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
55926         for EINVAL.
55927
55928 2007-03-03  Bruno Haible  <bruno@clisp.org>
55929
55930         * modules/relocatable-prog (Depends-on): Add back progreloc's
55931         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
55932
55933 2007-03-03  Bruno Haible  <bruno@clisp.org>
55934
55935         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
55936         * modules/relocatable-lib: New file.
55937
55938 2007-03-03  Bruno Haible  <bruno@clisp.org>
55939
55940         * modules/relocatable-prog: Renamed from modules/relocatable.
55941         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
55942
55943 2007-03-03  Bruno Haible  <bruno@clisp.org>
55944
55945         * modules/relocatable-script (Files): Add doc/relocatable.texi,
55946         m4/relocatable-lib.m4.
55947         (Depends-on): Remove 'relocatable'.
55948         (configure.ac): Add gl_RELOCATABLE_NOP.
55949
55950 2007-03-03  Bruno Haible  <bruno@clisp.org>
55951
55952         * modules/relocatable-prog-wrapper: New file.
55953         * modules/relocatable (Depends-on): Add it. Remove all other
55954         dependencies except progname.
55955         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
55956
55957         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
55958         (gl_FUNC_STRERROR): Nop.
55959         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
55960
55961         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
55962         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
55963
55964         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
55965         (gl_FUNC_READLINK): Update.
55966
55967         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
55968
55969 2007-03-03  Bruno Haible  <bruno@clisp.org>
55970
55971         * lib/xreadlink.c: Include <unistd.h> unconditionally.
55972         * modules/xreadlink (Depends-on): Add unistd.
55973         * modules/xreadlink-with-size (Depends-on): Likewise.
55974
55975 2007-03-03  Bruno Haible  <bruno@clisp.org>
55976
55977         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
55978         extracted from gt_FUNC_SETENV.
55979         (gt_FUNC_SETENV): Remove macro.
55980         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
55981         remove gt_FUNC_SETENV.
55982
55983 2007-03-03  Bruno Haible  <bruno@clisp.org>
55984
55985         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
55986         ENABLE_RELOCATABLE here.
55987         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
55988
55989 2007-03-03  Bruno Haible  <bruno@clisp.org>
55990
55991         * modules/rbtreehash-list-tests (Depends-on): Add progname.
55992         * tests/test-rbtreehash_list.c: Include progname.h.
55993         (main): Call set_program_name.
55994
55995         * modules/rbtree-oset-tests (Depends-on): Add progname.
55996         * tests/test-rbtree_oset.c: Include progname.h.
55997         (main): Call set_program_name.
55998
55999         * modules/rbtree-list-tests (Depends-on): Add progname.
56000         * tests/test-rbtree_list.c: Include progname.h.
56001         (main): Call set_program_name.
56002
56003         * modules/linked-list-tests (Depends-on): Add progname.
56004         * tests/test-linked_list.c: Include progname.h.
56005         (main): Call set_program_name.
56006
56007 2007-03-03  Bruno Haible  <bruno@clisp.org>
56008
56009         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
56010         All uses of __restrict changed to _Restrict_.
56011         * lib/glob_.h (__restrict): Remove macro.
56012
56013 2007-03-02  Bruno Haible  <bruno@clisp.org>
56014
56015         * modules/gettext (configure.ac): Require gettext infrastructure
56016         from version 0.16.1.
56017
56018 2007-03-02  Bruno Haible  <bruno@clisp.org>
56019
56020         * modules/linkedhash-list-tests (Depends-on): Add progname.
56021         * tests/test-linkedhash_list.c: Include progname.h.
56022         (main): Call set_program_name.
56023
56024         * modules/carray-list-tests (Depends-on): Add progname.
56025         * tests/test-carray_list.c: Include progname.h.
56026         (main): Call set_program_name.
56027
56028         * modules/avltreehash-list-tests (Depends-on): Add progname.
56029         * tests/test-avltreehash_list.c: Include progname.h.
56030         (main): Call set_program_name.
56031
56032         * modules/avltree-oset-tests (Depends-on): Add progname.
56033         * tests/test-avltree_oset.c: Include progname.h.
56034         (main): Call set_program_name.
56035
56036         * modules/avltree-list-tests (Depends-on): Add progname.
56037         * tests/test-avltree_list.c: Include progname.h.
56038         (main): Call set_program_name.
56039
56040         * modules/array-oset-tests (Depends-on): Add progname.
56041         * tests/test-array_oset.c: Include progname.h.
56042         (main): Call set_program_name.
56043
56044         * modules/array-list-tests (Depends-on): Add progname.
56045         * tests/test-array_list.c: Include progname.h.
56046         (main): Call set_program_name.
56047
56048         * modules/argp-tests (Depends-on): Add progname.
56049         * tests/test-argp.c: Include argp.h first. Include progname.h.
56050         (main): Call set_program_name.
56051
56052 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
56053
56054         * doc/gnulib-tool.texi (Initial import): Reword description of
56055         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
56056         limited effect even if defined after the first system include.
56057
56058 2007-03-01  Bruno Haible  <bruno@clisp.org>
56059
56060         * build-aux/config.libpath: Update to libtool-1.5.22.
56061         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
56062
56063 2007-03-01  Bruno Haible  <bruno@clisp.org>
56064
56065         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
56066         foo_CFLAGS.
56067         Reported by Ralf Wildenhues.
56068
56069 2007-03-01  Bruno Haible  <bruno@clisp.org>
56070
56071         * build-aux/install-reloc: Remove object files left over by some
56072         compilers.
56073         Reported by Ralf Wildenhues.
56074
56075 2007-03-01  Bruno Haible  <bruno@clisp.org>
56076
56077         * build-aux/install-reloc: Break long lines.
56078
56079 2007-03-01  Bruno Haible  <bruno@clisp.org>
56080
56081         * doc/relocatable.texi: Document that it may not work on OpenBSD.
56082         Reported by Ralf Wildenhues.
56083
56084 2007-03-01  Bruno Haible  <bruno@clisp.org>
56085
56086         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
56087         include ordering constraints.
56088
56089 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
56090
56091         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
56092         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
56093         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
56094         as another example.
56095         * lib/time_.h: Fix misspelling.
56096         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
56097         Require gl_HEADER_TIME_H_DEFAULTS.
56098         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
56099         * m4/time_r.m4 (gl_TIME_R): Likewise.
56100         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
56101
56102 2007-03-01  Bruno Haible  <bruno@clisp.org>
56103
56104         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
56105         * m4/utimens.m4 (gl_UTIMENS): Likewise.
56106
56107 2007-03-01  Jim Meyering  <jim@meyering.net>
56108
56109         * modules/xreadlink (Maintainer): Add my name.
56110         * modules/xreadlink-with-size (Depends-on): Alphabetize.
56111
56112 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
56113             Bruno Haible  <bruno@clisp.org>
56114
56115         * build-aux/install-reloc: Compile also c-ctype.c.
56116         * build-aux/relocatable.sh.in: New file.
56117         * doc/relocatable.texi: New file.
56118         * doc/relocatable-maint.texi: New file.
56119         * doc/gnulib.texi: Include relocatable-maint.texi.
56120         * lib/progreloc.c: Include unistd.h unconditionally.
56121         * lib/relocwrapper.c: Include unistd.h unconditionally.
56122         Include c-ctype.h.
56123         (add_dotbin): Use c_tolower.
56124         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
56125         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
56126         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
56127         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
56128         to m4/relocatable-lib.m4.
56129         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
56130         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
56131         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
56132         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
56133         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
56134         * modules/relocatable: New file.
56135         * modules/relocatable-lib: New file.
56136         * modules/relocatable-script: New file.
56137
56138 2007-02-28  Bruno Haible  <bruno@clisp.org>
56139
56140         Import --enable-relocatable infrastructure.
56141         * build-aux/config.libpath: New file, from GNU gettext.
56142         * build-aux/install-reloc: New file, from GNU gettext.
56143         * build-aux/reloc-ldflags: New file, from GNU gettext.
56144         * lib/relocatable.h: New file, from GNU gettext.
56145         * lib/relocatable.c: New file, from GNU gettext.
56146         * lib/relocwrapper.c: New file, from GNU gettext.
56147         * m4/relocatable.m4: New file, from GNU gettext.
56148
56149 2007-02-28  Bruno Haible  <bruno@clisp.org>
56150
56151         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
56152
56153         * modules/xreadlink: New file, from GNU gettext with modifications.
56154         * lib/xreadlink.c: New file, from GNU gettext.
56155         * lib/xreadlink.h: Add comments.
56156         (xreadlink): New declaration.
56157
56158         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
56159         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
56160         lib/xreadlink-with-size.c.
56161         (configure.ac): Remove gl_XREADLINK invocation.
56162         (Makefile.am): Augment lib_SOURCES.
56163         * m4/xreadlink.m4: Remove file.
56164         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
56165         (xreadlink_with_size): Renamed from xreadink.
56166         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
56167         * modules/canonicalize (Depends-on): Replace xreadlink with
56168         xreadlink-with-size.
56169         * lib/canonicalize.c (canonicalize_filename_mode): Update.
56170
56171 2007-02-25  Jim Meyering  <jim@meyering.net>
56172
56173         * build-aux/announce-gen: When complaining about excess arguments,
56174         list them.
56175
56176 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
56177
56178         * README: Document signed integer overflow situation more
56179         accurately.
56180
56181 2007-02-25  Bruno Haible  <bruno@clisp.org>
56182
56183         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
56184         'a' or 'A' conversion.
56185
56186 2007-02-25  Bruno Haible  <bruno@clisp.org>
56187
56188         * modules/filename: Renamed from modules/pathname.
56189         (Files): Replace lib/pathname.h with lib/filename.h. Replace
56190         lib/concatpath.c with lib/concat-filename.c.
56191         (Makefile.am): Update.
56192         (Include): Replace pathname.h with filename.h.
56193         * lib/filename.h: Renamed from lib/pathname.h.
56194         (concatenated_filename): Renamed from concatenated_pathname.
56195         * lib/concat-filename.c: Renamed from lib/concatpath.c.
56196         (concatenated_filename): Renamed from concatenated_pathname.
56197         * lib/findprog.c: Include filename.h instead of pathname.h.
56198         (find_in_path): Update.
56199         * lib/javacomp.c: Include filename.h instead of pathname.h.
56200         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
56201         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
56202         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
56203         is_oldgcj_14_13_usable, is_javac_usable): Update.
56204         * lib/javaexec.c: Include filename.h instead of pathname.h.
56205         (execute_java_class): Update.
56206         * modules/findprog: Update.
56207         * modules/javacomp: Update.
56208         * modules/javaexec: Update.
56209         * MODULES.html.sh (File system functions): Add 'filename', remove
56210         'pathname'.
56211
56212 2007-02-25  Bruno Haible  <bruno@clisp.org>
56213
56214         * modules/printf-frexpl-tests: New file.
56215         * tests/test-printf-frexpl.c: New file.
56216
56217         * modules/printf-frexpl: New file.
56218         * lib/printf-frexpl.h: New file.
56219         * lib/printf-frexpl.c: New file.
56220         * m4/printf-frexpl.m4: New file.
56221
56222 2007-02-25  Bruno Haible  <bruno@clisp.org>
56223
56224         * modules/printf-frexp-tests: New file.
56225         * tests/test-printf-frexp.c: New file.
56226
56227         * modules/printf-frexp: New file.
56228         * lib/printf-frexp.h: New file.
56229         * lib/printf-frexp.c: New file.
56230         * m4/printf-frexp.m4: New file.
56231
56232 2007-02-25  Bruno Haible  <bruno@clisp.org>
56233
56234         Assume automake >= 1.10 for the tests.
56235         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
56236         * modules/arctwo-tests: Likewise.
56237         * modules/argp-tests: Likewise.
56238         * modules/avltree-list-tests: Likewise.
56239         * modules/avltree-oset-tests: Likewise.
56240         * modules/avltreehash-list-tests: Likewise.
56241         * modules/carray-list-tests: Likewise.
56242         * modules/crc-tests: Likewise.
56243         * modules/des-tests: Likewise.
56244         * modules/gc-arcfour-tests: Likewise.
56245         * modules/gc-arctwo-tests: Likewise.
56246         * modules/gc-des-tests: Likewise.
56247         * modules/gc-hmac-md5-tests: Likewise.
56248         * modules/gc-hmac-sha1-tests: Likewise.
56249         * modules/gc-md2-tests: Likewise.
56250         * modules/gc-md4-tests: Likewise.
56251         * modules/gc-md5-tests: Likewise.
56252         * modules/gc-pbkdf2-sha1-tests: Likewise.
56253         * modules/gc-rijndael-tests: Likewise.
56254         * modules/gc-sha1-tests: Likewise.
56255         * modules/gc-tests: Likewise.
56256         * modules/getaddrinfo-tests: Likewise.
56257         * modules/hmac-md5-tests: Likewise.
56258         * modules/hmac-sha1-tests: Likewise.
56259         * modules/linked-list-tests: Likewise.
56260         * modules/linkedhash-list-tests: Likewise.
56261         * modules/lock-tests: Likewise.
56262         * modules/md2-tests: Likewise.
56263         * modules/md4-tests: Likewise.
56264         * modules/md5-tests: Likewise.
56265         * modules/rbtree-list-tests: Likewise.
56266         * modules/rbtree-oset-tests: Likewise.
56267         * modules/rbtreehash-list-tests: Likewise.
56268         * modules/read-file-tests: Likewise.
56269         * modules/rijndael-tests: Likewise.
56270         * modules/stdint-tests: Likewise.
56271         * modules/tls-tests: Likewise.
56272
56273 2007-02-24  Bruno Haible  <bruno@clisp.org>
56274
56275         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
56276         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
56277         function; instead check whether isnan with a double argument links.
56278         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
56279         function; instead check whether isnan with a 'long double' argument
56280         links.
56281         Reported by Eric Blake <ebb9@byu.net>.
56282
56283 2007-02-24  Bruno Haible  <bruno@clisp.org>
56284
56285         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
56286         defined.
56287         * lib/isnanl.c: Remove all code. Just include isnan.c.
56288         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
56289
56290 2007-02-25  Jim Meyering  <jim@meyering.net>
56291
56292         Avoid conflicting types for 'unsetenv' on FreeBSD.
56293         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
56294         conflicting with FreeBSD's (5.0 and 6.1) function declaration
56295         in stdlib.h.
56296
56297 2007-02-24  Bruno Haible  <bruno@clisp.org>
56298
56299         * modules/isnanl-nolibm-tests: New file.
56300         * tests/test-isnanl.c: New file.
56301
56302         * modules/isnanl-nolibm: New file.
56303         * lib/isnanl.h: New file.
56304         * lib/isnanl.c: New file.
56305         * m4/isnanl.m4: New file.
56306
56307 2007-02-24  Bruno Haible  <bruno@clisp.org>
56308
56309         * modules/isnan-nolibm-tests: New file.
56310         * tests/test-isnan.c: New file.
56311
56312         * modules/isnan-nolibm: New file.
56313         * lib/isnan.h: New file.
56314         * lib/isnan.c: New file.
56315         * m4/isnan.m4: New file.
56316
56317 2007-02-24  Bruno Haible  <bruno@clisp.org>
56318
56319         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
56320         assume that an exponent fits in 20 bits.
56321
56322 2007-02-24  Jim Meyering  <jim@meyering.net>
56323
56324         * m4/regex.m4: Update the description of the configure-time option,
56325         --without-included-regex, to state accurately what the defaults are,
56326         and perhaps to give people an idea why using this option is risky.
56327
56328 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
56329
56330         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
56331         loops on small arguments.  This attempts to avoid the problem
56332         Bruno Haible reported for AIX 4.3.2 in
56333         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
56334
56335 2007-02-23  Bruno Haible  <bruno@clisp.org>
56336
56337         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
56338         Needed for help2man.
56339
56340 2007-02-23  Karl Berry  <karl@gnu.org>
56341
56342         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
56343         exists, foo.h should be cvs-ignored, not committed.
56344
56345 2007-02-23  Eric Blake  <ebb9@byu.net>
56346
56347         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
56348         * lib/stat-time.h (includes): Likewise.
56349         * lib/utimecmp.c (includes): Likewise.
56350         * lib/utimens.h (includes): Likewise.
56351         * lib/getdate.y (includes): Also include "timespec.h" for use
56352         internal to the module.
56353         * modules/utimens (Depends-on): Revert yesterday's patch.
56354         * modules/nanosleep (Depends-on): Add missing dependency.
56355
56356 2007-02-22  Bruno Haible  <bruno@clisp.org>
56357
56358         * lib/glob.c: Don't include getlogin_r.h.
56359
56360 2007-02-22  Jim Meyering  <jim@meyering.net>
56361
56362         * modules/utimens (Depends-on): Add timespec, required for
56363         utimens.h's inclusion of timespec.h.
56364
56365 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
56366
56367         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
56368         long unreadable paths in GNU/Linux.  Problem reported by Andreas
56369         Schwab in
56370         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
56371         I'll try to think of a better way to fix the Solaris problem.
56372
56373         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
56374         like glibc; on Solaris 10, it fails with errno == EINVAL.
56375         POSIX says the behavior is unspecified if the first argument is NULL,
56376         so play it safe and never pass NULL to the system getcwd.
56377
56378 2007-02-21  Jim Meyering  <jim@meyering.net>
56379
56380         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
56381         of gettimeofday.  It would conflict with the one now always
56382         provided via sys_time_.h.  Reported by Matthew Woehlke, as
56383         an IRIX 6.5 build failure.
56384
56385 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
56386
56387         Minor fixups to port to Solaris 10 with Sun C 5.8.
56388         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
56389         * modules/getcwd (Depends-on): Add dirfd.
56390         * lib/putenv.c (putenv): #undef it.
56391         (rpl_putenv): New decl.
56392         (malloc, free): Include <stdlib.h> rather than prototyping separately.
56393
56394 2007-02-20  Bruno Haible  <bruno@clisp.org>
56395
56396         * modules/stdio-tests: New file.
56397         * tests/test-stdio.c: New file.
56398
56399         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
56400         (Depends-on): Add stdio.
56401         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
56402         (Include): Use <stdio.h> instead of vsnprintf.h.
56403         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
56404         HAVE_DECL_VSNPRINTF.
56405         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
56406
56407         * modules/snprintf (Files): Remove lib/snprintf.h.
56408         (Depends-on): Add stdio.
56409         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
56410         (Include): Use <stdio.h> instead of snprintf.h.
56411         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
56412         HAVE_DECL_SNPRINTF.
56413         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
56414         * lib/getaddrinfo.c: Likewise.
56415
56416         * modules/stdio: New file.
56417         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
56418         * lib/snprintf.h: Remove file.
56419         * lib/vsnprintf.h: Remove file.
56420         * lib/.cppi-disable: Remove snprintf.h.
56421         * m4/stdio_h.m4: New file.
56422         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
56423
56424 2007-02-20  Jim Meyering  <jim@meyering.net>
56425
56426         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
56427         used by e.g., mingw.  From Bruno Haible.
56428
56429 2007-02-19  Bruno Haible  <bruno@clisp.org>
56430
56431         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
56432         warnings.
56433         Reported by Ben Pfaff <blp@cs.stanford.edu>.
56434
56435 2007-02-19  Bruno Haible  <bruno@clisp.org>
56436
56437         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
56438         from mingw users.
56439
56440 2007-02-19  Bruno Haible  <bruno@clisp.org>
56441
56442         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
56443         warnings.
56444         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
56445
56446 2007-02-19  Jim Meyering  <jim@meyering.net>
56447
56448         Don't use FD after a successful "fdopendir (fd)".
56449         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
56450         Reset it by calling dirfd on the just-obtained DIR*.
56451
56452         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
56453         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
56454
56455 2007-02-18  Bruno Haible  <bruno@clisp.org>
56456
56457         * lib/readlink.c: Include <unistd.h>.
56458         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
56459         HAVE_READLINK.
56460         * modules/readlink (Depends-on): Add unistd.
56461         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
56462         (Include): Add <unistd.h>.
56463
56464         * lib/getlogin_r.h: Remove file.
56465         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
56466         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
56467         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
56468         HAVE_DECL_GETLOGIN_R.
56469         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
56470         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
56471         (Include): Use <unistd.h> instead of getlogin_r.h.
56472
56473         * lib/getcwd.h: Remove file.
56474         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
56475         * lib/xgetcwd.c: Likewise.
56476         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
56477         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
56478         * modules/getcwd (Files): Remove lib/getcwd.h.
56479         (Depends-on): Add unistd.
56480         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
56481         (Include): Use <unistd.h> instad of getcwd.h.
56482
56483         * lib/ftruncate.c: Include <unistd.h> first.
56484         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
56485         Set HAVE_FTRUNCATE.
56486         * modules/ftruncate (Depends-on): Add unistd.
56487         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
56488
56489         * lib/fchdir.c: Include <unistd.h> first.
56490         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
56491         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
56492         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
56493         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
56494         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
56495
56496         * lib/dup2.c: Include <unistd.h> first.
56497         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
56498         HAVE_DUP2.
56499         * modules/dup2 (Depends-on): Add unistd.
56500         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
56501
56502         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
56503         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
56504         REPLACE_CHOWN. Don't define chown as a macro here.
56505         * modules/chown (Depends-on): Add unistd.
56506         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
56507
56508         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
56509         Add definition for GL_LINK_WARNING.
56510         (chown, dup2): New declarations.
56511         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
56512         link warning.
56513         (ftruncate): New declaration.
56514         (getcwd): New declaration, taken from old getcwd.h.
56515         (getlogin_r): New declaration, taken from old getlogin_r.h.
56516         (readlink): New declaration.
56517         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
56518         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
56519         (gl_PREREQ_UNISTD): Remove macro.
56520         (gl_UNISTD_MODULE_INDICATOR): New macro.
56521         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
56522         many new variables. Don't set UNISTD_H.
56523         * modules/unistd (Description): Change.
56524         (Depends-on): Add link-warning.
56525         (configure.ac): Update.
56526         (Makefile.am): Create unistd.h always. Substitute many new variables
56527         into it.
56528
56529 2007-02-18  Bruno Haible  <bruno@clisp.org>
56530
56531         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
56532         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
56533         HAVE_GETSUBOPT.
56534         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
56535         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
56536         * lib/getsubopt.h: Remove file.
56537         * modules/getsubopt (Files): Remove lib/getsubopt.h.
56538         (Depends-on): Add stdlib.
56539         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
56540         (Includes): Use <stdlib.h> instead of getsubopt.h.
56541         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
56542         Set HAVE_GETSUBOPT.
56543         * lib/getsubopt.c: Don't include getsubopt.h.
56544
56545 2007-02-18  Bruno Haible  <bruno@clisp.org>
56546
56547         * modules/fchdir (Depends-on): Add dup2.
56548
56549 2007-02-18  Bruno Haible  <bruno@clisp.org>
56550
56551         * lib/stdlib_.h: Handle glibc's special invocation convention
56552         specially.
56553
56554 2007-02-18  Bruno Haible  <bruno@clisp.org>
56555
56556         * modules/stdlib-tests: New file.
56557         * tests/test-stdlib.c: New file.
56558
56559         * modules/mkstemp (Files): Remove lib/mkstemp.h.
56560         (Depends-on): Add stdlib.
56561         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
56562         (Includes): Use <stdlib.h> instead of mkstemp.h.
56563         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
56564         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
56565         * lib/mkstemp.c: Don't include mkstemp.h.
56566         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
56567         * lib/stdlib--.h: Don't include mkstemp.h.
56568
56569         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
56570         (Depends-on): Add stdlib.
56571         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
56572         (Includes): Use <stdlib.h> instead of mkdtemp.h.
56573         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
56574         HAVE_MKDTEMP.
56575         * lib/mkdtemp.c: Don't include mkdtemp.h.
56576         * lib/clean-temp.c: Don't include mkdtemp.h.
56577
56578         * modules/exit (Files): Remove lib/exit.h.
56579         (Depends-on): Add stdlib.
56580         (Makefile.am): Remove lib_SOURCES.
56581         (Include): Use <stdlib.h> instead of exit.h.
56582         * lib/argmatch.c: Don't include exit.h.
56583         * lib/execute.c: Likewise.
56584         * lib/pagealign_alloc.c: Likewise.
56585         * lib/pipe.c: Likewise.
56586         * lib/wait-process.c: Likewise.
56587         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
56588         * lib/exitfail.c: Likewise.
56589         * lib/savewd.c: Likewise.
56590         * lib/xsetenv.c: Likewise.
56591
56592         * modules/stdlib: New file.
56593         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
56594         and extra comments about mkstemp().
56595         * lib/exit.h: Remove file.
56596         * lib/mkdtemp.h: Remove file.
56597         * lib/mkstemp.h: Remove file.
56598         * m4/stdlib_h.m4: New file.
56599         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
56600
56601 2007-02-18  Bruno Haible  <bruno@clisp.org>
56602
56603         * modules/math-tests: New file.
56604         * tests/test-math.c: New file.
56605
56606         * modules/math: New file.
56607         * modules/mathl (Files): Remove lib/mathl.h.
56608         (Depends-on): Add math.
56609         (Makefile.am): Don't mention mathl.h.
56610         (Include): Use <math.h> instead of mathl.h.
56611         * lib/math_.h: New file.
56612         * lib/mathl.h: Remove file.
56613         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
56614         mathl.h.
56615         * lib/asinl.c: Likewise.
56616         * lib/atanl.c: Likewise.
56617         * lib/ceill.c: Likewise.
56618         * lib/cosl.c: Likewise.
56619         * lib/expl.c: Likewise.
56620         * lib/floorl.c: Likewise.
56621         * lib/frexpl.c: Likewise.
56622         * lib/ldexpl.c: Likewise.
56623         * lib/logl.c: Likewise.
56624         * lib/sincosl.c: Likewise.
56625         * lib/sinl.c: Likewise.
56626         * lib/sqrtl.c: Likewise.
56627         * lib/tanl.c: Likewise.
56628         * lib/trigl.c: Likewise.
56629         * m4/math_h.m4: New file.
56630         * MODULES.html.sh (Mathematics): Add math.
56631
56632 2007-02-17  Bruno Haible  <bruno@clisp.org>
56633
56634         * modules/wctype-tests: New file.
56635         * tests/test-wctype.c: New file.
56636
56637         * modules/wchar-tests: New file.
56638         * tests/test-wchar.c: New file.
56639
56640         * modules/unistd-tests: New file.
56641         * tests/test-unistd.c: New file.
56642
56643         * modules/time-tests: New file.
56644         * tests/test-time.c: New file.
56645
56646         * modules/sysexits-tests: New file.
56647         * tests/test-sysexits.c: New file.
56648
56649         * modules/sys_time-tests: New file.
56650         * tests/test-sys_time.c: New file.
56651
56652         * modules/sys_stat-tests: New file.
56653         * tests/test-sys_stat.c: New file.
56654
56655         * modules/sys_socket-tests: New file.
56656         * tests/test-sys_socket.c: New file.
56657
56658         * modules/sys_select-tests: New file.
56659         * tests/test-sys_select.c: New file.
56660
56661         * modules/string-tests: New file.
56662         * tests/test-string.c: New file.
56663
56664         * modules/stdbool-tests: New file.
56665         * tests/test-stdbool.c: New file.
56666
56667         * modules/netinet_in-tests: New file.
56668         * tests/test-netinet_in.c: New file.
56669
56670         * modules/inttypes-tests: New file.
56671         * tests/test-inttypes.c: New file.
56672
56673         * modules/fcntl-tests: New file.
56674         * tests/test-fcntl.c: New file.
56675
56676         * modules/byteswap-tests: New file.
56677         * tests/test-byteswap.c: New file.
56678
56679         * modules/arpa_inet-tests: New file.
56680         * tests/test-arpa_inet.c: New file.
56681
56682 2007-02-17  Bruno Haible  <bruno@clisp.org>
56683
56684         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
56685         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
56686         if the corresponding module is not enabled. Emit link warnings if
56687         the function is used nevertheless.
56688         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
56689         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
56690         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
56691         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
56692         * modules/inttypes (Depends-on): Add link-warning.
56693         (Makefile.am): Copy the contents of build-aux/link-warning.h into
56694         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
56695         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
56696         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
56697         * modules/imaxdiv (configure.ac): Likewise.
56698         * modules/strtoimax (configure.ac): Likewise.
56699         * modules/strtoumax (configure.ac): Likewise.
56700
56701 2007-02-17  Bruno Haible  <bruno@clisp.org>
56702
56703         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
56704         gl_STRING_MODULE_INDICATOR_DEFAULTS.
56705         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
56706         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
56707
56708 2007-02-17  Bruno Haible  <bruno@clisp.org>
56709
56710         * modules/link-warning: New file.
56711         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
56712         * lib/string_.h (GL_LINK_WARNING): Remove definition.
56713         * modules/string (Depends-on): Add link-warning.
56714         (Makefile.am): Copy the contents of build-aux/link-warning.h into
56715         string.h.
56716         * MODULES.html.sh (Support for building libraries and executables): Add
56717         link-warning.
56718
56719 2007-02-17  Bruno Haible  <bruno@clisp.org>
56720
56721         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
56722         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
56723         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
56724         long lines.
56725
56726 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
56727             Bruno Haible  <bruno@clisp.org>
56728
56729         * modules/tmpfile: New file.
56730         * lib/tmpfile.c: New file.
56731         * m4/tmpfile.m4: New file.
56732         * MODULES.html.sh (func_all_modules): New section "Input/output".
56733
56734 2007-02-15  Bruno Haible  <bruno@clisp.org>
56735
56736         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
56737         (supports_delete_on_close): New function.
56738         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
56739
56740 2007-02-14  Bruno Haible  <bruno@clisp.org>
56741
56742         * modules/mbspcasecmp-tests: New file.
56743         * tests/test-mbspcasecmp.sh: New file.
56744         * tests/test-mbspcasecmp.c: New file.
56745
56746         New module mbspcasecmp.
56747         * modules/mbspcasecmp: New file.
56748         * lib/mbspcasecmp.c: New file.
56749         * lib/string_.h (strncasecmp): Change warning message.
56750         (mbspcasecmp): New declaration.
56751         * m4/mbspcasecmp.m4: New file.
56752         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
56753         GNULIB_MBSPCASECMP.
56754         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
56755         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
56756
56757 2007-02-14  Bruno Haible  <bruno@clisp.org>
56758
56759         * modules/mbsncasecmp-tests: New file.
56760         * tests/test-mbsncasecmp.sh: New file.
56761         * tests/test-mbsncasecmp.c: New file.
56762
56763         New module mbsncasecmp.
56764         * modules/mbsncasecmp: New file.
56765         * lib/mbsncasecmp.c: New file.
56766         * lib/string_.h (mbsncasecmp): New declaration.
56767         * m4/mbsncasecmp.m4: New file.
56768         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
56769         GNULIB_MBSNCASECMP.
56770         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
56771         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
56772
56773 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
56774
56775         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
56776         Verify that it doesn't overlap with our flags.
56777         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
56778         do not have the desired effect in multibyte locales; instead, use
56779         mbscasecmp.
56780         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
56781         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
56782         we don't require GNU fnmatch ourselves (if our users require it, they
56783         should do so explicitly).
56784
56785         Fix regex code so it doesn't rely on strcasecmp.
56786         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
56787         Otherwise, include gnulib's langinfo.h.
56788         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
56789         undesirable behavior in non-C locales.  Instead, rely on localecharset.
56790         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
56791         * modules/regex (FILES): Remove m4/codeset.m4.
56792         (Depends-on): Add localcharset.  Remove strcase.
56793
56794 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56795
56796         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
56797         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
56798
56799 2007-02-13  Bruno Haible  <bruno@clisp.org>
56800
56801         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
56802         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
56803
56804 2007-02-12  Bruno Haible  <bruno@clisp.org>
56805
56806         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
56807         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
56808         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
56809         time warning rather than a link error.
56810
56811 2007-02-12  Bruno Haible  <bruno@clisp.org>
56812
56813         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
56814         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
56815         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
56816
56817 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
56818
56819         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
56820         args, not 2.
56821
56822 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
56823
56824         New module 'time', so that apps can include <time.h> as per
56825         POSIX and GNU instead of separate include files like time_r.h
56826         and timegm.h.  This implementation tries out a simpler approach
56827         for replacing decls in standard include files (as compared to
56828         the string module), somewhat as an experiment.
56829
56830         * config/srclist.txt: Comment out mktime.c for now.
56831         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
56832         since it doesn't apply any more.  Use generic wording instead.
56833         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
56834         'time'.
56835         * lib/time_.h, m4/time_h.m4, modules/time: New files.
56836         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
56837         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
56838         Don't include <sys/types.h>; no longer needed since we assume C89.
56839         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
56840         * lib/strftime.c: Likewise.
56841         * lib/time_r.c: Likewise.
56842         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
56843         * lib/nanosleep.c: Include <time.h> first, to check interface.
56844         * lib/strptime.c: Likewise.
56845         * lib/time_r.c: Likewise.
56846         * lib/timegm.c: Likewise.
56847         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
56848         needed.
56849         * lib/timegm.c: Don't include timegm.h; no longer needed.
56850         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
56851         time.h now handles any problems in that area.
56852         (struct timespec, nanosleep): Remove; time.h now arranges for these.
56853         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
56854         that time.h defines struct timespec.
56855         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
56856         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
56857         handles that.
56858         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
56859         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
56860         needed.  Set REPLACE_LOCALTIME.
56861         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
56862         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
56863         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
56864         nanosleep; time_h.m4 now does that.  Don't require
56865         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
56866         module handles this now.
56867         * modules/getdate (Depends-on): Remove timespec.  Add time.
56868         * modules/nanosleep (Depends-on): Likewise.
56869         * modules/stat-time (Depends-on): Likewise.
56870         * modules/nanosleep (Include): Include time.h, not timespec.h.
56871         * modules/strptime (Files): Remove lib/strptime.h.
56872         (Depends-on): Add extensions, time.
56873         (Include): Include time.h, not strptime.h.
56874         * modules/time_r (Files): Remove lib/time_r.h.
56875         (Depends-on): Add time.
56876         (Include): Include time.h, not time_r.h.
56877         * modules/timegm: Likewise.
56878         * modules/timespec (Description): Now does timespec-related decls
56879         of our own, instead of struct timespec itself.
56880         (Depends-on): Add time; remove extensions.
56881         (Maintainer): Add self.
56882         * modules/utimecmp (Depends-on): Add time; remove timespec.
56883         * modules/utimens (Depends-on): Likewise.
56884         * modules/xnanosleep (Depends-on): Likewise.
56885
56886 2007-02-11  Bruno Haible  <bruno@clisp.org>
56887
56888         * lib/c-strstr.c: Include allocsa.h.
56889         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
56890         * lib/c-strcasestr.c: Include allocsa.h.
56891         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
56892         * lib/strcasestr.c: Include allocsa.h.
56893         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
56894         * lib/mbsstr.c: Include allocsa.h.
56895         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
56896         allocsa/freesa instead of malloc/free.
56897         * lib/mbscasestr.c: Include allocsa.h.
56898         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
56899         allocsa/freesa instead of malloc/free.
56900         * modules/c-strstr (Depends-on): Add allocsa.
56901         * modules/c-strcasestr (Depends-on): Likewise.
56902         * modules/strcasestr (Depends-on): Likewise.
56903         * modules/mbsstr (Depends-on): Likewise.
56904         * modules/mbscasestr (Depends-on): Likewise.
56905
56906 2007-02-11  Bruno Haible  <bruno@clisp.org>
56907
56908         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
56909
56910         * modules/mbsspn-tests: New file.
56911         * tests/test-mbsspn.sh: New file.
56912         * tests/test-mbsspn.c: New file.
56913
56914 2007-02-11  Bruno Haible  <bruno@clisp.org>
56915
56916         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
56917
56918         * modules/mbspbrk-tests: New file.
56919         * tests/test-mbspbrk.sh: New file.
56920         * tests/test-mbspbrk.c: New file.
56921
56922 2007-02-11  Bruno Haible  <bruno@clisp.org>
56923
56924         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
56925         unneeded cast.
56926
56927         * modules/mbscspn-tests: New file.
56928         * tests/test-mbscspn.sh: New file.
56929         * tests/test-mbscspn.c: New file.
56930
56931 2007-02-11  Bruno Haible  <bruno@clisp.org>
56932
56933         * modules/mbscasecmp-tests: New file.
56934         * tests/test-mbscasecmp.sh: New file.
56935         * tests/test-mbscasecmp.c: New file.
56936
56937 2007-02-11  Bruno Haible  <bruno@clisp.org>
56938
56939         Ensure O(n) worst-case complexity of mbscasestr.
56940         * lib/mbscasestr.c: Include stdbool.h.
56941         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
56942         functions.
56943         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
56944         the bookkeeping indicates that it's worth it.
56945         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
56946
56947         * modules/mbscasestr-tests: New file.
56948         * tests/test-mbscasestr1.c: New file.
56949         * tests/test-mbscasestr2.sh: New file.
56950         * tests/test-mbscasestr2.c: New file.
56951         * tests/test-mbscasestr3.sh: New file.
56952         * tests/test-mbscasestr3.c: New file.
56953         * tests/test-mbscasestr4.sh: New file.
56954         * tests/test-mbscasestr4.c: New file.
56955         * m4/locale-tr.m4: New file.
56956
56957 2007-02-11  Bruno Haible  <bruno@clisp.org>
56958
56959         Ensure O(n) worst-case complexity of mbsstr.
56960         * lib/mbsstr.c: Include stdbool.h.
56961         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
56962         functions.
56963         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
56964         bookkeeping indicates that it's worth it.
56965         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
56966
56967         * modules/mbsstr-tests: New file.
56968         * tests/test-mbsstr1.c: New file.
56969         * tests/test-mbsstr2.sh: New file.
56970         * tests/test-mbsstr2.c: New file.
56971         * tests/test-mbsstr3.sh: New file.
56972         * tests/test-mbsstr3.c: New file.
56973         * m4/locale-fr.m4: New file.
56974
56975 2007-02-11  Bruno Haible  <bruno@clisp.org>
56976
56977         * lib/mbsrchr.c (mbsrchr): Fix bug.
56978
56979         * modules/mbsrchr-tests: New file.
56980         * tests/test-mbsrchr.sh: New file.
56981         * tests/test-mbsrchr.c: New file.
56982
56983 2007-02-11  Bruno Haible  <bruno@clisp.org>
56984
56985         * lib/mbschr.c (mbschr): Fix bug.
56986
56987         * modules/mbschr-tests: New file.
56988         * tests/test-mbschr.sh: New file.
56989         * tests/test-mbschr.c: New file.
56990         * m4/locale-zh.m4: New file.
56991
56992 2007-02-11  Bruno Haible  <bruno@clisp.org>
56993
56994         Support for copying multibyte string iterators.
56995         * lib/mbiter.h: Include <string.h>.
56996         (mbiter_multi_copy): New function.
56997         (mbi_copy): New macro.
56998         * lib/mbuiter.h: Include <string.h>.
56999         (mbuiter_multi_copy): New function.
57000         (mbui_copy): New macro.
57001
57002 2007-02-11  Bruno Haible  <bruno@clisp.org>
57003
57004         New module mbslen.
57005         * modules/mbslen: New file.
57006         * lib/mbslen.c: New file.
57007         * lib/string_.h (mbslen): New declaration.
57008         * m4/mbslen.m4: New file.
57009         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
57010         GNULIB_MBSLEN.
57011         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
57012         * MODULES.html.sh (Internationalization functions): Add mbslen.
57013
57014 2007-02-11  Bruno Haible  <bruno@clisp.org>
57015
57016         Ensure O(n) worst-case complexity of strcasestr substitute.
57017         * lib/strcasestr.c: Include stdbool.h.
57018         (knuth_morris_pratt): New function.
57019         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
57020         bookkeeping indicates that it's worth it.
57021         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
57022
57023         * modules/strcasestr-tests: New file.
57024         * tests/test-strcasestr.c: New file.
57025
57026 2007-02-11  Bruno Haible  <bruno@clisp.org>
57027
57028         Ensure O(n) worst-case complexity of c_strcasestr.
57029         * lib/c-strcasestr.c: Include stdbool.h, string.h.
57030         (knuth_morris_pratt): New function.
57031         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
57032         the bookkeeping indicates that it's worth it.
57033         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
57034
57035         * modules/c-strcasestr-tests: New file.
57036         * tests/test-c-strcasestr.c: New file.
57037
57038 2007-02-11  Bruno Haible  <bruno@clisp.org>
57039
57040         Ensure O(n) worst-case complexity of c_strstr.
57041         * lib/c-strstr.c: Include stdbool.h, string.h.
57042         (knuth_morris_pratt): New function.
57043         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
57044         bookkeeping indicates that it's worth it.
57045         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
57046
57047         * lib/c-strstr.c: Complete rewrite for maintainability.
57048
57049         * modules/c-strstr-tests: New file.
57050         * tests/test-c-strstr.c: New file.
57051
57052 2007-02-11  Bruno Haible  <bruno@clisp.org>
57053
57054         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
57055         5.2.1 and earlier, whereby \055 was treated just like the range
57056         delimiter '-'.
57057         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
57058
57059 2007-02-08  Bruno Haible  <bruno@clisp.org>
57060
57061         * modules/regex (Depends-on): Add stdbool.
57062         Reported by Dalibor Topic <robilad@kaffe.org>.
57063
57064 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
57065
57066         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
57067         Prefer returning from main to exiting from it.
57068         Remove unnecessary parens after sizeof.
57069
57070 2007-02-05  Bruno Haible  <bruno@clisp.org>
57071
57072         New module mbssep.
57073         * modules/mbssep: New file.
57074         * lib/mbssep.c: New file.
57075         * lib/string_.h (strsep): Add a conditional link warning.
57076         (mbssep): New declaration.
57077         * m4/mbssep.m4: New file.
57078         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
57079         GNULIB_MBSSEP.
57080         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
57081         * MODULES.html.sh (Internationalization functions): Add mbssep.
57082
57083 2007-02-05  Bruno Haible  <bruno@clisp.org>
57084
57085         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
57086         Optimize search in case of 1 delimiter.
57087
57088 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
57089
57090         * lib/acl.h: Include sys/types.h before sys/acl.h.
57091
57092 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
57093
57094         Merge upstream fix for glibc bugzilla #3957:
57095
57096         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
57097
57098         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
57099         bit for RE_HAT_LISTS_NOT_NEWLINE.
57100         (build_charclass_op): Remove bogus comment.
57101
57102 2007-02-05  Simon Josefsson  <simon@josefsson.org>
57103
57104         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
57105
57106 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
57107
57108         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
57109         * lib/memmem.c [!defined _LIBC]: Include config.h.
57110
57111 2007-02-04  Bruno Haible  <bruno@clisp.org>
57112
57113         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
57114         warning message.
57115
57116 2007-02-04  Bruno Haible  <bruno@clisp.org>
57117
57118         New module mbstok_r.
57119         * modules/mbstok_r: New file.
57120         * lib/mbstok_r.c: New file.
57121         * lib/string_.h (strtok_r): Change argument names to match the
57122         comments. Add a conditional link warning.
57123         (mbstok_r): New declaration.
57124         * m4/mbstok_r.m4: New file.
57125         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
57126         GNULIB_MBSTOK_R.
57127         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
57128         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
57129
57130 2007-02-04  Bruno Haible  <bruno@clisp.org>
57131
57132         New module mbsspn.
57133         * modules/mbsspn: New file.
57134         * lib/mbsspn.c: New file.
57135         * lib/string_.h (strspn): Add a conditional link warning.
57136         (mbsspn): New declaration.
57137         * m4/mbsspn.m4: New file.
57138         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
57139         GNULIB_MBSSPN.
57140         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
57141         * MODULES.html.sh (Internationalization functions): Add mbsspn.
57142
57143 2007-02-04  Bruno Haible  <bruno@clisp.org>
57144
57145         New module mbspbrk.
57146         * modules/mbspbrk: New file.
57147         * lib/mbspbrk.c: New file.
57148         * lib/string_.h (strpbrk): Add a conditional link warning.
57149         (mbspbrk): New declaration.
57150         * m4/mbspbrk.m4: New file.
57151         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
57152         GNULIB_MBSPBRK.
57153         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
57154         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
57155
57156 2007-02-04  Bruno Haible  <bruno@clisp.org>
57157
57158         New module mbscspn.
57159         * modules/mbscspn: New file.
57160         * lib/mbscspn.c: New file.
57161         * lib/string_.h (strcspn): Add a conditional link warning.
57162         (mbscspn): New declaration.
57163         * m4/mbscspn.m4: New file.
57164         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
57165         GNULIB_MBSCSPN.
57166         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
57167         * MODULES.html.sh (Internationalization functions): Add mbscspn.
57168
57169 2007-02-04  Bruno Haible  <bruno@clisp.org>
57170
57171         New module mbscasestr, reduced goal of strcasestr.
57172         * modules/mbscasestr: New file.
57173         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
57174         (mbscasestr): Renamed from strcasestr.
57175         * lib/strcasestr.c: Don't include mbuiter.h.
57176         (strcasestr): Remove support for multibyte locales.
57177         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
57178         Change the conditional link warning.
57179         (mbscasestr): New declaration.
57180         * m4/mbscasestr.m4: New file.
57181         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
57182         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
57183         REPLACE_STRCASESTR.
57184         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
57185         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
57186         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
57187         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
57188         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
57189         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
57190         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
57191         (Depends-on): Remove mbuiter.
57192         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
57193
57194 2007-02-04  Bruno Haible  <bruno@clisp.org>
57195
57196         Simplify handling of strncasecmp.
57197         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
57198         the conditional link warning.
57199         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
57200         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
57201         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
57202         * modules/strcase (configure.ac): Don't invoke
57203         gl_STRING_MODULE_INDICATOR.
57204         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
57205
57206 2007-02-04  Bruno Haible  <bruno@clisp.org>
57207
57208         New module mbscasecmp, reduced goal of strcasecmp.
57209         * modules/mbscasecmp: New file.
57210         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
57211         (mbscasecmp): Renamed from strcasecmp.
57212         * lib/strcasecmp.c: Don't include mbuiter.h.
57213         (strcasecmp): Remove support for multibyte locales.
57214         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
57215         Change the conditional link warning.
57216         (mbscasecmp): New declaration.
57217         * m4/mbscasecmp.m4: New file.
57218         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
57219         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
57220         REPLACE_STRCASECMP.
57221         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
57222         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
57223         GNULIB_MBSCASECMP.
57224         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
57225         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
57226         * modules/strcase (Files): Remove m4/mbrtowc.m4.
57227         (Depends-on): Remove mbuiter.
57228         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
57229
57230 2007-02-04  Bruno Haible  <bruno@clisp.org>
57231
57232         New module mbsstr. Remove module strstr.
57233         * modules/mbsstr: New file.
57234         * modules/strstr: Remove file.
57235         * lib/mbsstr.c: Renamed from lib/strstr.c.
57236         (mbsstr): Renamed from strstr.
57237         * lib/string_.h (strstr): Remove declaration. Change the conditional
57238         link warning.
57239         (mbsstr): New declaration.
57240         * m4/mbsstr.m4: New file.
57241         * m4/strstr.m4: Remove file.
57242         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
57243         REPLACE_STRSTR.
57244         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
57245         Don't initialize GNULIB_STRSTR.
57246         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
57247         substitute GNULIB_STRSTR and REPLACE_STRSTR.
57248         * MODULES.html.sh (Internationalization functions): Add mbsstr.
57249         (Support for systems lacking ANSI C 89): Remove strstr.
57250
57251 2007-02-04  Bruno Haible  <bruno@clisp.org>
57252
57253         New module mbsrchr.
57254         * modules/mbsrchr: New file.
57255         * lib/mbsrchr.c: New file.
57256         * lib/string_.h (strrchr): Add a conditional link warning.
57257         (mbsrchr): New declaration.
57258         * m4/mbsrchr.m4: New file.
57259         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
57260         GNULIB_MBSRCHR.
57261         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
57262         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
57263
57264 2007-02-04  Bruno Haible  <bruno@clisp.org>
57265
57266         New module mbschr.
57267         * modules/mbschr: New file.
57268         * lib/mbschr.c: New file.
57269         * lib/string_.h (strchr): Add a conditional link warning.
57270         (mbschr): New declaration.
57271         * m4/mbschr.m4: New file.
57272         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
57273         GNULIB_MBSCHR.
57274         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
57275         * MODULES.html.sh (Internationalization functions): Add mbschr.
57276
57277 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
57278
57279         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
57280
57281         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
57282
57283 2007-02-04  Bruno Haible  <bruno@clisp.org>
57284
57285         New module description section 'configure.ac-early'.
57286         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
57287         (func_get_autoconf_early_snippet): New function.
57288         (func_import, func_create_testdir): Use it. Remove special cases for
57289         modules 'extensions' and 'lock'.
57290         * modules/extensions (configure.ac-early): Require
57291         gl_USE_SYSTEM_EXTENSIONS.
57292         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
57293
57294 2007-02-04  Bruno Haible  <bruno@clisp.org>
57295
57296         Make use of gcj-4.3's -fsource and -ftarget option.
57297         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
57298         and if so try the options -fsource and -ftarget.
57299         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
57300         source_version, ftarget_option, target_version arguments.
57301         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
57302         (is_envjavac_oldgcj_14_14_usable): Renamed from
57303         is_envjavac_gcj_14_14_usable.
57304         (is_envjavac_oldgcj_14_13_usable): Renamed from
57305         is_envjavac_gcj_14_13_usable.
57306         (is_gcj_present): Update.
57307         (is_gcj_43, is_gcj43_usable): New functions.
57308         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
57309         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
57310         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
57311         try the options -fsource and -ftarget.
57312
57313 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
57314
57315         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
57316         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
57317         larger value.
57318
57319 2007-02-03  Jim Meyering  <jim@meyering.net>
57320
57321         Give tools a better chance to allocate space for very large buffers.
57322         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
57323
57324         Make pwd and readlink work also when run with an unreadable parent dir
57325         on systems with openat support.
57326         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
57327         provided getcwd function, even when we have openat support.
57328         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
57329
57330 2007-02-02  Bruno Haible  <bruno@clisp.org>
57331
57332         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
57333         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
57334         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
57335         portability problems if one of these functions is only used on specific
57336         platforms.
57337         Reported by Paul Eggert.
57338
57339 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
57340
57341         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
57342         is causing more trouble than it's curing.
57343         * lib/regex_internal.h (__mempcpy): Remove.
57344         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
57345         (and make the code a tad smaller to boot).
57346         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
57347
57348 2007-02-02  Jim Meyering  <jim@meyering.net>
57349
57350         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
57351         section, not in the Makefile.am: one.
57352
57353 2007-02-02  Eric Blake  <ebb9@byu.net>
57354
57355         * lib/strchrnul.c: Always include config.h first.
57356
57357         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
57358         gnulib strstr is not necessary here.
57359
57360 2007-02-02  Simon Josefsson  <simon@josefsson.org>
57361
57362         * m4/socklen.m4: Fix typo.
57363
57364 2007-02-02  Eric Blake  <ebb9@byu.net>
57365
57366         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
57367         * modules/netinet_in (Makefile.am): Likewise.
57368
57369 2007-02-01  Bruno Haible  <bruno@clisp.org>
57370
57371         * lib/string_.h (GL_LINK_WARNING): New macro.
57372         (strcasecmp, strstr, strcasestr): If provided by the system,
57373         conditionally define as a macro that leads to a warning instead of to
57374         an error.
57375         (strncasecmp): Conditionally define as a macro that leads to a warning.
57376
57377 2007-02-01  Karl Berry  <karl@gnu.org>
57378
57379         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
57380
57381 2007-02-01  Bruno Haible  <bruno@clisp.org>
57382
57383         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
57384         renamings.
57385
57386 2007-02-01  Eric Blake  <ebb9@byu.net>
57387
57388         * modules/regex (Depends-on): Revert dependence on mempcpy.
57389         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
57390         module's definition of mempcpy.
57391         Reported by Paul Eggert.
57392
57393 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
57394
57395         * lib/string_.h: If the gnulib module XYZ is not present, undefine
57396         the symbol XYZ before redefining it.  This fixes a problem with
57397         programs that don't use XYZ, when compiled on systems that define
57398         XYZ to something else.
57399
57400 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
57401
57402         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
57403         occurs when "mkdir -m foo" creates a setgid directory that is (1)
57404         writeable to group or other and (2) is intended to have a special
57405         mode bit that is set or cleared.  In such a case, the directory
57406         should be neither group- nor other-writeable until the special
57407         mode bits are right.
57408
57409 2007-01-31  Eric Blake  <ebb9@byu.net>
57410
57411         * modules/mountlist (Depends-on): Add strstr.
57412
57413         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
57414         bug.
57415         * modules/string (Makefile.am): Remove redundant replacement.
57416         * modules/regex (Depends-on): Add mempcpy.
57417
57418 2007-01-31  Bruno Haible  <bruno@clisp.org>
57419
57420         New module description field 'Link'.
57421         * gnulib-tool (func_usage): Document --extract-link-directive.
57422         (sed_extract_prog): Recognize 'Link' directive.
57423         (func_get_link_directive): New function.
57424         (func_import): Show summary of link directives.
57425         Handle --extract-link-directive option.
57426         * modules/acl (Link): New section.
57427         * modules/clock-time (Link): New section.
57428         * modules/euidaccess (Link): New section.
57429         * modules/gettext (Link): New section.
57430         * modules/iconv (Link): New section.
57431         * modules/lock (Link): New section.
57432         * modules/nanosleep (Link): New section.
57433         * modules/readline (Link): New section.
57434
57435 2007-01-27  Bruno Haible  <bruno@clisp.org>
57436
57437         Enforce the use of gnulib modules for unportable <string.h> functions.
57438         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
57439         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
57440         (gl_HEADER_STRING_H_BODY): Require it.
57441         * lib/string_.h: If the gnulib module XYZ is not present, redefine
57442         the symbol XYZ to one that gives a link error.
57443         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
57444         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
57445         * modules/mempcpy (configure.ac): Likewise.
57446         * modules/memrchr (configure.ac): Likewise.
57447         * modules/stpcpy (configure.ac): Likewise.
57448         * modules/stpncpy (configure.ac): Likewise.
57449         * modules/strcase (configure.ac): Likewise.
57450         * modules/strcasestr (configure.ac): Likewise.
57451         * modules/strchrnul (configure.ac): Likewise.
57452         * modules/strdup (configure.ac): Likewise.
57453         * modules/strndup (configure.ac): Likewise.
57454         * modules/strnlen (configure.ac): Likewise.
57455         * modules/strpbrk (configure.ac): Likewise.
57456         * modules/strsep (configure.ac): Likewise.
57457         * modules/strstr (configure.ac): Likewise.
57458         * modules/strtok_r (configure.ac): Likewise.
57459
57460 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
57461
57462         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
57463
57464 2007-01-30  Jim Meyering  <jim@meyering.net>
57465
57466         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
57467
57468 2007-01-29  Bruno Haible  <bruno@clisp.org>
57469
57470         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
57471         * lib/execute.c: Likewise.
57472         * lib/pipe.c: Likewise.
57473         * lib/printf-args.h: Likewise.
57474         * lib/printf-args.c: Likewise.
57475         * lib/printf-parse.c: Likewise.
57476         * lib/vasnprintf.c: Likewise.
57477
57478 2007-01-29  Eric Blake  <ebb9@byu.net>
57479
57480         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
57481         declaration.
57482
57483 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
57484
57485         * lib/strptime.h (strptime): Use 'restrict' for args where
57486         POSIX requires this.
57487         * lib/strptime.c (strptime): Likewise.
57488         Change license notice from LGPL to GPL, since gnulib-tool will
57489         change this as needed.
57490         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
57491         defined.
57492         Include "strptime.h" first, to check interface.
57493         Do not #undef _LIBC and _NL_CURRENT.
57494         Do not include <stdlib.h>; no longer needed.
57495         Include "time_r.h" and declare ptime_locale_status
57496         only if _LIBC is not defined.
57497         (__P): Remove unused macro.
57498         (match_string): Bring back glibc version, but use it only if _LIBC
57499         is defined.
57500         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
57501         Remove unnecessary assertion and abort() call.
57502         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
57503         * m4/strptime.m4: Fix serial number comment.
57504         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
57505         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
57506         (Depends-on): Add time_r.
57507
57508 2007-01-29  Bruno Haible  <bruno@clisp.org>
57509
57510         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
57511         strptime.
57512         * modules/strptime (Depends-on): Add stdbool.
57513         * lib/strptime.h: Include <time.h> always. Add comments.
57514
57515 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
57516
57517         * modules/strptime: New file.
57518         * lib/strptime.h: New file.
57519         * lib/strptime.c: New file.
57520         * m4/strptime.m4: New file.
57521
57522 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
57523
57524         * MODULES.html.sh: New module mpsort.
57525         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
57526
57527         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
57528         a circularity problem with HP-UX ia64 reported by Bob Proulx in
57529         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
57530         All uses changed.
57531         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
57532         All uses changed.
57533         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
57534         to _Restrict_.
57535         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
57536         the parameter matches the prototype.
57537
57538 2007-01-28  Jim Meyering  <jim@meyering.net>
57539
57540         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
57541         sys/time.h here, reverting that part of the previous patch:
57542         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
57543
57544 2007-01-28  Bruno Haible  <bruno@clisp.org>
57545
57546         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
57547         value of $(SYS_TIME_H).
57548         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
57549         remove it conditionally, too. [added by Jim Meyering]
57550         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
57551         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
57552         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
57553         GETTIMEOFDAY_REPLACEMENT to 1.
57554
57555 2007-01-28  Bruno Haible  <bruno@clisp.org>
57556
57557         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
57558         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
57559         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
57560         Set UNISTD_H instead of UNISTD_H2.
57561         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
57562
57563 2007-01-28  Bruno Haible  <bruno@clisp.org>
57564
57565         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
57566         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
57567
57568 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57569
57570         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
57571         (func_create_testdir): Ensure C locale for `grep' and `tr'
57572         character ranges.
57573         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
57574         ACLOCAL_AMFLAGS parsing state machine.
57575
57576 2007-01-27  Bruno Haible  <bruno@clisp.org>
57577
57578         * modules/unistr/base: Update.
57579
57580 2007-01-27  Bruno Haible  <bruno@clisp.org>
57581
57582         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
57583         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
57584         * modules/unistr/u32-mbtouc-unsafe: Renamed from
57585         modules/unistr/u32-mbtouc.
57586         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
57587         * lib/unistr.h: Update.
57588         * lib/linebreak.c: Update.
57589         * modules/unistr/u32-mbtouc: Renamed from
57590         modules/unistr/u32-mbtouc-safe.
57591         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
57592         * lib/unistr.h: Update.
57593         * lib/unistr/u32-to-u8.c: Update.
57594         * lib/unistr/u32-to-u16.c: Update.
57595
57596 2007-01-27  Bruno Haible  <bruno@clisp.org>
57597
57598         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
57599         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
57600         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
57601         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
57602         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
57603         * modules/unistr/u16-mbtouc-unsafe: Renamed from
57604         modules/unistr/u16-mbtouc.
57605         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
57606         * lib/unistr.h: Update.
57607         * lib/linebreak.c: Update.
57608         * modules/linebreak: Update.
57609         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
57610         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
57611         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
57612         * modules/unistr/u16-mbtouc: Renamed from
57613         modules/unistr/u16-mbtouc-safe.
57614         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
57615         * lib/unistr.h: Update.
57616         * lib/unistr/u16-to-u8.c: Update.
57617         * modules/unistr/u16-to-u8: Update.
57618         * lib/unistr/u16-to-u32.c: Update.
57619         * modules/unistr/u16-to-u32: Update.
57620
57621 2007-01-27  Bruno Haible  <bruno@clisp.org>
57622
57623         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
57624         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
57625         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
57626         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
57627         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
57628         * modules/unistr/u8-mbtouc-unsafe: Renamed from
57629         modules/unistr/u8-mbtouc.
57630         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
57631         * lib/unistr.h: Update.
57632         * lib/striconveh.c: Update.
57633         * modules/striconveh: Update.
57634         * lib/linebreak.c: Update.
57635         * modules/linebreak: Update.
57636         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
57637         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
57638         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
57639         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
57640         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
57641         * lib/unistr.h: Update.
57642         * lib/striconveh.c: Update.
57643         * modules/striconveh: Update.
57644         * lib/unistr/u8-to-u16.c: Update.
57645         * modules/unistr/u8-to-u16: Update.
57646         * lib/unistr/u8-to-u32.c: Update.
57647         * modules/unistr/u8-to-u32: Update.
57648
57649 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57650
57651         Sync from Libtool.
57652         * lib/argz.c: Do not include strings.h nor memory.h, include
57653         string.h unconditionally.  Patch by Simon Josefsson.
57654
57655 2007-01-27  Bruno Haible  <bruno@clisp.org>
57656
57657         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
57658         from gl_HEADER_STRING_H_BODY.
57659         (gl_HEADER_STRING_H_BODY): Require it.
57660         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
57661         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
57662         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
57663         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
57664         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
57665         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
57666         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
57667         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
57668         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
57669         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
57670         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
57671         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
57672         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
57673         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
57674         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
57675
57676 2007-01-27  Bruno Haible  <bruno@clisp.org>
57677
57678         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
57679         check_PROGRAMS into noinst_PROGRAMS.
57680         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
57681         check_PROGRAMS in this case.
57682         (func_import): Set for_test to false.
57683         (func_create_testdir): Set for_test to true.
57684
57685 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
57686             Bruno Haible  <bruno@clisp.org>
57687
57688         * modules/strcasestr (Files): Remove lib/strcasestr.h.
57689         (Depends-on): Add string.
57690         (Includes): Use <string.h> instead of strcasestr.h.
57691         * modules/string (Makefile.am): Also substitute the value of
57692         REPLACE_STRCASESTR.
57693         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
57694         assume strcasestr is declared in <string.h> not <strings.h>. Also
57695         set REPLACE_STRCASESTR.
57696         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
57697         REPLACE_STRCASESTR.
57698         * lib/strcasestr.h: Remove file.
57699         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
57700         * lib/string_.h (strcasestr): New declaration.
57701
57702 2007-01-27  Bruno Haible  <bruno@clisp.org>
57703
57704         * lib/string_.h: Use 'extern'.
57705
57706 2007-01-27  Jim Meyering  <jim@meyering.net>
57707
57708         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
57709         of set-but-not-used local, "q".
57710
57711         * lib/mempcpy.c: Include <config.h> before <string.h>.
57712         This fixes a compilation error on HP-UX, due to the system's
57713         "restrict"-using mempcpy prototype.
57714
57715 2007-01-26  Bruno Haible  <bruno@clisp.org>
57716
57717         Small optimization.
57718         * lib/javacomp.c: Include c-strstr.h.
57719          (is_envjavac_gcj): Use c_strstr instead of strstr.
57720         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
57721
57722 2007-01-26  Bruno Haible  <bruno@clisp.org>
57723
57724         * MODULES.html.sh (Unicode string functions): Add the new modules.
57725
57726         * modules/uniconv/u32-strconv-to-locale: New file.
57727         * lib/uniconv/u32-strconv-to-locale.c: New file.
57728
57729         * modules/uniconv/u16-strconv-to-locale: New file.
57730         * lib/uniconv/u16-strconv-to-locale.c: New file.
57731
57732         * modules/uniconv/u8-strconv-to-locale: New file.
57733         * lib/uniconv/u8-strconv-to-locale.c: New file.
57734
57735         * modules/uniconv/u32-strconv-from-locale: New file.
57736         * lib/uniconv/u32-strconv-from-locale.c: New file.
57737
57738         * modules/uniconv/u16-strconv-from-locale: New file.
57739         * lib/uniconv/u16-strconv-from-locale.c: New file.
57740
57741         * modules/uniconv/u8-strconv-from-locale: New file.
57742         * lib/uniconv/u8-strconv-from-locale.c: New file.
57743
57744         * modules/uniconv/u32-strconv-to-enc: New file.
57745         * lib/uniconv/u32-strconv-to-enc.c: New file.
57746         * modules/uniconv/u32-strconv-to-enc-tests: New file.
57747         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
57748
57749         * modules/uniconv/u16-strconv-to-enc: New file.
57750         * lib/uniconv/u16-strconv-to-enc.c: New file.
57751         * lib/uniconv/u-strconv-to-enc.h: New file.
57752         * modules/uniconv/u16-strconv-to-enc-tests: New file.
57753         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
57754
57755         * modules/uniconv/u8-strconv-to-enc: New file.
57756         * lib/uniconv/u8-strconv-to-enc.c: New file.
57757         * modules/uniconv/u8-strconv-to-enc-tests: New file.
57758         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
57759
57760         * modules/uniconv/u32-strconv-from-enc: New file.
57761         * lib/uniconv/u32-strconv-from-enc.c: New file.
57762         * modules/uniconv/u32-strconv-from-enc-tests: New file.
57763         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
57764
57765         * modules/uniconv/u16-strconv-from-enc: New file.
57766         * lib/uniconv/u16-strconv-from-enc.c: New file.
57767         * modules/uniconv/u16-strconv-from-enc-tests: New file.
57768         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
57769
57770         * modules/uniconv/u8-strconv-from-enc: New file.
57771         * lib/uniconv/u8-strconv-from-enc.c: New file.
57772         * lib/uniconv/u-strconv-from-enc.h: New file.
57773         * modules/uniconv/u8-strconv-from-enc-tests: New file.
57774         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
57775
57776         * modules/uniconv/u32-conv-from-enc: New file.
57777         * lib/uniconv/u32-conv-from-enc.c: New file.
57778         * modules/uniconv/u32-conv-from-enc-tests: New file.
57779         * tests/uniconv/test-u32-conv-from-enc.c: New file.
57780
57781         * modules/uniconv/u16-conv-from-enc: New file.
57782         * lib/uniconv/u16-conv-from-enc.c: New file.
57783         * lib/uniconv/u-conv-from-enc.h: New file.
57784         * modules/uniconv/u16-conv-from-enc-tests: New file.
57785         * tests/uniconv/test-u16-conv-from-enc.c: New file.
57786
57787         * modules/uniconv/u8-conv-from-enc: New file.
57788         * lib/uniconv/u8-conv-from-enc.c: New file.
57789         * modules/uniconv/u8-conv-from-enc-tests: New file.
57790         * tests/uniconv/test-u8-conv-from-enc.c: New file.
57791
57792         * modules/uniconv/base: New file.
57793         * lib/uniconv.h: New file.
57794
57795 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
57796
57797         * doc/gnulib-tool.texi (Initial import): Update to match current
57798         behavior with strdup module.
57799         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
57800         * lib/memmem.h: Remove; all uses removed.  This is now done
57801         by <string.h>.
57802         * lib/mempcpy.h: Likewise.
57803         * lib/memrchr.h: Likewise.
57804         * lib/stpcpy.h: Likewise.
57805         * lib/stpncpy.h: Likewise.
57806         * lib/strcase.h: Likewise.
57807         * lib/strchrnul.h: Likewise.
57808         * lib/strdup.h: Likewise.
57809         * lib/strndup.h: Likewise.
57810         * lib/strnlen.h: Likewise.
57811         * lib/strpbrk.h: Likewise.
57812         * lib/strsep.h: Likewise.
57813         * lib/strstr.h: Likewise.
57814         * lib/strtok_r.h: Likewise.
57815         * lib/string_.h: New file.
57816         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
57817         Rely on <string.h> instead.
57818         * lib/canon-host.c: Likewise.
57819         * lib/chdir-long.c: Likewise.
57820         * lib/concatpath.c: Likewise.
57821         * lib/exclude.c: Likewise.
57822         * lib/fchdir.c: Likewise.
57823         * lib/getaddrinfo.c: Likewise.
57824         * lib/getcwd.c: Likewise.
57825         * lib/getsubopt.c: Likewise.
57826         * lib/glob.c: Likewise.
57827         * lib/hard-locale.c: Likewise.
57828         * lib/iconvme.c: Likewise.
57829         * lib/javacomp.c: Likewise.
57830         * lib/mempcpy.c: Likewise.
57831         * lib/memrchr.c: Likewise.
57832         * lib/regex_internal.h: Likewise.
57833         * lib/stpncpy.c: Likewise.
57834         * lib/strcasecmp.c: Likewise.
57835         * lib/strchrnul.c: Likewise.
57836         * lib/strdup.c: Likewise.
57837         * lib/striconv.c: Likewise.
57838         * lib/striconveh.c: Likewise.
57839         * lib/striconveha.c: Likewise.
57840         * lib/strncasecmp.c: Likewise.
57841         * lib/strndup.c: Likewise.
57842         * lib/strnlen.c: Likewise.
57843         * lib/strsep.c: Likewise.
57844         * lib/strstr.c: Likewise.
57845         * lib/strtok_r.c: Likewise.
57846         * lib/userspec.c: Likewise.
57847         * lib/w32spawn.h: Likewise.
57848         * lib/xstrndup.c: Likewise.
57849         * lib/mountlist.c (strstr): Remove decl.
57850         * m4/string_h.m4: New file.
57851         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
57852         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
57853         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
57854         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
57855         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
57856         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
57857         Set REPLACE_STRCASECMP if necessary.
57858         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
57859         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
57860         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
57861         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
57862         HAVE_DECL_STRDUP if necessary.
57863         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
57864         since gl_FUNC_STRNDUP does that now.
57865         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
57866         Check for decl here...
57867         (gl_PREREQ_STRNLEN): ... not here.
57868         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
57869         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
57870         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
57871         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
57872         necessary.
57873         * modules/string: New file.
57874         * modules/memmem (Files): Remove special-purpose include file.
57875         (Depends-on): Add string.
57876         (Include): Include <string.h>, not the removed file.
57877         * modules/mempcpy: Likewise.
57878         * modules/memrchr: Likewise.
57879         * modules/stpcpy: Likewise.
57880         * modules/stpncpy: Likewise.
57881         * modules/strcase: Likewise.
57882         * modules/strchrnul: Likewise.
57883         * modules/strdup: Likewise.
57884         * modules/strndup: Likewise.
57885         * modules/strnlen: Likewise.
57886         * modules/strpbrk: Likewise.
57887         * modules/strsep: Likewise.
57888         * modules/strstr: Likewise.
57889         * modules/strtok_r: Likewise.
57890         * tests/test-dirname.c: Don't include "strdup.h", since
57891         <string.h> now suffices.
57892         * tests/test-memmem.c: Don't include "memmem.h", since
57893         <string.h> now suffices.
57894
57895 2007-01-25  Bruno Haible  <bruno@clisp.org>
57896
57897         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
57898         *resultp is 0.
57899
57900         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
57901         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
57902         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
57903         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
57904
57905         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
57906         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
57907         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
57908         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
57909         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
57910         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
57911
57912 2007-01-24  Bruno Haible  <bruno@clisp.org>
57913
57914         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
57915         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
57916         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
57917         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
57918         gl_FUNC_FTS_CORE.
57919         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
57920         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
57921         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
57922         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
57923         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
57924         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
57925         gl_FUNC_FCHOWNAT.
57926         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
57927         gl_FUNC_STRFTIME.
57928         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
57929         Reported by Ralf Wildenhues.
57930
57931 2007-01-24  Bruno Haible  <bruno@clisp.org>
57932
57933         Drop AC_REQUIRE calls that are redundant with the module dependencies.
57934         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
57935         gl_GETADDRINFO.
57936         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
57937         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
57938         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
57939
57940 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
57941
57942         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
57943         Don't use 'exit'; just return from 'main'.
57944         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
57945
57946         * lib/fnmatch_.h: Readjust white space and comments to match
57947         glibc, to avoid spurious diffs.
57948
57949 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
57950
57951         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
57952         2004-12-01 change by Jakub Jelinek, since this code won't compile
57953         if !LIBC.  Problem reported by Bob Proulx.
57954
57955 2007-01-23  Bruno Haible  <bruno@clisp.org>
57956
57957         * lib/striconveh.c: Include c-strcaseeq.h.
57958         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
57959         * modules/striconveh (Depends-on): Add c-strcaseeq.
57960
57961 2007-01-23  Bruno Haible  <bruno@clisp.org>
57962
57963         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
57964
57965         * modules/c-strcaseeq: New file.
57966         * lib/c-strcaseeq.h: New file.
57967
57968         * modules/streq: New file.
57969         * lib/streq.h: New file.
57970
57971 2007-01-23  Bruno Haible  <bruno@clisp.org>
57972
57973         * modules/striconveha-tests: New file.
57974         * tests/test-striconveha.c: New file.
57975
57976         * lib/striconveha.h: Include <stdbool.h>.
57977         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
57978         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
57979         (mem_iconveha_notranslit): Renamed from mem_iconveha.
57980         (mem_iconveha): New function.
57981         (str_iconveha_notranslit): Renamed from str_iconveha.
57982         (str_iconveha): New function.
57983         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
57984         c-strcase.
57985
57986 2007-01-23  Bruno Haible  <bruno@clisp.org>
57987
57988         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
57989         encodings without forgiving before trying any encoding with handler.
57990         (str_iconveha): Try all encodings without forgiving before trying any
57991         encoding with handler.
57992
57993 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
57994
57995         Import the following changes from libc.
57996
57997         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
57998
57999         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
58000
58001         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
58002
58003         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
58004         normal_bracket label.
58005
58006         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
58007
58008         [BZ #361]
58009         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
58010         to normal_bracket after fetching the next character.
58011
58012 2007-01-22  Bruno Haible  <bruno@clisp.org>
58013
58014         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
58015         argument.
58016         * lib/striconveh.c (iconv_carefully_1): New function.
58017         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
58018         argument.
58019         (str_cd_iconveh): Update.
58020         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
58021         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
58022         * tests/test-striconveh.c (MAGIC): New macro.
58023         (new_offsets): New function.
58024         (main): Test call with and without offsets.
58025
58026 2007-01-22  Bruno Haible  <bruno@clisp.org>
58027
58028         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
58029         * modules/sys_select (Makefile.am): Likewise.
58030         * modules/sys_socket (Makefile.am): Likewise.
58031         * modules/sys_time (Makefile.am): Likewise.
58032
58033 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
58034
58035         * modules/gettimeofday (License): Change from GPL to LGPL, since
58036         gettimeofday is a library function.
58037
58038 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
58039
58040         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
58041
58042 2007-01-21  Bruno Haible  <bruno@clisp.org>
58043
58044         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
58045
58046 2007-01-21  Bruno Haible  <bruno@clisp.org>
58047
58048         * modules/striconveha: New file.
58049         * lib/striconveha.h: New file.
58050         * lib/striconveha.c: New file.
58051         * MODULES.html.sh (Internationalization functions): Add striconveha.
58052         * lib/striconv.c (str_iconv): Optimize the case of an empty input
58053         string.
58054         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
58055
58056 2007-01-21  Bruno Haible  <bruno@clisp.org>
58057
58058         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
58059         * lib/striconveh.c (str_iconveh): Likewise.
58060
58061 2007-01-21  Bruno Haible  <bruno@clisp.org>
58062
58063         * lib/striconveh.h (mem_iconveh): New declaration.
58064         * lib/striconveh.c (mem_iconveh): New function.
58065         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
58066
58067 2007-01-21  Bruno Haible  <bruno@clisp.org>
58068
58069         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
58070
58071         * lib/striconveh.h (mem_cd_iconveh): Change specification.
58072         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
58073         original result buffer.
58074         (str_cd_iconveh): Update.
58075         * tests/test-striconveh.c (main): Update.
58076
58077         * lib/striconv.h (mem_cd_iconv): Change specification.
58078         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
58079         result buffer.
58080         (str_cd_iconv): Update.
58081         * tests/test-striconv.c (main): Update.
58082
58083 2007-01-21  Bruno Haible  <bruno@clisp.org>
58084
58085         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
58086
58087 2007-01-20  Jim Meyering  <jim@meyering.net>
58088
58089         * lib/userspec.c (parse_with_separator): If a user or group string
58090         starts with "+", skip the corresponding name-to-ID look-up, since
58091         such a look-up must fail: user and group names may not include "+".
58092
58093 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
58094
58095         * lib/poll.c: Include sys/time.h and time.h unconditionally,
58096         since we now assume the sys_time module.
58097         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
58098         check for sys/time.h; no longer needed.
58099         * modules/poll (Depends-on): Depend on sys_time.
58100
58101 2007-01-18  Bruno Haible  <bruno@clisp.org>
58102
58103         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
58104         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
58105
58106         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
58107         gettimeofday.
58108
58109         * tests/test-gettimeofday.c: Include <time.h>.
58110         (dummy): Remove variable.
58111
58112         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
58113         gl_HEADER_SYS_TIME_H.
58114         (gl_HEADER_SYS_TIME_H): New macro.
58115
58116         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
58117         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
58118         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
58119         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
58120         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
58121         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
58122         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
58123         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
58124         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
58125         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
58126         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
58127
58128         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
58129         last change; it caused a compilation error when cross-compiling to
58130         Cygwin.
58131
58132 2007-01-18  Jim Meyering  <jim@meyering.net>
58133
58134         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
58135         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
58136         than the race-prone "test -d sys || mkdir sys".
58137         (configure.ac): Use AC_PROG_MKDIR_P.
58138         * modules/sys_select: Likewise.
58139         * modules/sys_socket: Likewise.
58140         * modules/sys_time: Likewise.
58141
58142 2007-01-18  Eric Blake  <ebb9@byu.net>
58143
58144         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
58145         replace gettimeofday.
58146         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
58147         name, to avoid infinite recursion.
58148
58149 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
58150
58151         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
58152         module sys_time.
58153         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
58154         assume timespec.h defines struct timeval.
58155         * lib/settime.c: Likewise.
58156         * lib/utimens.c: Likewise.
58157         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
58158         since we now assume the gettimeofday module.
58159         * lib/tempname.c (__gen_tempname): Likewise.
58160         * lib/gettimeofday.h: Remove.
58161         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
58162         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
58163         Include <time.h>, for 'time()'.
58164         (localtime_buffer_addr): Also use this workaround if
58165         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
58166         to simplify the uses.  All uses changed.
58167         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
58168         that #undef is inside {}, and 'const' follows type name consistently.
58169         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
58170         (gettimeofday): Do not use the maximum possible value for
58171         tv->tv_usec, since that might break usages other than ls.c.
58172         Instead, we'll leave ls.c alone.  This undoes today's patch
58173         by Bruno.  Add a compile-time warning for 1s-clock resolution;
58174         we've never observed the problem but might as well keep the
58175         canary.
58176         * lib/nanosleep.c: Include timespec.h first, for interface check.
58177         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
58178         now assume the sys_time module.
58179         * lib/tempname.c: Likewise.
58180         * lib/timespec.h: Likewise.
58181         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
58182         needed.
58183         * lib/strftime.c: Likewise.
58184         * lib/timespec.h: Likewise.
58185         * lib/posixtm.c: Include posixtm.h first, for interface check.
58186         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
58187         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
58188         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
58189         * lib/sys_time_.h: New file.
58190         * lib/timespec.h (struct timespec): Use long int, not long.
58191         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
58192         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
58193         Remove obsolescent call to AC_HEADER_TIME.
58194         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
58195         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
58196         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
58197         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
58198         Likewise.
58199         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
58200         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
58201         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
58202         into the sys_time module.  Check for gettimeofday just once.
58203         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
58204         for gettimeofday signature to just check the signature.  Merely
58205         compile it, since linking doesn't test signature.  Improve test for
58206         whether gettimeofday.o is actually needed.
58207         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
58208         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
58209         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
58210         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
58211         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
58212         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
58213         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
58214         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
58215         than worrying about sys/time.h.
58216         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
58217         Don't bother worrying about TIME_WITH_SYS_TIME.
58218         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
58219         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
58220         * m4/sys_time_h.m4: New file.
58221         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
58222         Don't include sys/time.h.  Return from main rather than exiting.
58223         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
58224         all uses changed.
58225         * modules/gethrxtime (Depends-on): Add sys_time.
58226         * modules/gettime (Depends-on): Likewise.
58227         * modules/gettimeofday (Depends-on): Likewise.
58228         * modules/nanosleep (Depends-on): Likewise.
58229         * modules/settime (Depends-on): Likewise.
58230         * modules/tempname (Depends-on): Likewise.
58231         * modules/utimens (Depends-on): Likewise.
58232         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
58233         (Include): Change back to <sys/time.h>.
58234         (Maintainer): Add self.
58235         * modules/sys_time: New file.
58236         * modules/tempname (Depends-on): Add gettimeofday.
58237         * tests/test-gettimeofday.c: Include <sys/time.h>
58238         rather than gettimeofday.h.
58239
58240 2007-01-17  Bruno Haible  <bruno@clisp.org>
58241
58242         * gnulib-tool (func_get_license): Revert last patch. Instead, let
58243         the license default to GPL.
58244         (func_create_testdir): Don't complain if a module is LGPL and its
58245         tests module depends on GPLed modules.
58246
58247 2007-01-17  Bruno Haible  <bruno@clisp.org>
58248
58249         * lib/gettimeofday.c (gettimeofday): Add code for the case
58250         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
58251         maximum possible value for tv->tv_usec, rather than the minimum one.
58252
58253 2005-10-08  Martin Lambers  <marlam@marlam.de>
58254 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
58255 2007-01-16  Bruno Haible  <bruno@clisp.org>
58256
58257         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
58258         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
58259         gl_FUNC_GETTIMEOFDAY.
58260         (Include): Add gettimeofday.h.
58261         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
58262         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
58263         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
58264         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
58265         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
58266         * lib/gettimeofday.h: New file.
58267         * lib/gettimeofday.c: Include <sys/timeb.h>.
58268         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
58269         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
58270         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
58271         fall back on time().
58272
58273         * tests/test-gettimeofday.c: New file.
58274         * modules/gettimeofday-tests: New file.
58275
58276 2007-01-16  Eric Blake  <ebb9@byu.net>
58277
58278         * modules/fnmatch (Depends-on): Depend on wchar.
58279         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
58280         * m4/fnmatch.m4: Likewise.
58281         * modules/mbchar (Makefile.am): Assume <wchar.h>.
58282         * m4/mbchar.m4: Likewise.
58283         * modules/mbswidth (Depends-on): Depend on wchar.
58284         * lib/mbswidth.c: Assume <wchar.h>.
58285         * m4/mbswidth.m4: Likewise.
58286         * modules/quotearg (Depends-on): Depend on wchar.
58287         * lib/quotearg.c: Assume <wchar.h>.
58288         * m4/quotearg.m4: Likewise.
58289         * modules/regex (Depends-on): Depend on wchar.
58290         * lib/regex_internal.h: Assume <wchar.h>.
58291         * m4/regex.m4: Likewise.
58292         * modules/stdint (Depends-on): Depend on wchar.
58293         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
58294         * m4/stdint.m4: Likewise.
58295         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
58296         * modules/strftime (Depends-on): Depend on wchar.
58297         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
58298         * modules/strtol (Depends-on): Depend on wchar.
58299         * lib/strtol.c: Assume <wchar.h>.
58300         * modules/wcwidth (Depends-on): Depend on wchar.
58301         * lib/wcwidth.h: Assume <wchar.h>.
58302         * m4/wcwidth.m4: Likewise.
58303
58304 2007-01-16  Bruno Haible  <bruno@clisp.org>
58305
58306         * modules/csharpexec-script: New, created from...
58307         * modules/csharpexec: ... this.
58308
58309 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
58310
58311         * modules/javaexec-script: New, created from...
58312         * modules/javaexec: ... this.
58313
58314 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
58315
58316         * modules/poll (Dependencies): Add sys_select.
58317
58318 2007-01-15  Jim Meyering  <jim@meyering.net>
58319
58320         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
58321         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
58322         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
58323         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
58324
58325 2007-01-15  Bruno Haible  <bruno@clisp.org>
58326
58327         * modules/striconveh: New file.
58328         * lib/striconveh.h: New file.
58329         * lib/striconveh.c: New file.
58330         * MODULES.html.sh (Internationalization functions): Add striconveh.
58331
58332         * modules/striconveh-tests: New file.
58333         * tests/test-striconveh.c: New file.
58334
58335 2007-01-15  Bruno Haible  <bruno@clisp.org>
58336
58337         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
58338         not from GNU libiconv or GNU libc.
58339
58340 2007-01-15  Bruno Haible  <bruno@clisp.org>
58341
58342         * doc/gnulib-intro.texi (Copyright): Explain the different license
58343         terms for module descriptions, autoconf macros, tests, documentation.
58344
58345 2007-01-14  Bruno Haible  <bruno@clisp.org>
58346
58347         * modules/striconv-tests: New file.
58348         * tests/test-striconv.c: New file.
58349
58350 2007-01-14  Bruno Haible  <bruno@clisp.org>
58351
58352         * modules/iconv-tests: New file.
58353         * tests/test-iconv.c: New file.
58354
58355 2007-01-14  Bruno Haible  <bruno@clisp.org>
58356
58357         * gnulib-tool (func_get_license): For test modules, use the license of
58358         the main module.
58359
58360 2007-01-14  Bruno Haible  <bruno@clisp.org>
58361
58362         * modules/iconv (Include): Clarify that <iconv.h> can only be included
58363         if iconv is found to exist.
58364
58365 2007-01-14  Bruno Haible  <bruno@clisp.org>
58366
58367         * modules/c-ctype-tests: New file.
58368         * tests/test-c-ctype.c: New file.
58369
58370 2007-01-14  Bruno Haible  <bruno@clisp.org>
58371
58372         * modules/binary-io-tests: New file.
58373         * tests/test-binary-io.sh: New file.
58374         * tests/test-binary-io.c: New file.
58375
58376 2007-01-14  Bruno Haible  <bruno@clisp.org>
58377
58378         * modules/array-oset-tests: New file.
58379         * tests/test-array_oset.c: New file.
58380
58381 2007-01-14  Bruno Haible  <bruno@clisp.org>
58382
58383         * modules/array-list-tests: New file.
58384         * tests/test-array_list.c: New file.
58385
58386 2007-01-14  Bruno Haible  <bruno@clisp.org>
58387
58388         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
58389         and make.
58390         Reported by Simon Josefsson in
58391         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
58392
58393 2007-01-14  Bruno Haible  <bruno@clisp.org>
58394
58395         * modules/allocsa-tests: New file.
58396         * tests/test-allocsa.c: New file.
58397
58398 2007-01-14  Bruno Haible  <bruno@clisp.org>
58399
58400         * modules/fchdir (Depends-on): Add absolute-header.
58401         * modules/unistd (Depends-on): Likewise.
58402
58403 2006-12-30  Bruno Haible  <bruno@clisp.org>
58404
58405         * modules/fchdir: New file.
58406         * modules/unistd (Files): Add lib/unistd_.h.
58407         (Makefile.am): Generate unistd.h from unistd_.h.
58408         * lib/fchdir.c: New file.
58409         * lib/dirent_.h: New file.
58410         * lib/unistd_.h: New file.
58411         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
58412         * m4/fchdir.m4: New file.
58413         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
58414         (gl_HEADER_UNISTD): Invoke it.
58415         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
58416         function.
58417         * lib/backupfile.c (opendir, closedir): Undefine.
58418         * lib/chown.c (open, close): Undefine.
58419         * lib/clean-temp.c (open, close): Undefine.
58420         * lib/copy-file.c (open, close): Undefine.
58421         * lib/execute.c (open, close): Undefine.
58422         * lib/fsusage.c (open, close): Undefine.
58423         * lib/gc-gnulib.c (open, close): Undefine.
58424         * lib/getcwd.c (opendir, closedir): Undefine.
58425         * lib/glob.c (opendir, closedir): Undefine.
58426         * lib/javacomp.c (open, close): Undefine.
58427         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
58428         * lib/openat-proc.c (open, close): Undefine.
58429         * lib/pagealign_alloc.c (open, close): Undefine.
58430         * lib/pipe.c (open, close): Undefine.
58431         * lib/progreloc.c (open, close): Undefine.
58432         * lib/savedir.c (opendir, closedir): Undefine.
58433         * lib/utime.c (open, close): Undefine.
58434         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
58435
58436 2007-01-10  Bruno Haible  <bruno@clisp.org>
58437
58438         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
58439
58440 2007-01-12  Eric Blake  <ebb9@byu.net>
58441
58442         Provide a robust <wchar.h>.  Further simplifications are now
58443         possible in other modules, but not included here.
58444         * modules/wchar: New module.
58445         * m4/wchar.m4: New file.
58446         * lib/wchar_.h: Likewise.
58447         * modules/mbchar (Depends-on): Depend on wchar, as the first use
58448         of the new module.
58449         * MODULES.html.sh (Extended multibyte and wide character utilities):
58450         New section.
58451
58452 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
58453
58454         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
58455         to a reasonable default for memory allocation.
58456         (xreadlink): Don't allocate a huge buffer, to work around a buggy
58457         file system that reports garbage st_size values for symlinks.
58458         Problem reported by Liyang Hu.
58459
58460 2007-01-11  Simon Josefsson  <simon@josefsson.org>
58461
58462         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
58463         Emacs .#* auto-save files).
58464
58465 2007-01-11  Bruno Haible  <bruno@clisp.org>
58466
58467         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
58468         directory.
58469
58470 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
58471
58472         Use @...@ consistently in lib/wctype_.h.
58473         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
58474         on it being set to 1 or 0.
58475         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
58476         go back to AC_SUBSTing it.
58477         * modules/wctype (Makefile.am): Undo previous change.
58478
58479 2007-01-10  Eric Blake  <ebb9@byu.net>
58480
58481         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
58482         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
58483         * modules/wctype (Makefile.am): Likewise.
58484         Reported by Chris McGuire.
58485
58486 2007-01-10  Jim Meyering  <jim@meyering.net>
58487
58488         fts.c: a small readability/maintainability improvement
58489         * lib/fts.c (fts_read): Make this code slightly more readable and
58490         maintainable by hoisting the "sp->fts_cur = p" assignments to
58491         immediately follow the statements that set P.  Derived from
58492         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
58493
58494 2007-01-10  Eric Blake  <ebb9@byu.net>
58495
58496         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
58497         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
58498         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
58499         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
58500         Reported by Chris McGuire.
58501
58502 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58503
58504         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
58505         in sed script.
58506
58507 2007-01-09  Bruno Haible  <bruno@clisp.org>
58508
58509         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
58510         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
58511         variables.
58512         (func_module): Use them.
58513
58514 2007-01-09  Bruno Haible  <bruno@clisp.org>
58515
58516         * modules/unistr/base: New file.
58517         * lib/unistr.h: New file.
58518
58519         * modules/unistr/u8-to-u16: New file.
58520         * lib/unistr/u8-to-u16.c: New file.
58521
58522         * modules/unistr/u8-to-u32: New file.
58523         * lib/unistr/u8-to-u32.c: New file.
58524
58525         * modules/unistr/u16-to-u8: New file.
58526         * lib/unistr/u16-to-u8.c: New file.
58527
58528         * modules/unistr/u16-to-u32: New file.
58529         * lib/unistr/u16-to-u32.c: New file.
58530
58531         * modules/unistr/u32-to-u8: New file.
58532         * lib/unistr/u32-to-u8.c: New file.
58533
58534         * modules/unistr/u32-to-u16: New file.
58535         * lib/unistr/u32-to-u16.c: New file.
58536
58537         * modules/unistr/u8-check: New file.
58538         * modules/unistr/u16-check: New file.
58539         * modules/unistr/u32-check: New file.
58540         * lib/unistr/u8-check.c: New file.
58541         * lib/unistr/u16-check.c: New file.
58542         * lib/unistr/u32-check.c: New file.
58543
58544         * modules/unistr/u8-chr: New file.
58545         * modules/unistr/u16-chr: New file.
58546         * modules/unistr/u32-chr: New file.
58547         * lib/unistr/u8-chr.c: New file.
58548         * lib/unistr/u16-chr.c: New file.
58549         * lib/unistr/u32-chr.c: New file.
58550
58551         * modules/unistr/u8-cmp: New file.
58552         * modules/unistr/u16-cmp: New file.
58553         * modules/unistr/u32-cmp: New file.
58554         * lib/unistr/u8-cmp.c: New file.
58555         * lib/unistr/u16-cmp.c: New file.
58556         * lib/unistr/u32-cmp.c: New file.
58557
58558         * modules/unistr/u8-cpy: New file.
58559         * modules/unistr/u16-cpy: New file.
58560         * modules/unistr/u32-cpy: New file.
58561         * lib/unistr/u8-cpy.c: New file.
58562         * lib/unistr/u16-cpy.c: New file.
58563         * lib/unistr/u32-cpy.c: New file.
58564         * lib/unistr/u-cpy.h: New file.
58565
58566         * modules/unistr/u8-cpy-alloc: New file.
58567         * modules/unistr/u16-cpy-alloc: New file.
58568         * modules/unistr/u32-cpy-alloc: New file.
58569         * lib/unistr/u8-cpy-alloc.c: New file.
58570         * lib/unistr/u16-cpy-alloc.c: New file.
58571         * lib/unistr/u32-cpy-alloc.c: New file.
58572         * lib/unistr/u-cpy-alloc.h: New file.
58573
58574         * modules/unistr/u8-endswith: New file.
58575         * modules/unistr/u16-endswith: New file.
58576         * modules/unistr/u32-endswith: New file.
58577         * lib/unistr/u8-endswith.c: New file.
58578         * lib/unistr/u16-endswith.c: New file.
58579         * lib/unistr/u32-endswith.c: New file.
58580         * lib/unistr/u-endswith.h: New file.
58581
58582         * modules/unistr/u8-mblen: New file.
58583         * modules/unistr/u16-mblen: New file.
58584         * modules/unistr/u32-mblen: New file.
58585         * lib/unistr/u8-mblen.c: New file.
58586         * lib/unistr/u16-mblen.c: New file.
58587         * lib/unistr/u32-mblen.c: New file.
58588
58589         * modules/unistr/u8-mbtouc: New file.
58590         * modules/unistr/u16-mbtouc: New file.
58591         * modules/unistr/u32-mbtouc: New file.
58592         * lib/unistr/u8-mbtouc.c: New file.
58593         * lib/unistr/u16-mbtouc.c: New file.
58594         * lib/unistr/u32-mbtouc.c: New file.
58595
58596         * modules/unistr/u8-mbtouc-safe: New file.
58597         * modules/unistr/u16-mbtouc-safe: New file.
58598         * modules/unistr/u32-mbtouc-safe: New file.
58599         * lib/unistr/u8-mbtouc-safe.c: New file.
58600         * lib/unistr/u16-mbtouc-safe.c: New file.
58601         * lib/unistr/u32-mbtouc-safe.c: New file.
58602
58603         * modules/unistr/u8-move: New file.
58604         * modules/unistr/u16-move: New file.
58605         * modules/unistr/u32-move: New file.
58606         * lib/unistr/u8-move.c: New file.
58607         * lib/unistr/u16-move.c: New file.
58608         * lib/unistr/u32-move.c: New file.
58609         * lib/unistr/u-move.h: New file.
58610
58611         * modules/unistr/u8-next: New file.
58612         * modules/unistr/u16-next: New file.
58613         * modules/unistr/u32-next: New file.
58614         * lib/unistr/u8-next.c: New file.
58615         * lib/unistr/u16-next.c: New file.
58616         * lib/unistr/u32-next.c: New file.
58617
58618         * modules/unistr/u8-prev: New file.
58619         * modules/unistr/u16-prev: New file.
58620         * modules/unistr/u32-prev: New file.
58621         * lib/unistr/u8-prev.c: New file.
58622         * lib/unistr/u16-prev.c: New file.
58623         * lib/unistr/u32-prev.c: New file.
58624
58625         * modules/unistr/u8-set: New file.
58626         * modules/unistr/u16-set: New file.
58627         * modules/unistr/u32-set: New file.
58628         * lib/unistr/u8-set.c: New file.
58629         * lib/unistr/u16-set.c: New file.
58630         * lib/unistr/u32-set.c: New file.
58631         * lib/unistr/u-set.h: New file.
58632
58633         * modules/unistr/u8-startswith: New file.
58634         * modules/unistr/u16-startswith: New file.
58635         * modules/unistr/u32-startswith: New file.
58636         * lib/unistr/u8-startswith.c: New file.
58637         * lib/unistr/u16-startswith.c: New file.
58638         * lib/unistr/u32-startswith.c: New file.
58639         * lib/unistr/u-startswith.h: New file.
58640
58641         * modules/unistr/u8-stpcpy: New file.
58642         * modules/unistr/u16-stpcpy: New file.
58643         * modules/unistr/u32-stpcpy: New file.
58644         * lib/unistr/u8-stpcpy.c: New file.
58645         * lib/unistr/u16-stpcpy.c: New file.
58646         * lib/unistr/u32-stpcpy.c: New file.
58647         * lib/unistr/u-stpcpy.h: New file.
58648
58649         * modules/unistr/u8-stpncpy: New file.
58650         * modules/unistr/u16-stpncpy: New file.
58651         * modules/unistr/u32-stpncpy: New file.
58652         * lib/unistr/u8-stpncpy.c: New file.
58653         * lib/unistr/u16-stpncpy.c: New file.
58654         * lib/unistr/u32-stpncpy.c: New file.
58655         * lib/unistr/u-stpncpy.h: New file.
58656
58657         * modules/unistr/u8-strcat: New file.
58658         * modules/unistr/u16-strcat: New file.
58659         * modules/unistr/u32-strcat: New file.
58660         * lib/unistr/u8-strcat.c: New file.
58661         * lib/unistr/u16-strcat.c: New file.
58662         * lib/unistr/u32-strcat.c: New file.
58663         * lib/unistr/u-strcat.h: New file.
58664
58665         * modules/unistr/u8-strchr: New file.
58666         * modules/unistr/u16-strchr: New file.
58667         * modules/unistr/u32-strchr: New file.
58668         * lib/unistr/u8-strchr.c: New file.
58669         * lib/unistr/u16-strchr.c: New file.
58670         * lib/unistr/u32-strchr.c: New file.
58671
58672         * modules/unistr/u8-strcmp: New file.
58673         * modules/unistr/u16-strcmp: New file.
58674         * modules/unistr/u32-strcmp: New file.
58675         * lib/unistr/u8-strcmp.c: New file.
58676         * lib/unistr/u16-strcmp.c: New file.
58677         * lib/unistr/u32-strcmp.c: New file.
58678
58679         * modules/unistr/u8-strcpy: New file.
58680         * modules/unistr/u16-strcpy: New file.
58681         * modules/unistr/u32-strcpy: New file.
58682         * lib/unistr/u8-strcpy.c: New file.
58683         * lib/unistr/u16-strcpy.c: New file.
58684         * lib/unistr/u32-strcpy.c: New file.
58685         * lib/unistr/u-strcpy.h: New file.
58686
58687         * modules/unistr/u8-strcspn: New file.
58688         * modules/unistr/u16-strcspn: New file.
58689         * modules/unistr/u32-strcspn: New file.
58690         * lib/unistr/u8-strcspn.c: New file.
58691         * lib/unistr/u16-strcspn.c: New file.
58692         * lib/unistr/u32-strcspn.c: New file.
58693         * lib/unistr/u-strcspn.h: New file.
58694
58695         * modules/unistr/u8-strdup: New file.
58696         * modules/unistr/u16-strdup: New file.
58697         * modules/unistr/u32-strdup: New file.
58698         * lib/unistr/u8-strdup.c: New file.
58699         * lib/unistr/u16-strdup.c: New file.
58700         * lib/unistr/u32-strdup.c: New file.
58701         * lib/unistr/u-strdup.h: New file.
58702
58703         * modules/unistr/u8-strlen: New file.
58704         * modules/unistr/u16-strlen: New file.
58705         * modules/unistr/u32-strlen: New file.
58706         * lib/unistr/u8-strlen.c: New file.
58707         * lib/unistr/u16-strlen.c: New file.
58708         * lib/unistr/u32-strlen.c: New file.
58709         * lib/unistr/u-strlen.h: New file.
58710
58711         * modules/unistr/u8-strmblen: New file.
58712         * modules/unistr/u16-strmblen: New file.
58713         * modules/unistr/u32-strmblen: New file.
58714         * lib/unistr/u8-strmblen.c: New file.
58715         * lib/unistr/u16-strmblen.c: New file.
58716         * lib/unistr/u32-strmblen.c: New file.
58717
58718         * modules/unistr/u8-strmbtouc: New file.
58719         * modules/unistr/u16-strmbtouc: New file.
58720         * modules/unistr/u32-strmbtouc: New file.
58721         * lib/unistr/u8-strmbtouc.c: New file.
58722         * lib/unistr/u16-strmbtouc.c: New file.
58723         * lib/unistr/u32-strmbtouc.c: New file.
58724
58725         * modules/unistr/u8-strncat: New file.
58726         * modules/unistr/u16-strncat: New file.
58727         * modules/unistr/u32-strncat: New file.
58728         * lib/unistr/u8-strncat.c: New file.
58729         * lib/unistr/u16-strncat.c: New file.
58730         * lib/unistr/u32-strncat.c: New file.
58731         * lib/unistr/u-strncat.h: New file.
58732
58733         * modules/unistr/u8-strncmp: New file.
58734         * modules/unistr/u16-strncmp: New file.
58735         * modules/unistr/u32-strncmp: New file.
58736         * lib/unistr/u8-strncmp.c: New file.
58737         * lib/unistr/u16-strncmp.c: New file.
58738         * lib/unistr/u32-strncmp.c: New file.
58739
58740         * modules/unistr/u8-strncpy: New file.
58741         * modules/unistr/u16-strncpy: New file.
58742         * modules/unistr/u32-strncpy: New file.
58743         * lib/unistr/u8-strncpy.c: New file.
58744         * lib/unistr/u16-strncpy.c: New file.
58745         * lib/unistr/u32-strncpy.c: New file.
58746         * lib/unistr/u-strncpy.h: New file.
58747
58748         * modules/unistr/u8-strnlen: New file.
58749         * modules/unistr/u16-strnlen: New file.
58750         * modules/unistr/u32-strnlen: New file.
58751         * lib/unistr/u8-strnlen.c: New file.
58752         * lib/unistr/u16-strnlen.c: New file.
58753         * lib/unistr/u32-strnlen.c: New file.
58754         * lib/unistr/u-strnlen.h: New file.
58755
58756         * modules/unistr/u8-strpbrk: New file.
58757         * modules/unistr/u16-strpbrk: New file.
58758         * modules/unistr/u32-strpbrk: New file.
58759         * lib/unistr/u8-strpbrk.c: New file.
58760         * lib/unistr/u16-strpbrk.c: New file.
58761         * lib/unistr/u32-strpbrk.c: New file.
58762         * lib/unistr/u-strpbrk.h: New file.
58763
58764         * modules/unistr/u8-strrchr: New file.
58765         * modules/unistr/u16-strrchr: New file.
58766         * modules/unistr/u32-strrchr: New file.
58767         * lib/unistr/u8-strrchr.c: New file.
58768         * lib/unistr/u16-strrchr.c: New file.
58769         * lib/unistr/u32-strrchr.c: New file.
58770
58771         * modules/unistr/u8-strspn: New file.
58772         * modules/unistr/u16-strspn: New file.
58773         * modules/unistr/u32-strspn: New file.
58774         * lib/unistr/u8-strspn.c: New file.
58775         * lib/unistr/u16-strspn.c: New file.
58776         * lib/unistr/u32-strspn.c: New file.
58777         * lib/unistr/u-strspn.h: New file.
58778
58779         * modules/unistr/u8-strstr: New file.
58780         * modules/unistr/u16-strstr: New file.
58781         * modules/unistr/u32-strstr: New file.
58782         * lib/unistr/u8-strstr.c: New file.
58783         * lib/unistr/u16-strstr.c: New file.
58784         * lib/unistr/u32-strstr.c: New file.
58785         * lib/unistr/u-strstr.h: New file.
58786
58787         * modules/unistr/u8-strtok: New file.
58788         * modules/unistr/u16-strtok: New file.
58789         * modules/unistr/u32-strtok: New file.
58790         * lib/unistr/u8-strtok.c: New file.
58791         * lib/unistr/u16-strtok.c: New file.
58792         * lib/unistr/u32-strtok.c: New file.
58793         * lib/unistr/u-strtok.h: New file.
58794
58795         * modules/unistr/u8-uctomb: New file.
58796         * modules/unistr/u16-uctomb: New file.
58797         * modules/unistr/u32-uctomb: New file.
58798         * lib/unistr/u8-uctomb.c: New file.
58799         * lib/unistr/u16-uctomb.c: New file.
58800         * lib/unistr/u32-uctomb.c: New file.
58801
58802         * MODULES.html.sh (Unicode string functions): Add the new modules.
58803
58804 2007-01-08  Bruno Haible  <bruno@clisp.org>
58805
58806         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
58807         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
58808         subdirectories.
58809
58810 2007-01-08  Karl Berry  <karl@gnu.org>
58811
58812         * doc/error.texi: mention that main() fns must set program_name
58813         when progname is used.
58814
58815 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
58816
58817         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
58818         WCTYPE_H is empty, for the benefit of builds from non-distclean
58819         directories.  Problem reported by Eric Blake in
58820         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
58821
58822 2007-01-08  Bruno Haible  <bruno@clisp.org>
58823
58824         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
58825         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
58826         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
58827         PROVIDE_CANONICALIZE_FILENAME_MODE.
58828         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
58829
58830 2007-01-08  Bruno Haible  <bruno@clisp.org>
58831
58832         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
58833         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
58834         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
58835         * lib/fts.c: Likewise.
58836         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
58837
58838 2006-12-25  Bruno Haible  <bruno@clisp.org>
58839
58840         * modules/utf8-ucs4-safe: New file.
58841         * lib/utf8-ucs4-safe.h: New file.
58842         * lib/unistr/utf8-ucs4-safe.c: New file.
58843
58844         * modules/utf16-ucs4-safe: New file.
58845         * lib/utf16-ucs4-safe.h: New file.
58846         * lib/unistr/utf16-ucs4-safe.c: New file.
58847
58848         * MODULES.html.sh (Unicode string functions): Add the new modules.
58849
58850 2007-01-08  Bruno Haible  <bruno@clisp.org>
58851
58852         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
58853         (Depends-on): Add unitypes.
58854         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
58855         (u8_mbtouc_aux): Move out to separate file.
58856         (u8_mbtouc): Use ucs4_t, uint8_t types.
58857         * lib/unistr/utf8-ucs4.c: New file.
58858
58859         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
58860         (Depends-on): Add unitypes.
58861         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
58862         (u16_mbtouc_aux): Move out to separate file.
58863         (u16_mbtouc): Use ucs4_t, uint16_t types.
58864         * lib/unistr/utf16-ucs4.c: New file.
58865
58866         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
58867         (Depends-on): Add unitypes.
58868         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
58869         (u8_uctomb_aux): Move out to separate file.
58870         (u8_uctomb): Use ucs4_t, uint8_t types.
58871         * lib/unistr/ucs4-utf8.c: New file.
58872
58873         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
58874         (Depends-on): Add unitypes.
58875         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
58876         (u16_uctomb_aux): Move out to separate file.
58877         (u16_uctomb): Use ucs4_t, uint16_t types.
58878         * lib/unistr/ucs4-utf16.c: New file.
58879
58880 2006-12-25  Bruno Haible  <bruno@clisp.org>
58881
58882         * modules/unitypes: New file.
58883         * lib/unitypes.h: New file.
58884         * MODULES.html.sh (func_all_modules): New section "Unicode string
58885         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
58886         this section. Add unitypes.
58887
58888 2007-01-08  Bruno Haible  <bruno@clisp.org>
58889
58890         Avoid variable names that conflict with those from libtool.
58891         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
58892         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
58893         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
58894         library_names_spec to acl_library_names_spec, hardcode_* to
58895         acl_hardcode_*.
58896         Reported by Ralf Wildenhues.
58897
58898 2007-01-08  Bruno Haible  <bruno@clisp.org>
58899
58900         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
58901         definition.
58902         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
58903         definition.
58904         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
58905         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
58906         definition.
58907         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
58908         definition.
58909         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
58910         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
58911         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
58912         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
58913         definition.
58914         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
58915         definition.
58916         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
58917         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
58918         GC_USE_<algorithm>.
58919         * lib/gc-libgcrypt.c: Likewise.
58920         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
58921         * modules/gc-arctwo (configure.ac): Likewise.
58922         * modules/gc-des (configure.ac): Likewise.
58923         * modules/gc-hmac-md5 (configure.ac): Likewise.
58924         * modules/gc-hmac-sha1 (configure.ac): Likewise.
58925         * modules/gc-md2 (configure.ac): Likewise.
58926         * modules/gc-md4 (configure.ac): Likewise.
58927         * modules/gc-md5 (configure.ac): Likewise.
58928         * modules/gc-random (configure.ac): Likewise.
58929         * modules/gc-rijndael (configure.ac): Likewise.
58930         * modules/gc-sha1 (configure.ac): Likewise.
58931
58932 2007-01-08  Bruno Haible  <bruno@clisp.org>
58933
58934         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
58935         macro definition.
58936         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
58937         definition.
58938         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
58939         definition.
58940         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
58941         * modules/fcntl-safer (configure.ac): Likewise.
58942         * modules/fopen-safer (configure.ac): Likewise.
58943         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
58944         GNULIB_FWRITEERROR macro definition.
58945
58946 2007-01-08  Bruno Haible  <bruno@clisp.org>
58947
58948         * m4/gnulib-common.m4: New file.
58949         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
58950         (func_get_filelist): Add m4/gnulib-common.m4.
58951
58952 2007-01-08  Bruno Haible  <bruno@clisp.org>
58953
58954         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
58955         command.
58956
58957 2007-01-08  Jim Meyering  <jim@meyering.net>
58958
58959         Use a more robust test for a "can't happen" condition.
58960         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
58961         narrowed the st_size value.  Presuming the "can't happen" condition
58962         is true, that narrowing could conceivably convert an invalid st_size
58963         value into a valid one.  Instead, use a change based on Matthew
58964         Woehlke's original patch.
58965
58966         Slight readability improvement: use an assert-like macro
58967         in place of literal "abort ()" uses.
58968         * lib/fts.c (fts_assert): Define.
58969         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
58970         Use this macro instead of a bare 'abort'.
58971
58972 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
58973
58974         Don't worry about using IRIX 5.3's wctype.h broken definitions;
58975         simply work around them.
58976         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
58977         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
58978         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
58979         declaring.
58980         Don't bother to define as macros, since the standard doesn't require it.
58981         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
58982         longer worry about IRIX 5.3.
58983         (HAVE_WCTYPE_CTMP_BUG): Remove.
58984
58985 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
58986
58987         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
58988         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
58989         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
58990         Problems reported by Georg Schwarz for IRIX 5.3.
58991
58992         * gnulib-tool (autoconf_minversion): Take the maximum version number
58993         found, not the minimum.  Problem reported by James Youngman.
58994
58995 2007-01-03  Karl Berry  <karl@gnu.org>
58996
58997         * doc/error.texi: new file, explaining interaction with progname.
58998         * doc/gnulib.texi: include it.  Update copyright.
58999
59000 2007-01-03  Simon Josefsson  <simon@josefsson.org>
59001
59002         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
59003         AC_CANONICAL_HOST, to improve autobuild outputs.
59004
59005 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
59006             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
59007
59008         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
59009         sockets, server sockets, and other file descriptors.  Count errors
59010         to compute the return value.  Reorder the code a bit to be easier
59011         to follow.  Don't set event bits that were not requested (except
59012         POLLERR and POLLHUP).
59013
59014 2007-01-01  Bruno Haible  <bruno@clisp.org>
59015
59016         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
59017
59018 2007-01-03  Jim Meyering  <jim@meyering.net>
59019
59020         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
59021
59022 2007-01-02  Bruno Haible  <bruno@clisp.org>
59023
59024         * modules/settime (Include): Require timespec.h.
59025         * modules/nanosleep (Include): Likewise.
59026
59027 2007-01-01  Bruno Haible  <bruno@clisp.org>
59028
59029         * gnulib-tool (func_emit_copyright_notice): Bump year.
59030         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
59031
59032 2007-01-01  Bruno Haible  <bruno@clisp.org>
59033
59034         Improve support for OpenBSD.
59035         * build-aux/config.rpath (libname_spec): Export.
59036         (library_names_spec): New variable. Export.
59037         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
59038         library_names_spec from the config.rpath output. Locate shared library
59039         through the name pattern in library_names_spec.
59040
59041 2007-01-01  Eric Blake  <ebb9@byu.net>
59042
59043         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
59044
59045 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
59046
59047         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
59048         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
59049         assume the C locale, and avoid an "eval" that could cause trouble.
59050         Problem with SORT reported by Bob Proulx.
59051
59052         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
59053         Define.  Trivial patch from Henning Nielsen Lund, originally
59054         sent to bug-grep@gnu.org today.
59055
59056 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
59057
59058         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
59059         struct stat.  Problem reported by Henning Nielsen Lund.
59060         * lib/acl.c: Include acl.h first, to check interface.  Don't
59061         bother to include sys/types.h and sys/stat.h again.
59062
59063 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
59064
59065         Import the following change from libc; problem reported by
59066         Sven Verdoolaege.
59067
59068         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
59069
59070         [BZ #1373]
59071         * lib/argp.h: Remove __NTH for __argp_usage inline function.
59072
59073 2006-12-28  Jim Meyering  <jim@meyering.net>
59074
59075         * build-aux/announce-gen: Do not assume that the package
59076         builds any of tar.gz, tar.bz2, and .xdelta files.
59077         Suggestion from Simon Josefsson.
59078
59079 2006-12-28  Simon Josefsson  <simon@josefsson.org>
59080
59081         * modules/announce-gen: New file.
59082
59083 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
59084
59085         * lib/mbchar.h: Just include <wctype.h>; the wctype module
59086         handles its gotchas now.
59087         * lib/mbswidth.c: Likewise.
59088         * lib/wcwidth.h: Likewise.
59089         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
59090         and iswcntrl; the wctype module does this stuff now.
59091         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
59092         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
59093         * modules/mbchar (Depends-on): Add wctype.
59094         * modules/mbswidth (Depends-on): Likewise.
59095         * modules/wcwidth (Depends-on): Likewise.
59096
59097 2006-12-27  Eric Blake  <ebb9@byu.net>
59098
59099         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
59100         module uses more than what <wctype.h> is required to provide.
59101
59102 2006-12-26  Eric Blake  <ebb9@byu.net>
59103
59104         * gnulib-tool (sed_extract_prog): Avoid space-tab.
59105
59106 2006-12-26  Eric Blake  <ebb9@byu.net>
59107
59108         * modules/absolute-header: New module.
59109         * modules/fcntl (Depends-on): Depend on it.
59110         * modules/inttypes (Depends-on): Likewise.
59111         * modules/stdint (Depends-on): Likewise.
59112         * modules/sys_stat (Depends-on): Likewise.
59113         * modules/wctype (Depends-on): Likewise.
59114         * MODULES.html.sh (Support for building libraries and
59115         executables): Document it.
59116
59117 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
59118
59119         * gnulib-tool (SED): Remove, undoing previous change.
59120         The problem was that it broke coreutils on Solaris, because
59121         "sed --posix" leaked into a makefile.
59122         (sed): New alias, if 'alias' and GNU sed.
59123
59124 2006-12-24  Jim Meyering  <jim@meyering.net>
59125
59126         Work around an fchownat bug in glibc-2.4:
59127         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
59128         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
59129         in spite of the -P option.
59130         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
59131         New macros.
59132         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
59133         * modules/openat (Files): Add lib/fchownat.c.
59134         * lib/openat.c (fchownat): Don't define here.  Move to...
59135         * lib/fchownat.c: ...this new file.
59136
59137 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
59138
59139         Fix bug reported by Bruno Haible in
59140         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
59141         where quotearg.c didn't compile on Mac OS X 10.2 because it
59142         lacks <wchar.h> and wint_t.
59143         * lib/wctype_.h (__wctype_wint_t): New type.
59144         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
59145         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
59146         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
59147         Arg is now of type __wctype_wint_t, not wint_t.
59148         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
59149         substitute HAVE_WINT_T.
59150         * modules/wctype (Files): Add m4/wint_t.m4.
59151         (wctype.h): Substitute HAVE_WINT_T.
59152
59153 2006-12-23  Bruno Haible  <bruno@clisp.org>
59154
59155         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
59156
59157 2006-12-23  Bruno Haible  <bruno@clisp.org>
59158
59159         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
59160         S_ISLNK.
59161         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
59162         mingw.
59163
59164 2006-12-22  Bruno Haible  <bruno@clisp.org>
59165
59166         * lib/copy-file.c: Include acl.h.
59167         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
59168         Close the file descriptors only after being done with copy_acl.
59169         * modules/copy-file (Depends-on): Add acl.
59170
59171 2006-12-22  Bruno Haible  <bruno@clisp.org>
59172
59173         * gnulib-tool (SED): New variable.
59174         Use $SED instead of sed everywhere.
59175
59176 2006-12-22  Bruno Haible  <bruno@clisp.org>
59177
59178         * modules/no-c++: New file.
59179         * m4/no-c++.m4: New file.
59180         * MODULES.html.sh (Support for building libraries and executables):
59181         Add no-c++.
59182
59183 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
59184
59185         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
59186         Include <limits.h>, and use its INT_MAX to rewrite the
59187         j loop so that it does not overflow 'int'.  Problem reported by
59188         Ralf Wildenhues in
59189         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
59190         Play it safe by shifting left by 1 rather than multiplying by 2,
59191         as GCC is less likely to optimize this away when the value
59192         is signed (when it assumes overflow leads to undefined behavior).
59193         Also, don't assume time_t uses two's complement.
59194
59195 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
59196
59197         * MODULES.html.sh: New module wctype.
59198         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
59199         * lib/fnmatch.c: Don't bother to include <wchar.h> before
59200         <wctype.h>, since the new wctype module should fix this.
59201         * lib/quotearg.c: Include <wctype.h> unconditionally, since
59202         the wctype module should arrange for it.
59203         * lib/regex_internal.h: Likewise.
59204         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
59205         since the wctype module should handle this now.
59206         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
59207         * modules/fnmatch (Depends-on): Add wctype.
59208         * modules/quotearg (Depends-on): Likewise.
59209         * modules/regex (Depends-on): Likewise.
59210
59211 2006-12-19  Bruno Haible  <bruno@clisp.org>
59212
59213         * lib/strdup.h [C++]: Wrap definitions in extern "C".
59214         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
59215
59216 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59217
59218         * modules/savewd (Depends-on): Fix dependency on fcntl.
59219
59220 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
59221
59222         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
59223         conforms to C99, rather than relying on the user's environment
59224         setting of STDINT_H.
59225
59226 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
59227         and Eric Blake  <ebb9@byu.net>
59228
59229         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
59230         This is more consistent with the other defines here.
59231         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
59232         Port to z/OS.  Problem reported by Paul Gilmartin.
59233         Change local vars to use gl_ prefix rather than ac_.
59234         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
59235         with other defines.
59236         * modules/double-slash-root: New module.
59237         * modules/dirname (Files): Remove m4/double-slash-root.m4.
59238         (Depends-on): Add double-slash-root.
59239         * MODULES.html.sh (File system functions): Mention new module.
59240
59241 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
59242
59243         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
59244         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
59245         This is for the benefit of gzip, which doesn't do i18n.
59246
59247 2006-12-12  Jim Meyering  <jim@meyering.net>
59248
59249         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
59250         Reported by Andreas Schwab <schwab@suse.de>.
59251
59252 2006-12-12  Bruno Haible  <bruno@clisp.org>
59253
59254         Merge these changes.
59255         2006-09-05  Bruno Haible  <bruno@clisp.org>
59256         * lib/iconvme.c (iconv_string): No need to save and restore errno when
59257         iconv_alloc succeeded.
59258         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
59259         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
59260         test for " && dest " at the end - dest is always != NULL there. Call
59261         iconv with 4xNULL arguments initially, to reset the state. Call iconv
59262         with 2xNULL arguments, also to flush the state storage. Handle the
59263         IRIX iconv behaviour. Realloc the final result, to throw away unused
59264         memory.
59265
59266 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
59267
59268         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
59269         and fchmodat unconditionally, since glibc 2.4 has them.
59270         Problem reported by Arkadiusz Miskiewicz.
59271
59272 2006-12-10  Bruno Haible  <bruno@clisp.org>
59273
59274         * gnulib-tool (func_import): Show the include files only for those
59275         modules that are copied and specified.
59276         Reported by Karl Berry.
59277
59278 2006-12-08  Jim Meyering  <jim@meyering.net>
59279
59280         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
59281         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
59282
59283         * build-aux/announce-gen: Add two new options, both optional:
59284         --bootstrap-tools=TOOL_LIST
59285               a comma-separated list of tools, e.g.,
59286               autoconf,automake,bison,gnulib
59287         --gnulib-snapshot-date=DATE
59288               if gnulib is in the bootstrap tool list,
59289               then report this as the snapshot date.
59290               If not specified, use the current date/time.
59291               If you specify a date here, be sure it's UTC.
59292
59293 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59294
59295         * tests/test-argp-2.sh: Fix test to match actual output.
59296         (func_compare): Fix sed script to be portable.
59297
59298 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
59299
59300         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
59301         workaround for this case.  It is not autoconfigured now; offhand
59302         it's hard to see how to autoconfigure it.
59303
59304 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
59305
59306         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
59307         a directory that is about to be chowned.  Such a directory's
59308         initial file permissions should permit the owner only and this
59309         should not be changed until after the chown, since the group and
59310         other bits would be incorrect if they granted permission before
59311         the chown.
59312
59313         Fix porting problem for iswctype reported by Georg Schwarz in:
59314         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
59315         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
59316         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
59317         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
59318         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
59319
59320 2006-12-03  Jim Meyering  <jim@meyering.net>
59321
59322         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
59323         p->fts_statp may not yet be defined.
59324         (fts_read): Instead, set it in the caller, once p->fts_statp is
59325         sure to be defined, and corresponds to a top-level directory.
59326         This bug made du -x fail.  Here's the coreutils test case:
59327         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
59328         Reported by Mike Frysinger.
59329
59330 2006-12-01  Jim Meyering  <jim@meyering.net>
59331
59332         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
59333         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
59334         Reported by Simon Josefsson.
59335
59336 2006-11-30  Jim Meyering  <jim@meyering.net>
59337
59338         * m4/warning.m4: Use the all-permissive copyright notice
59339         recommended by RMS (rather than LGPL).
59340         * m4/vararrays.m4: Likewise.
59341         * m4/flexmember.m4: Likewise.
59342
59343 2006-11-29  Bruno Haible  <bruno@clisp.org>
59344
59345         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
59346         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
59347         using +=.
59348         Reported by Simon Josefsson <simon@josefsson.org>.
59349
59350 2006-11-28  James Youngman <jay@gnu.org>
59351
59352         * README: Advise users that they might find the bug-gnulib@gnu.org
59353         and autotools-announce@gnu.org mailing lists useful.
59354
59355 2006-11-28  Bruno Haible  <bruno@clisp.org>
59356
59357         * m4/ptrdiff_max.m4: Remove file.
59358
59359 2006-11-21  Bruno Haible  <bruno@clisp.org>
59360
59361         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
59362         _AC_COMPUTE_INT.
59363         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
59364         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
59365         _AC_COMPUTE_INT.
59366         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
59367         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
59368         _AC_COMPUTE_INT.
59369         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
59370
59371 2006-11-28  Jim Meyering  <jim@meyering.net>
59372
59373         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
59374         warning from "gcc -Wshadow" about shadowing the builtin.
59375
59376 2006-11-27  Bruno Haible  <bruno@clisp.org>
59377
59378         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
59379         _AC_COMPUTE_INT.
59380         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
59381
59382 2006-11-27  Bruno Haible  <bruno@clisp.org>
59383             Paul Eggert  <eggert@cs.ucla.edu>
59384
59385         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
59386
59387 2006-11-26  Bruno Haible  <bruno@clisp.org>
59388
59389         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
59390         noinst_LTLIBRARIES.
59391
59392 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
59393             Bruno Haible  <bruno@clisp.org>
59394
59395         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
59396         if compiling with "gcc -ansi".
59397
59398 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
59399
59400         Fix some incompatibilities with gcc -ansi -pedantic.
59401         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
59402         if compiling pedantically with GCC, unless it's C99 or later.
59403         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
59404         it mishandles gcc -ansi -pedantic as well.
59405         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
59406         if gcc -pedantic.
59407         * lib/regexec.c (check_node_accept_bytes): Don't use auto
59408         initializers for struct if -pedantic, unless it's C99 or later.
59409
59410 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
59411
59412         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
59413         Don't close an fd more than once. Identical atimes indicate
59414         success, not failure.
59415
59416 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
59417
59418         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
59419
59420 2006-11-23  Jim Meyering  <jim@meyering.net>
59421
59422         * build-aux/announce-gen: New file.  From coreutils.
59423
59424 2006-11-22  Jim Meyering  <jim@meyering.net>
59425
59426         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
59427         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
59428         (fts_read): Use a temporary to narrow the overused st_size member
59429         before using it in a switch statement.  Reported by Matthew Woehlke.
59430
59431         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
59432         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
59433
59434 2006-11-20  Bruno Haible  <bruno@clisp.org>
59435
59436         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
59437         changequote instead of pairs of brackets.
59438         Reported by Andreas Schwab <schwab@suse.de>.
59439
59440 2006-11-21  Jim Meyering  <jim@meyering.net>
59441
59442         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
59443         so as to remain compatible with older compilers.
59444         Patch from Michael Deutschmann.
59445
59446 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
59447
59448         * MODULES.html.sh (File system functions): Add openat.
59449
59450         * lib/openat.h (rpl_fstatat): New macro, if
59451         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
59452         (fstatat): Define to rpl_fstatat under the same conditions,
59453         unless COMPILING_FSTATAT.
59454         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
59455         seems to have the bug.
59456         * lib/fstatat.c: New file.
59457         * modules/openat (Files): Add it.
59458
59459 2006-11-20  Bruno Haible  <bruno@clisp.org>
59460
59461         * Makefile: New file.
59462
59463 2006-11-20  Jim Meyering  <jim@meyering.net>
59464
59465         The beginnings of syntax-related checks for gnulib.
59466         * lib/Makefile: New file.
59467         * lib/t-idcache: New script.  Ensure that the two halves of
59468         idcache.c stay in sync.
59469
59470         * lib/idcache.c: Adjust comments in user- and group- portions to
59471         be more accurate, and to be consistent with one another.
59472
59473 2006-11-20  Jim Meyering  <jim@meyering.net>
59474
59475         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
59476         continue using the flexible array member (thus, this module performs
59477         half as many malloc calls), with the addition that...
59478         (getgroup, getuser): Consistently record a non-match via an empty
59479         "name" string, and map an empty string match to a NULL return value.
59480         * modules/idcache (Depends-on): Re-add flexmember.
59481
59482         * lib/idcache.c (getuser): Remove all uses of the register keyword.
59483         (getuidbyname, getgroup, getgidbyname): Likewise.
59484
59485         Use cleaner syntax: NULL rather than 0.
59486         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
59487
59488 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
59489
59490         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
59491         It mishandled the case where the group was missing.
59492         Problem reported by Greg Schafer.
59493         * modules/idcache: Likewise.
59494
59495 2006-11-18  Jim Meyering  <jim@meyering.net>
59496
59497         * check-module (%exempt_header): Add exception for some
59498         conditionally-included headers.
59499
59500         * modules/i-ring (Depends-on): Add verify.
59501         (License): Change to LGPL.
59502
59503 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
59504
59505         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
59506         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
59507         and inttostr.h.  Use snprintf rather than uinttostr, so that
59508         LGPLed code doesn't depend on GPLed.
59509
59510 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
59511
59512         * modules/inline (License): Change from GPL to LGPL.
59513
59514 2006-11-17  Jim Meyering  <jim@meyering.net>
59515
59516         * modules/d-type (License): Switch to LGPL.
59517
59518 2006-11-15  Bruno Haible  <bruno@clisp.org>
59519
59520         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
59521
59522 2006-11-15  Eric Blake  <ebb9@byu.net>
59523
59524         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
59525         the module dependency.
59526
59527 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
59528             Bruno Haible  <bruno@clisp.org>
59529
59530         * gnulib-tool (func_create_testdir): Add license consistency check.
59531
59532 2006-11-15  Eric Blake  <ebb9@byu.net>
59533
59534         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
59535         random "(cached)" in configure output.
59536
59537 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59538
59539         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
59540         test for conforming inttypes.h is both announced and cached.
59541
59542         * MODULES.html.sh (seen_modules, seen_files): New variables.
59543         (func_module): Rewrite to use a few less gnulib-tool and sed
59544         invocations.  Avoid a couple of quadratic algorithms for ...
59545         (missed_modules, missed_files): ... these, with ...
59546         (func_append, func_tmpdir): ... these new functions, from
59547         gnulib-tool.  Analogously, install traps for cleanup.
59548
59549         * tests/test-gc.c (main): Remove unused variables.
59550         * tests/test-read-file.c: Include stdlib.h, for 'free'.
59551
59552 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
59553
59554         * modules/inttostr (License): Change to LGPL.
59555
59556 2006-11-14  Eric Blake  <ebb9@byu.net>
59557
59558         * modules/tempname (License): Change to LGPL.
59559
59560 2006-11-14  Eric Blake  <ebb9@byu.net>
59561
59562         * doc/functions.texi (Function Portability): *printf functions on
59563         Cygwin now understand all POSIX size specifiers.
59564
59565 2006-11-14  Bruno Haible  <bruno@clisp.org>
59566
59567         * modules/c-ctype (License): Change to LGPL.
59568
59569 2006-11-12  Bruno Haible  <bruno@clisp.org>
59570
59571         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
59572         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
59573         for GNOME libraries, for which the include files are installed in
59574         subdirectories of $prefix/include.
59575
59576 2006-11-12  Bruno Haible  <bruno@clisp.org>
59577
59578         * m4/lib-link.m4: Require at least autoconf-2.54.
59579         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
59580         name to underscores for the --with option.
59581
59582 2006-11-13  Bruno Haible  <bruno@clisp.org>
59583
59584         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
59585         the tests directory.
59586         Reported by Ralf Wildenhues.
59587
59588 2006-11-13  Bruno Haible  <bruno@clisp.org>
59589
59590         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
59591         (func_emit_initmacro_end): Undo the override here.
59592         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
59593         Works around the famous automake error in coreutils.
59594
59595 2006-11-13  Eric Blake  <ebb9@byu.net>
59596
59597         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
59598         element, not its node.
59599
59600 2006-11-12  Bruno Haible  <bruno@clisp.org>
59601
59602         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
59603         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
59604
59605 2006-11-12  Bruno Haible  <bruno@clisp.org>
59606
59607         * gnulib-tool: New option --local-symlink.
59608         (func_usage): Document it.
59609         (lsymbolic): New variable.
59610         (func_import, func_create_testdir): If --symlink was not specified,
59611         test whether --local-symlink was specified and the file comes from
59612         the local_gnulib_dir.
59613
59614 2006-11-12  Bruno Haible  <bruno@clisp.org>
59615
59616         * gnulib-tool (func_ln): New function.
59617         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
59618
59619 2006-11-12  Bruno Haible  <bruno@clisp.org>
59620
59621         Finish support for source files in subdirectories.
59622         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
59623         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
59624         AUTOMAKE_OPTIONS.
59625         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
59626
59627 2006-11-12  Bruno Haible  <bruno@clisp.org>
59628
59629         * gnulib-tool (func_get_automake_snippet): Synthesize also an
59630         EXTRA_lib_SOURCES augmentation.
59631         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
59632
59633 2006-11-12  Jim Meyering  <jim@meyering.net>
59634
59635         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
59636         file descriptors.  This also averts a failure on systems with
59637         native openat support when a traversed directory lacks "x" access.
59638         * lib/fts_.h: Include "i-ring.h"
59639         (struct FTS) [fts_fd_ring]: New member.
59640         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
59641         (FCHDIR): Add parentheses.
59642         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
59643         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
59644         When descending, rather than simply closing the previous
59645         fts_cwd_fd value, push that file descriptor onto the ring.
59646         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
59647         (fts_open): Initialize the new fd_ring member.
59648         (fts_close): Clear the ring.
59649         (fts_safe_changedir): When possible, use our new fd_ring to skip
59650         the diropen and fstat and dev/ino comparison that would normally
59651         accompany a virtual `chdir ("..")'.
59652
59653         * modules/fts (Depends-on): Add i-ring.
59654         * modules/i-ring: New module.
59655         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
59656         * m4/i-ring.m4: New file.
59657
59658 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59659
59660         * gnulib-tool (func_create_testdir): Fix replacement of
59661         `build-aux' in configure.ac.  Run autotools in gltests
59662         subdirectory.
59663         (func_create_testdir, func_create_megatestdir, test): There is
59664         no need for '--force' in most autotool invocations in a new
59665         tree.  Actually fail the whole test if any of the tools, or the
59666         configure or make stages fail.
59667
59668         Sync from Automake.
59669         * build-aux/gnupload: Revert last change.  Add pointer to upload
59670         instructions of the GNU Maintenance Instructions.
59671         Suggestion by Karl Berry.
59672
59673 2006-11-10  Jim Meyering  <jim@meyering.net>
59674
59675         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
59676
59677 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
59678
59679         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
59680         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
59681         (bind_textdomain_codeset) [! ENABLE_NLS]:
59682         Evaluate all the arguments.  That way, callers get compatible behavior
59683         if the arguments have side effects.  Also, it avoids some GCC
59684         diagnostics in some cases; Joel E. Denny reported problems when Bison
59685         was configured with --enable-gcc-warnigs.
59686
59687 2006-11-10  Jim Meyering  <jim@meyering.net>
59688
59689         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
59690         relevant options in CFLAGS (like -O, -fno-inline) are taken into
59691         account.
59692
59693 2006-11-10  Jim Meyering  <jim@meyering.net>
59694
59695         * modules/inline: New file/module.
59696         * modules/xalloc (Files): Remove m4/inline.m4.
59697         (Depends-on): Add inline, instead.
59698         * modules/oset: Likewise.
59699         * modules/list: Likewise.
59700
59701 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
59702
59703         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
59704         Problem reported by Matthew Woehlke.
59705
59706 2006-11-09  Bruno Haible  <bruno@clisp.org>
59707
59708         * lib/tempname.c (gen_tempname): Remove variant that invokes
59709         __gen_tempname.
59710         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
59711         __gen_tempname.
59712
59713 2006-11-08  Bruno Haible  <bruno@clisp.org>
59714
59715         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
59716         to 'yes' instead of 'cross-compiling'.
59717
59718 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
59719
59720         * lib/quotearg.h (quotearg_free): New decl.
59721         * lib/quotearg.c (quotearg_free): New function.
59722         (slot0, nslots, slotvec0, slotvec):
59723         Now file-scope so that quotearg_free can get at them.
59724
59725 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59726
59727         Sync from Automake.
59728         * build-aux/gnupload: Add missing 'gnu' to example URL.
59729         Report by Karl Berry.
59730
59731 2006-11-08  Bruno Haible  <bruno@clisp.org>
59732
59733         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
59734         Suggested by Paul Eggert.
59735
59736 2006-11-08  Jim Meyering  <jim@meyering.net>
59737
59738         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
59739         It's already included if !_LIBC.
59740         (fts_safe_changedir): Add a comment.
59741
59742 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
59743
59744         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
59745         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
59746         Matthew Woehlke.
59747
59748         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
59749         definitions up, to avoid colliding with change below.
59750         (static_inline) [HAVE_INLINE]: New macro.
59751         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
59752         Provide extern decls when !HAVE_INLINE.  Do not define unless
59753         static_inline is defined, either by us or by xmalloc.c.  Use
59754         static_inline rather than static inline.
59755         (XCALLOC): Optimize sizeof(T) = 1 case.
59756         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
59757
59758 2006-11-07  Bruno Haible  <bruno@clisp.org>
59759
59760         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
59761         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
59762         AC_C_INLINE.
59763         * modules/xalloc (Files): Add m4/inline.m4.
59764
59765 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59766
59767         * README: Fix typo.
59768         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
59769         (Miscellanous Notes): ...from this.
59770
59771 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
59772
59773         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
59774         Mention that offsetof should be used instead of sizeof.
59775         From Bruno Haible.
59776
59777 2006-11-07  Bruno Haible  <bruno@clisp.org>
59778
59779         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
59780
59781 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
59782
59783         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
59784         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
59785         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
59786         (gl_tree_add_before, gl_tree_add_after):
59787         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
59788         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
59789         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
59790         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
59791         (gl_linked_add_after, gl_linked_add_at): Likewise.
59792         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
59793         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
59794         (gl_tree_add_before, gl_tree_add_after): Likewise.
59795         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
59796         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
59797         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
59798
59799 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59800
59801         * lib/gl_oset.h: Use C comment style, not C++ comment style.
59802
59803 2006-11-06  Bruno Haible  <bruno@clisp.org>
59804
59805         * m4/inline.m4: New file.
59806         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
59807         * modules/list (Files): Add m4/inline.m4.
59808         * modules/oset (Files): Likewise.
59809
59810 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
59811
59812         * lib/idcache.c: Include <stddef.h>, for offsetof.
59813         (struct userid.name): Change from char * to a flexible array member.
59814         All uses changed.
59815         * modules/idcache (Depends-on): Add flexmember.
59816
59817         * MODULES.html.sh (Core language properties): New module flexmember.
59818         * modules/flexmember, m4/flexmember.m4: New files.
59819
59820         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
59821         inline functions that are identical with the old xnmalloc_inline,
59822         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
59823         that we can avoid some unnecessary integer multiplications and
59824         divisions in the common case where the element size is known at
59825         compile time.
59826         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
59827         needed.
59828         (xnboundedmalloc): Remove.
59829         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
59830         arguments, for consistency with rest of this header.
59831         (xcharalloc): Rewrite using XNMALLOC.
59832         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
59833         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
59834         versions have been moved to lib/xalloc.h and renamed to be the
59835         non-*_inline versions.
59836         (xmalloc, xrealloc): Implement without reference to the xnmalloc
59837         and xnrealloc functions, since those functions are now inline and
59838         now call us.
59839         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
59840         renaming described above.
59841         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
59842         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
59843         captures the dependency in AC_C_INLINE.
59844
59845         New module canonicalize-lgpl, proposed by Charles Wilson in
59846         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
59847         with a few small changes afterwards.
59848         * MODULES.html.sh (File system functions): New module
59849         canonicalize-lgpl.
59850         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
59851         and canonicalize_file_name.
59852         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
59853         * modules/canonicalize-lgpl: New files.
59854
59855 2006-11-05  Bruno Haible  <bruno@clisp.org>
59856
59857         * gnulib-tool (func_import, func_create_testdir): Create directories
59858         also for files in subdirectories of lib/.
59859
59860 2006-11-05  Bruno Haible  <bruno@clisp.org>
59861
59862         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
59863         ANSI C compliant.
59864
59865 2006-11-03  Bruno Haible  <bruno@clisp.org>
59866
59867         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
59868         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
59869         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
59870         (xnboundedmalloc): New inline function.
59871         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
59872         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
59873         xmalloc.
59874         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
59875         xmalloc.
59876         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
59877         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
59878         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
59879         xmalloc.
59880         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
59881         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
59882         xmalloc.
59883         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
59884         gl_tree_add_after): Use XMALLOC instead of xmalloc.
59885         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
59886         xmalloc.
59887         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
59888         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
59889         gl_tree_add_after): Use XMALLOC instead of xmalloc.
59890         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
59891         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
59892         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
59893         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
59894
59895 2006-11-03  Bruno Haible  <bruno@clisp.org>
59896
59897         * lib/c-ctype.h [C++]: Define functions without name mangling.
59898         * lib/fwriteerror.h [C++]: Likewise.
59899         * lib/gcd.h [C++]: Likewise.
59900         * lib/linebreak.h [C++]: Likewise.
59901
59902 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
59903
59904         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
59905         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
59906         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
59907         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
59908         Check for functions and headers just once.
59909         Check for declaration of canonicalize_file_name.
59910         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
59911
59912 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
59913
59914         * gnulib-tool (func_import): Fix typo in actioncmd.
59915
59916 2006-11-02  Bruno Haible  <bruno@clisp.org>
59917
59918         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
59919         newline sequence in the Makefile.am snippet as a space, like "make"
59920         does.
59921         Reported by Roger Persson <perrog@gmail.com>.
59922
59923 2006-11-01  Bruno Haible  <bruno@clisp.org>
59924
59925         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
59926         already declared in <string.h>.
59927         * lib/strcase.h (strncasecmp): Don't declare it if yes.
59928
59929 2006-11-01  Bruno Haible  <bruno@clisp.org>
59930
59931         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
59932         * lib/strcase.h: Include <string.h>.
59933         (strcasecmp): Define to rpl_strcasecmp here.
59934
59935 2006-11-01  Bruno Haible  <bruno@clisp.org>
59936
59937         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
59938
59939 2006-11-01  Eric Blake  <ebb9@byu.net>
59940
59941         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
59942
59943         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
59944
59945 2006-10-29  Bruno Haible  <bruno@clisp.org>
59946
59947         Make it compile in C++ mode.
59948         * lib/full-write.c (full_rw): Add a cast.
59949
59950 2006-11-01  Bruno Haible  <bruno@clisp.org>
59951
59952         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
59953         be POSIX compliant.
59954         Reported by Roger Persson <perrog@gmail.com>.
59955
59956 2006-11-01  Eric Blake  <ebb9@byu.net>
59957
59958         * lib/getopt_.h: Fix comments.
59959
59960 2006-10-31  Eric Blake  <ebb9@byu.net>
59961
59962         * modules/tmpdir (Depends-on): Add sys_stat.
59963         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
59964         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
59965         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
59966         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
59967         tempname.
59968
59969 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
59970
59971         Avoid some C++ diagnostics reported by Bruno Haible.
59972         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
59973         xmalloc.
59974         (quotearg_alloc): Use xcharalloc rather than xmalloc.
59975         (struct slotvec): Move to top level.
59976         (quotearg_n_options): Rewrite to avoid xmalloc.
59977         * lib/xalloc.h (xcharalloc): New function.
59978         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
59979         [defined __cplusplus]: Add function template that provides result
59980         type propagation.  This part of the change is from Bruno Haible.
59981
59982 2006-10-29  Bruno Haible  <bruno@clisp.org>
59983
59984         Make it compile in C++ mode.
59985         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
59986         * lib/strnlen1.c (strnlen1): Cast memchr result.
59987         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
59988         * lib/clean-temp.c (string_equals, string_hash): Add casts.
59989         (create_temp_dir): Rename local variable 'template'.
59990         (compile_csharp_using_sscli): Add cast.
59991         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
59992         * lib/findprog.c (find_in_path): Likewise.
59993         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
59994         * lib/wait-process.c (register_slave_subprocess): Likewise.
59995
59996 2006-10-22  Bruno Haible  <bruno@clisp.org>
59997
59998         * modules/tsearch: New file.
59999         * lib/tsearch.h: New file.
60000         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
60001         * m4/tsearch.m4: New file.
60002         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
60003
60004 2006-10-29  Eric Blake  <ebb9@byu.net>
60005
60006         * lib/arcfour.c: Assume config.h.
60007         * lib/arctwo.c: Likewise.
60008         * lib/base64.c: Likewise.
60009         * lib/check-version.c: Likewise.
60010         * lib/crc.c: Likewise.
60011         * lib/des.c: Likewise.
60012         * lib/gc-gnulib.c: Likewise.
60013         * lib/gc-libgcrypt.c: Likewise.
60014         * lib/gc-pbkdf2-sha1.c: Likewise.
60015         * lib/getaddrinfo.c: Likewise.
60016         * lib/getdelim.c: Likewise.
60017         * lib/getline.c: Likewise.
60018         * lib/hmac-md5.c: Likewise.
60019         * lib/hmac-sha1.c: Likewise.
60020         * lib/iconvme.c: Likewise.
60021         * lib/md2.c: Likewise.
60022         * lib/md4.c: Likewise.
60023         * lib/memxor.c: Likewise.
60024         * lib/read-file.c: Likewise.
60025         * lib/readline.c: Likewise.
60026         * lib/rijndael-alg-fst.c: Likewise.
60027         * lib/rijndael-api-fst.c: Likewise.
60028         * lib/xgetdomainname.c: Likewise.
60029
60030 2006-10-28  Eric Blake  <ebb9@byu.net>
60031
60032         * lib/xstrndup.c: Assume config.h.
60033
60034 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
60035
60036         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
60037         stat-macros.h is now for our own macros, whereas stat_h is for
60038         macros in the <sys/stat.h> name space.
60039         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
60040         (STAT_MACROS_H): Remove.
60041         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
60042         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
60043         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
60044         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
60045         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
60046         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
60047         Move these macros to ...
60048         * lib/stat_.h: here.  Don't include stat-macros.h.
60049         * lib/canonicalize.c: Don't include stat-macros.h.
60050         * lib/chown.c: Likewise.
60051         * lib/euidaccess.c: Likewise.
60052         * lib/file-type.c: Likewise.
60053         * lib/filemode.c: Likewise.
60054         * lib/glob.c: Likewise.
60055         * lib/isapipe.c: Likewise.
60056         * lib/lchown.c: Likewise.
60057         * lib/lstat.c: Likewise.
60058         * lib/mkdir-p.c: Likewise.
60059         * lib/rmdir.c: Likewise.
60060         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
60061         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
60062         unless mkdir isn't declared, to speed up 'configure'.
60063         Always create sys/stat.h, since it's unlikely any real sys/stat.h
60064         would define all the S_* symbols.
60065         * modules/canonicalize (Depends-on):
60066         Depend on sys_stat, not stat-macros.
60067         * modules/chown: Likewise.
60068         * modules/euidaccess: Likewise.
60069         * modules/filemode: Likewise.
60070         * modules/file-type: Likewise.
60071         * modules/glob: Likewise.
60072         * modules/isapipe: Likewise.
60073         * modules/lchown: Likewise.
60074         * modules/lstat: Likewise.
60075         * modules/mkancesdirs: Likewise.
60076         * modules/rmdir: Likewise.
60077         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
60078         * modules/modechange: Likewise.
60079         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
60080         (configure.ac): Remove gl_STAT_MACROS.
60081         * modules/sys_stat (Depends-on): Remove stat-macros.
60082
60083 2006-10-27  Bruno Haible  <bruno@clisp.org>
60084
60085         * m4/signed.m4: Remove file.
60086         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
60087         invocation.
60088         * modules/vasnprintf (Files): Remove m4/signed.m4.
60089
60090 2006-10-27  Bruno Haible  <bruno@clisp.org>
60091
60092         Update to GNU gettext 0.16.
60093         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
60094         m4/inttypes-h.m4, m4/signed.m4.
60095         * m4/gettext.m4: Update to GNU gettext 0.16.
60096         * m4/intl.m4: New file, from GNU gettext.
60097         * m4/intldir.m4: New file, from GNU gettext.
60098         * config/srclist.txt: Update
60099
60100 2006-10-27  Eric Blake  <ebb9@byu.net>
60101
60102         * MODULES.html.sh: Document tempname.
60103         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
60104         dependencies.
60105         (Files): Move lib/tempname.c...
60106         * modules/tempname: ...to this new module.
60107         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
60108         (gl_PREREQ_TEMPNAME): Move...
60109         * m4/tempname.m4: ...to this new file.
60110         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
60111         * modules/sys_stat (Depends-on): Add stat-macros.
60112         * lib/stat_.h (includes): Pick up stat macros.
60113         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
60114         if stat macros are broken.
60115         * lib/tempname.c (includes): No need to include "stat-macros.h".
60116         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
60117         (direxists, __path_search) [!_LIBC]: Don't compile these in
60118         gnulib; the tmpdir module covers that.
60119         * lib/tempname.h: New file.
60120
60121 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
60122
60123         * COPYING: Explain how gnulib-tool converts licence headers.
60124         Almost all wording by Eric Blake.
60125
60126 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
60127
60128         * lib/mbchar.h (is_basic_table): Make read-only.
60129         * lib/mbchar.c (is_basic_table): Likewise.
60130         Reported by John Darrington.
60131
60132 2006-10-25  Bruno Haible  <bruno@clisp.org>
60133
60134         * lib/progname.h (set_program_name): Undefine before defining.
60135
60136 2006-10-25  Bruno Haible  <bruno@clisp.org>
60137
60138         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
60139         false for non-gcc C++ compilers.
60140         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
60141
60142 2006-10-24  Bruno Haible  <bruno@clisp.org>
60143
60144         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
60145         iconv implementations like Irix iconv.
60146
60147 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
60148
60149         * modules/vararrays: New file.
60150         * m4/vararrays.m4: New file, taken from diffutils.
60151         * MODULES.html.sh: New module vararrays.
60152
60153 2006-10-24  Karl Berry  <karl@gnu.org>
60154
60155         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
60156         Don't call GNU Unix.
60157
60158 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60159
60160         * users.txt: Add Libtool.
60161
60162         Sync from Libtool:
60163
60164         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
60165
60166         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
60167         to gnulib's policy of including config.h unconditionally.
60168
60169 2006-10-24  Bruno Haible  <bruno@clisp.org>
60170
60171         * modules/wcwidth (Files): Add m4/wint_t.m4.
60172         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
60173         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
60174
60175 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
60176
60177         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
60178         to pacify GCC with some -W flags enabled.  Problem reported by
60179         Bruno Haible.
60180
60181 2006-10-24  Jim Meyering  <jim@meyering.net>
60182
60183         * MODULES.html.sh: Remove uinttostr.  It's not a module.
60184         Reported by Karl Berry.
60185
60186 2006-10-23  Bruno Haible  <bruno@clisp.org>
60187
60188         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
60189
60190 2006-10-24  Bruno Haible  <bruno@clisp.org>
60191
60192         * lib/gl_list.h: Use C comment style, not C++ comment style.
60193
60194 2006-10-23  Eric Blake  <ebb9@byu.net>
60195
60196         * lib/getaddrinfo.c (includes): Add missing include.
60197
60198 2006-10-23  Bruno Haible  <bruno@clisp.org>
60199             Paul Eggert  <eggert@cs.ucla.edu>
60200
60201         Ability to rename obstack_free.
60202         * lib/obstack.h (__obstack_free): New macro. Declare instead of
60203         obstack_free.
60204         (obstack_free): Invoke the __obstack_free macro.
60205         * lib/obstack.c (obstack_free): Use __obstack_free macro.
60206
60207 2006-10-23  Bruno Haible  <bruno@clisp.org>
60208             Paul Eggert  <eggert@cs.ucla.edu>
60209
60210         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
60211         __argc, __argv from the declaration. (They are defined as macros on
60212         mingw.)
60213
60214 2006-10-22  Bruno Haible  <bruno@clisp.org>
60215
60216         * doc/gnulib-intro.texi: New file.
60217         * doc/gnulib.texi: Include it.
60218
60219 2006-10-21  Bruno Haible  <bruno@clisp.org>
60220
60221         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
60222         "Introduction", "Miscellanous Notes", "Particular Modules".
60223
60224 2006-10-21  Bruno Haible  <bruno@clisp.org>
60225
60226         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
60227         Change mostlyclean-local rule to avoid sh syntax error from bash
60228         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
60229
60230 2006-10-23  Jim Meyering  <jim@meyering.net>
60231
60232         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
60233         in place of snprintf.
60234
60235         * modules/inttostr (Files): Add lib/uinttostr.c.
60236         * lib/uinttostr.c (inttostr): New file/function.
60237         * lib/inttostr.h (uinttostr): Declare.
60238         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
60239         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
60240         Add uinttostr.
60241         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
60242
60243 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
60244
60245         * lib/canonicalize.c (ELOOP): Define if not already defined.
60246         Problem reported by Bruno Haible in
60247         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
60248
60249 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
60250
60251         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
60252         Problem reported by Perry Smith and Ville Laurikari.
60253
60254         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
60255         uses.
60256
60257 2006-10-19  Bruno Haible  <bruno@clisp.org>
60258
60259         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
60260         for mingw.
60261
60262 2006-10-19  Bruno Haible  <bruno@clisp.org>
60263
60264         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
60265         Needed for mingw.
60266
60267 2006-10-19  Bruno Haible  <bruno@clisp.org>
60268
60269         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
60270
60271 2006-10-19  Bruno Haible  <bruno@clisp.org>
60272
60273         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
60274         it.
60275
60276 2006-10-19  Bruno Haible  <bruno@clisp.org>
60277
60278         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
60279         invocation.
60280
60281 2006-10-19  Bruno Haible  <bruno@clisp.org>
60282
60283         * gnulib-tool (func_create_testdir): Don't include ftruncate and
60284         mountlist by default.
60285
60286 2006-10-16  Bruno Haible  <bruno@clisp.org>
60287
60288         * lib/c-strstr.c: Include c-strstr.h.
60289
60290 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
60291
60292         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
60293         in a slash.
60294
60295 2006-10-18  Bruno Haible  <bruno@clisp.org>
60296
60297         * lib/lock.h [C++]: Wrap definitions in extern "C".
60298
60299 2006-10-18  Bruno Haible  <bruno@clisp.org>
60300
60301         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
60302         gl_LIBOBJS list.
60303
60304 2006-10-18  Bruno Haible  <bruno@clisp.org>
60305
60306         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
60307
60308 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
60309
60310         * lib/xstrtol.h: Include gettext.h.
60311         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
60312         Problem reported by Eric Blake.
60313         * modules/xstrtol (Depends-on): Add gettext-h.
60314
60315 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
60316
60317         * lib/strftime.c (advance): New macro.
60318         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
60319         incomplete type, so you can't add 0 to it.  Problem and patch
60320         reported by Eelco Dolstra for dietlibc.
60321
60322 2006-10-18  Jim Meyering  <jim@meyering.net>
60323
60324         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
60325         type for a local, and rename it: s/up/user_proc/.
60326
60327 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
60328
60329         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
60330         READ_UTMP_USER_PROCESS.
60331         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
60332
60333 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
60334
60335         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
60336         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
60337
60338 2006-10-17  Eric Blake  <ebb9@byu.net>
60339
60340         * lib/sigprocmask.c (sigprocmask): Fix typo.
60341
60342         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
60343
60344         * modules/clean-temp (Makefile.am): Don't add to make output...
60345         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
60346         config.h.
60347
60348 2006-10-17  Bruno Haible  <bruno@clisp.org>
60349
60350         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
60351         differently if DEFAULT_TEXT_DOMAIN is set.
60352
60353 2006-10-16  Bruno Haible  <bruno@clisp.org>
60354
60355         * lib/clean-temp.c: Include fwriteerror.h.
60356
60357 2006-10-16  Bruno Haible  <bruno@clisp.org>
60358
60359         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
60360
60361 2006-10-16  Bruno Haible  <bruno@clisp.org>
60362
60363         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
60364         * lib/sigprocmask.h: Include <sys/types.h>.
60365         (sigset_t): Use the system's definition if present.
60366
60367 2006-10-17  Eric Blake  <ebb9@byu.net>
60368
60369         * lib/xvasprintf.c (includes): Assume config.h.
60370         * lib/xasprintf.c (includes): Likewise.
60371
60372 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
60373
60374         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
60375         at least as wide as intmax_t.
60376
60377 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
60378
60379         (Imported from Automake.)
60380         * build-aux/gnupload: Update to version 1.1 of directive file.
60381
60382 2006-10-16  Eric Blake  <ebb9@byu.net>
60383
60384         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
60385         match Automake 1.10a.
60386
60387 2006-10-14  Bruno Haible  <bruno@clisp.org>
60388
60389         * modules/sigprocmask: New file.
60390         * lib/sigprocmask.h: New file.
60391         * lib/sigprocmask.c: New file.
60392         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
60393         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
60394         request sigprocmask.o.
60395         (gl_PREREQ_SIGPROCMASK): New macro.
60396         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
60397         (Depends-on): Add sigprocmask.
60398         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
60399         gt_SIGNALBLOCKING. Test for 'raise' only once.
60400         * lib/fatal-signal.c: Include sigprocmask.h.
60401         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
60402         unblock_fatal_signals): Define always.
60403         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
60404         sigprocmask.
60405
60406 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
60407
60408         Sync from Automake.
60409         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
60410         which incorrectly sets the mode of an existing destination
60411         directory.  In some cases the unpatched install-sh could do the
60412         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
60413         system.  We hope this is rare in practice, but it's clearly worth
60414         fixing.  Problem reported by Alex Unleashed in
60415         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
60416         Also, don't bother to check for -m bugs unless we're using -m;
60417         suggested by Stepan Kasal.
60418
60419 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60420
60421         Sync from Automake.
60422         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
60423         `-c' flag, so they appear at the same position as in %FASTDEP%
60424         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
60425         which ignores unknown options only after the first non-option.
60426         Bug report against M4 by Nelson H. F. Beebe.
60427
60428 2006-10-13  Jim Meyering  <jim@meyering.net>
60429
60430         Fix a bug in yesterday's change.
60431         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
60432         p->fts_statp->st_dev would be used uninitialized.
60433         Ensures that we always call fts_stat on the very first entry.
60434         Miklos Szeredi reported that find -xdev stopped working.
60435
60436 2006-10-12  Bruno Haible  <bruno@clisp.org>
60437
60438         * gnulib-tool (func_get_automake_snippet): Append an automatically
60439         computed EXTRA_DIST augmentation.
60440         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
60441         * modules/alloca-opt (Makefile.am): Likewise.
60442         * modules/allocsa (Makefile.am): Likewise.
60443         * modules/arcfour (Makefile.am): Likewise.
60444         * modules/arctwo (Makefile.am): Likewise.
60445         * modules/argmatch (Makefile.am): Likewise.
60446         * modules/argz (Makefile.am): Likewise.
60447         * modules/atexit (Makefile.am): Likewise.
60448         * modules/backupfile (Makefile.am): Likewise.
60449         * modules/byteswap (Makefile.am): Likewise.
60450         * modules/c-strtod (Makefile.am): Likewise.
60451         * modules/c-strtold (Makefile.am): Likewise.
60452         * modules/calloc (Makefile.am): Likewise.
60453         * modules/canon-host (Makefile.am): Likewise.
60454         * modules/canonicalize (Makefile.am): Likewise.
60455         * modules/chdir-long (Makefile.am): Likewise.
60456         * modules/chdir-safer (Makefile.am): Likewise.
60457         * modules/check-version (Makefile.am): Likewise.
60458         * modules/chown (Makefile.am): Likewise.
60459         * modules/cloexec (Makefile.am): Likewise.
60460         * modules/close-stream (Makefile.am): Likewise.
60461         * modules/closeout (Makefile.am): Likewise.
60462         * modules/crc (Makefile.am): Likewise.
60463         * modules/csharpexec (Makefile.am): Likewise.
60464         * modules/cycle-check (Makefile.am): Likewise.
60465         * modules/des (Makefile.am): Likewise.
60466         * modules/dev-ino (Makefile.am): Likewise.
60467         * modules/dirfd (Makefile.am): Likewise.
60468         * modules/dirname (Makefile.am): Likewise.
60469         * modules/dup2 (Makefile.am): Likewise.
60470         * modules/eealloc (Makefile.am): Likewise.
60471         * modules/error (Makefile.am): Likewise.
60472         * modules/euidaccess (Makefile.am): Likewise.
60473         * modules/exclude (Makefile.am): Likewise.
60474         * modules/exitfail (Makefile.am): Likewise.
60475         * modules/fcntl-safer (Makefile.am): Likewise.
60476         * modules/fcntl (Makefile.am): Likewise.
60477         * modules/file-type (Makefile.am): Likewise.
60478         * modules/fileblocks (Makefile.am): Likewise.
60479         * modules/filemode (Makefile.am): Likewise.
60480         * modules/filenamecat (Makefile.am): Likewise.
60481         * modules/fnmatch (Makefile.am): Likewise.
60482         * modules/fopen-safer (Makefile.am): Likewise.
60483         * modules/fpending (Makefile.am): Likewise.
60484         * modules/fprintftime (Makefile.am): Likewise.
60485         * modules/free (Makefile.am): Likewise.
60486         * modules/fsusage (Makefile.am): Likewise.
60487         * modules/ftruncate (Makefile.am): Likewise.
60488         * modules/fts (Makefile.am): Likewise.
60489         * modules/gc-arcfour (Makefile.am): Likewise.
60490         * modules/gc-des (Makefile.am): Likewise.
60491         * modules/gc-hmac-md5 (Makefile.am): Likewise.
60492         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
60493         * modules/gc-md4 (Makefile.am): Likewise.
60494         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
60495         * modules/gc-sha1 (Makefile.am): Likewise.
60496         * modules/gc (Makefile.am): Likewise.
60497         * modules/getaddrinfo (Makefile.am): Likewise.
60498         * modules/getcwd (Makefile.am): Likewise.
60499         * modules/getdelim (Makefile.am): Likewise.
60500         * modules/getdomainname (Makefile.am): Likewise.
60501         * modules/getgroups (Makefile.am): Likewise.
60502         * modules/gethostname (Makefile.am): Likewise.
60503         * modules/gethrxtime (Makefile.am): Likewise.
60504         * modules/getline (Makefile.am): Likewise.
60505         * modules/getloadavg (Makefile.am): Likewise.
60506         * modules/getlogin_r (Makefile.am): Likewise.
60507         * modules/getndelim2 (Makefile.am): Likewise.
60508         * modules/getopt (Makefile.am): Likewise.
60509         * modules/getpagesize (Makefile.am): Likewise.
60510         * modules/getpass-gnu (Makefile.am): Likewise.
60511         * modules/getpass (Makefile.am): Likewise.
60512         * modules/getsubopt (Makefile.am): Likewise.
60513         * modules/gettime (Makefile.am): Likewise.
60514         * modules/gettimeofday (Makefile.am): Likewise.
60515         * modules/getugroups (Makefile.am): Likewise.
60516         * modules/getusershell (Makefile.am): Likewise.
60517         * modules/glob (Makefile.am): Likewise.
60518         * modules/group-member (Makefile.am): Likewise.
60519         * modules/hard-locale (Makefile.am): Likewise.
60520         * modules/hash (Makefile.am): Likewise.
60521         * modules/hmac-md5 (Makefile.am): Likewise.
60522         * modules/hmac-sha1 (Makefile.am): Likewise.
60523         * modules/human (Makefile.am): Likewise.
60524         * modules/idcache (Makefile.am): Likewise.
60525         * modules/imaxabs (Makefile.am): Likewise.
60526         * modules/imaxdiv (Makefile.am): Likewise.
60527         * modules/inet_ntop (Makefile.am): Likewise.
60528         * modules/inet_pton (Makefile.am): Likewise.
60529         * modules/intprops (Makefile.am): Likewise.
60530         * modules/inttostr (Makefile.am): Likewise.
60531         * modules/inttypes (Makefile.am): Likewise.
60532         * modules/isapipe (Makefile.am): Likewise.
60533         * modules/javaversion (Makefile.am): Likewise.
60534         * modules/lchmod (Makefile.am): Likewise.
60535         * modules/lchown (Makefile.am): Likewise.
60536         * modules/localcharset (Makefile.am): Likewise.
60537         * modules/long-options (Makefile.am): Likewise.
60538         * modules/lstat (Makefile.am): Likewise.
60539         * modules/malloc (Makefile.am): Likewise.
60540         * modules/mathl (Makefile.am): Likewise.
60541         * modules/mbchar (Makefile.am): Likewise.
60542         * modules/md2 (Makefile.am): Likewise.
60543         * modules/md4 (Makefile.am): Likewise.
60544         * modules/md5 (Makefile.am): Likewise.
60545         * modules/memcasecmp (Makefile.am): Likewise.
60546         * modules/memchr (Makefile.am): Likewise.
60547         * modules/memcmp (Makefile.am): Likewise.
60548         * modules/memcoll (Makefile.am): Likewise.
60549         * modules/memcpy (Makefile.am): Likewise.
60550         * modules/memmem (Makefile.am): Likewise.
60551         * modules/memmove (Makefile.am): Likewise.
60552         * modules/mempcpy (Makefile.am): Likewise.
60553         * modules/memrchr (Makefile.am): Likewise.
60554         * modules/memset (Makefile.am): Likewise.
60555         * modules/memxor (Makefile.am): Likewise.
60556         * modules/mkancesdirs (Makefile.am): Likewise.
60557         * modules/mkdir-p (Makefile.am): Likewise.
60558         * modules/mkdir (Makefile.am): Likewise.
60559         * modules/mkdtemp (Makefile.am): Likewise.
60560         * modules/mkstemp (Makefile.am): Likewise.
60561         * modules/mktime (Makefile.am): Likewise.
60562         * modules/modechange (Makefile.am): Likewise.
60563         * modules/mountlist (Makefile.am): Likewise.
60564         * modules/nanosleep (Makefile.am): Likewise.
60565         * modules/obstack (Makefile.am): Likewise.
60566         * modules/openat (Makefile.am): Likewise.
60567         * modules/pagealign_alloc (Makefile.am): Likewise.
60568         * modules/pathmax (Makefile.am): Likewise.
60569         * modules/physmem (Makefile.am): Likewise.
60570         * modules/poll (Makefile.am): Likewise.
60571         * modules/posixtm (Makefile.am): Likewise.
60572         * modules/posixver (Makefile.am): Likewise.
60573         * modules/putenv (Makefile.am): Likewise.
60574         * modules/quote (Makefile.am): Likewise.
60575         * modules/quotearg (Makefile.am): Likewise.
60576         * modules/raise (Makefile.am): Likewise.
60577         * modules/read-file (Makefile.am): Likewise.
60578         * modules/readline (Makefile.am): Likewise.
60579         * modules/readlink (Makefile.am): Likewise.
60580         * modules/readtokens (Makefile.am): Likewise.
60581         * modules/readutmp (Makefile.am): Likewise.
60582         * modules/realloc (Makefile.am): Likewise.
60583         * modules/regex (Makefile.am): Likewise.
60584         * modules/rename-dest-slash (Makefile.am): Likewise.
60585         * modules/rename (Makefile.am): Likewise.
60586         * modules/rijndael (Makefile.am): Likewise.
60587         * modules/rmdir (Makefile.am): Likewise.
60588         * modules/rpmatch (Makefile.am): Likewise.
60589         * modules/safe-read (Makefile.am): Likewise.
60590         * modules/safe-write (Makefile.am): Likewise.
60591         * modules/same-inode (Makefile.am): Likewise.
60592         * modules/same (Makefile.am): Likewise.
60593         * modules/save-cwd (Makefile.am): Likewise.
60594         * modules/savedir (Makefile.am): Likewise.
60595         * modules/setenv (Makefile.am): Likewise.
60596         * modules/settime (Makefile.am): Likewise.
60597         * modules/sha1 (Makefile.am): Likewise.
60598         * modules/sig2str (Makefile.am): Likewise.
60599         * modules/snprintf (Makefile.am): Likewise.
60600         * modules/stat-macros (Makefile.am): Likewise.
60601         * modules/stat-time (Makefile.am): Likewise.
60602         * modules/stdbool (Makefile.am): Likewise.
60603         * modules/stdint (Makefile.am): Likewise.
60604         * modules/stdlib-safer (Makefile.am): Likewise.
60605         * modules/stpcpy (Makefile.am): Likewise.
60606         * modules/stpncpy (Makefile.am): Likewise.
60607         * modules/strcase (Makefile.am): Likewise.
60608         * modules/strcasestr (Makefile.am): Likewise.
60609         * modules/strchrnul (Makefile.am): Likewise.
60610         * modules/strcspn (Makefile.am): Likewise.
60611         * modules/strdup (Makefile.am): Likewise.
60612         * modules/strerror (Makefile.am): Likewise.
60613         * modules/strftime (Makefile.am): Likewise.
60614         * modules/strndup (Makefile.am): Likewise.
60615         * modules/strnlen (Makefile.am): Likewise.
60616         * modules/strpbrk (Makefile.am): Likewise.
60617         * modules/strsep (Makefile.am): Likewise.
60618         * modules/strstr (Makefile.am): Likewise.
60619         * modules/strtod (Makefile.am): Likewise.
60620         * modules/strtoimax (Makefile.am): Likewise.
60621         * modules/strtok_r (Makefile.am): Likewise.
60622         * modules/strtol (Makefile.am): Likewise.
60623         * modules/strtoll (Makefile.am): Likewise.
60624         * modules/strtoul (Makefile.am): Likewise.
60625         * modules/strtoull (Makefile.am): Likewise.
60626         * modules/strtoumax (Makefile.am): Likewise.
60627         * modules/strverscmp (Makefile.am): Likewise.
60628         * modules/sys_socket (Makefile.am): Likewise.
60629         * modules/sys_stat (Makefile.am): Likewise.
60630         * modules/sysexits (Makefile.am): Likewise.
60631         * modules/time_r (Makefile.am): Likewise.
60632         * modules/timegm (Makefile.am): Likewise.
60633         * modules/timespec (Makefile.am): Likewise.
60634         * modules/tmpfile-safer (Makefile.am): Likewise.
60635         * modules/trim (Makefile.am): Likewise.
60636         * modules/unistd-safer (Makefile.am): Likewise.
60637         * modules/unlinkdir (Makefile.am): Likewise.
60638         * modules/unlocked-io (Makefile.am): Likewise.
60639         * modules/userspec (Makefile.am): Likewise.
60640         * modules/utime (Makefile.am): Likewise.
60641         * modules/utimecmp (Makefile.am): Likewise.
60642         * modules/utimens (Makefile.am): Likewise.
60643         * modules/vasnprintf (Makefile.am): Likewise.
60644         * modules/vasprintf (Makefile.am): Likewise.
60645         * modules/vsnprintf (Makefile.am): Likewise.
60646         * modules/xalloc (Makefile.am): Likewise.
60647         * modules/xgetcwd (Makefile.am): Likewise.
60648         * modules/xnanosleep (Makefile.am): Likewise.
60649         * modules/xreadlink (Makefile.am): Likewise.
60650         * modules/xstrtod (Makefile.am): Likewise.
60651         * modules/xstrtol (Makefile.am): Likewise.
60652         * modules/xstrtold (Makefile.am): Likewise.
60653         * modules/yesno (Makefile.am): Likewise.
60654         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
60655
60656 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
60657
60658         * modules/error (Makefile.am): Distribute files through
60659         EXTRA_DIST, not lib_SOURCES.
60660
60661 2006-10-12  Eric Blake  <ebb9@byu.net>
60662
60663         * modules/error (Makefile.am): Distribute files in /lib.
60664         * modules/obstack (Makefile.am): Likewise.
60665
60666 2006-10-12  Bruno Haible  <bruno@clisp.org>
60667
60668         * modules/acl (Makefile.am): Distribute all files in lib/ through
60669         EXTRA_DIST.
60670         * modules/arcfour (Makefile.am): Likewise.
60671         * modules/arctwo (Makefile.am): Likewise.
60672         * modules/argmatch (Makefile.am): Likewise.
60673         * modules/argz (Makefile.am): Likewise.
60674         * modules/atexit (Makefile.am): Likewise.
60675         * modules/backupfile (Makefile.am): Likewise.
60676         * modules/c-strtod (Makefile.am): Likewise.
60677         * modules/c-strtold (Makefile.am): Likewise.
60678         * modules/calloc (Makefile.am): Likewise.
60679         * modules/canon-host (Makefile.am): Likewise.
60680         * modules/canonicalize (Makefile.am): Likewise.
60681         * modules/chdir-long (Makefile.am): Likewise.
60682         * modules/chdir-safer (Makefile.am): Likewise.
60683         * modules/check-version (Makefile.am): Likewise.
60684         * modules/chown (Makefile.am): Likewise.
60685         * modules/cloexec (Makefile.am): Likewise.
60686         * modules/close-stream (Makefile.am): Likewise.
60687         * modules/closeout (Makefile.am): Likewise.
60688         * modules/crc (Makefile.am): Likewise.
60689         * modules/cycle-check (Makefile.am): Likewise.
60690         * modules/des (Makefile.am): Likewise.
60691         * modules/dirfd (Makefile.am): Likewise.
60692         * modules/dirname (Makefile.am): Likewise.
60693         * modules/dup2 (Makefile.am): Likewise.
60694         * modules/euidaccess (Makefile.am): Likewise.
60695         * modules/exclude (Makefile.am): Likewise.
60696         * modules/exitfail (Makefile.am): Likewise.
60697         * modules/fcntl-safer (Makefile.am): Likewise.
60698         * modules/file-type (Makefile.am): Likewise.
60699         * modules/fileblocks (Makefile.am): Likewise.
60700         * modules/filemode (Makefile.am): Likewise.
60701         * modules/filenamecat (Makefile.am): Likewise.
60702         * modules/fnmatch (Makefile.am): Likewise.
60703         * modules/fopen-safer (Makefile.am): Likewise.
60704         * modules/fpending (Makefile.am): Likewise.
60705         * modules/fprintftime (Makefile.am): Likewise.
60706         * modules/free (Makefile.am): Likewise.
60707         * modules/fsusage (Makefile.am): Likewise.
60708         * modules/ftruncate (Makefile.am): Likewise.
60709         * modules/fts (Makefile.am): Likewise.
60710         * modules/gc (Makefile.am): Likewise.
60711         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
60712         * modules/getaddrinfo (Makefile.am): Likewise.
60713         * modules/getcwd (Makefile.am): Likewise.
60714         * modules/getdelim (Makefile.am): Likewise.
60715         * modules/getdomainname (Makefile.am): Likewise.
60716         * modules/getgroups (Makefile.am): Likewise.
60717         * modules/gethostname (Makefile.am): Likewise.
60718         * modules/gethrxtime (Makefile.am): Likewise.
60719         * modules/getline (Makefile.am): Likewise.
60720         * modules/getloadavg (Makefile.am): Likewise.
60721         * modules/getlogin_r (Makefile.am): Likewise.
60722         * modules/getopt (Makefile.am): Likewise.
60723         * modules/getpass (Makefile.am): Likewise.
60724         * modules/getpass-gnu (Makefile.am): Likewise.
60725         * modules/getsubopt (Makefile.am): Likewise.
60726         * modules/gettime (Makefile.am): Likewise.
60727         * modules/gettimeofday (Makefile.am): Likewise.
60728         * modules/getugroups (Makefile.am): Likewise.
60729         * modules/getusershell (Makefile.am): Likewise.
60730         * modules/glob (Makefile.am): Likewise.
60731         * modules/group-member (Makefile.am): Likewise.
60732         * modules/hard-locale (Makefile.am): Likewise.
60733         * modules/hash (Makefile.am): Likewise.
60734         * modules/hmac-md5 (Makefile.am): Likewise.
60735         * modules/hmac-sha1 (Makefile.am): Likewise.
60736         * modules/human (Makefile.am): Likewise.
60737         * modules/idcache (Makefile.am): Likewise.
60738         * modules/imaxabs (Makefile.am): Likewise.
60739         * modules/imaxdiv (Makefile.am): Likewise.
60740         * modules/inet_ntop (Makefile.am): Likewise.
60741         * modules/inet_pton (Makefile.am): Likewise.
60742         * modules/inttostr (Makefile.am): Likewise.
60743         * modules/isapipe (Makefile.am): Likewise.
60744         * modules/lchown (Makefile.am): Likewise.
60745         * modules/long-options (Makefile.am): Likewise.
60746         * modules/lstat (Makefile.am): Likewise.
60747         * modules/malloc (Makefile.am): Likewise.
60748         * modules/mathl (Makefile.am): Likewise.
60749         * modules/mbchar (Makefile.am): Likewise.
60750         * modules/md2 (Makefile.am): Likewise.
60751         * modules/md4 (Makefile.am): Likewise.
60752         * modules/md5 (Makefile.am): Likewise.
60753         * modules/memcasecmp (Makefile.am): Likewise.
60754         * modules/memchr (Makefile.am): Likewise.
60755         * modules/memcmp (Makefile.am): Likewise.
60756         * modules/memcoll (Makefile.am): Likewise.
60757         * modules/memcpy (Makefile.am): Likewise.
60758         * modules/memmem (Makefile.am): Likewise.
60759         * modules/memmove (Makefile.am): Likewise.
60760         * modules/mempcpy (Makefile.am): Likewise.
60761         * modules/memrchr (Makefile.am): Likewise.
60762         * modules/memset (Makefile.am): Likewise.
60763         * modules/memxor (Makefile.am): Likewise.
60764         * modules/mkancesdirs (Makefile.am): Likewise.
60765         * modules/mkdir (Makefile.am): Likewise.
60766         * modules/mkdir-p (Makefile.am): Likewise.
60767         * modules/mkdtemp (Makefile.am): Likewise.
60768         * modules/mkstemp (Makefile.am): Likewise.
60769         * modules/mktime (Makefile.am): Likewise.
60770         * modules/modechange (Makefile.am): Likewise.
60771         * modules/mountlist (Makefile.am): Likewise.
60772         * modules/nanosleep (Makefile.am): Likewise.
60773         * modules/openat (Makefile.am): Likewise.
60774         * modules/pagealign_alloc (Makefile.am): Likewise.
60775         * modules/physmem (Makefile.am): Likewise.
60776         * modules/poll (Makefile.am): Likewise.
60777         * modules/posixtm (Makefile.am): Likewise.
60778         * modules/posixver (Makefile.am): Likewise.
60779         * modules/putenv (Makefile.am): Likewise.
60780         * modules/quote (Makefile.am): Likewise.
60781         * modules/quotearg (Makefile.am): Likewise.
60782         * modules/raise (Makefile.am): Likewise.
60783         * modules/read-file (Makefile.am): Likewise.
60784         * modules/readline (Makefile.am): Likewise.
60785         * modules/readlink (Makefile.am): Likewise.
60786         * modules/readtokens (Makefile.am): Likewise.
60787         * modules/readutmp (Makefile.am): Likewise.
60788         * modules/realloc (Makefile.am): Likewise.
60789         * modules/regex (Makefile.am): Likewise.
60790         * modules/rename (Makefile.am): Likewise.
60791         * modules/rename-dest-slash (Makefile.am): Likewise.
60792         * modules/rijndael (Makefile.am): Likewise.
60793         * modules/rmdir (Makefile.am): Likewise.
60794         * modules/rpmatch (Makefile.am): Likewise.
60795         * modules/safe-read (Makefile.am): Likewise.
60796         * modules/safe-write (Makefile.am): Likewise.
60797         * modules/same (Makefile.am): Likewise.
60798         * modules/save-cwd (Makefile.am): Likewise.
60799         * modules/savedir (Makefile.am): Likewise.
60800         * modules/setenv (Makefile.am): Likewise.
60801         * modules/settime (Makefile.am): Likewise.
60802         * modules/sha1 (Makefile.am): Likewise.
60803         * modules/sig2str (Makefile.am): Likewise.
60804         * modules/snprintf (Makefile.am): Likewise.
60805         * modules/stdlib-safer (Makefile.am): Likewise.
60806         * modules/stpcpy (Makefile.am): Likewise.
60807         * modules/stpncpy (Makefile.am): Likewise.
60808         * modules/strcase (Makefile.am): Likewise.
60809         * modules/strcasestr (Makefile.am): Likewise.
60810         * modules/strchrnul (Makefile.am): Likewise.
60811         * modules/strcspn (Makefile.am): Likewise.
60812         * modules/strdup (Makefile.am): Likewise.
60813         * modules/strerror (Makefile.am): Likewise.
60814         * modules/strftime (Makefile.am): Likewise.
60815         * modules/strndup (Makefile.am): Likewise.
60816         * modules/strnlen (Makefile.am): Likewise.
60817         * modules/strpbrk (Makefile.am): Likewise.
60818         * modules/strsep (Makefile.am): Likewise.
60819         * modules/strstr (Makefile.am): Likewise.
60820         * modules/strtod (Makefile.am): Likewise.
60821         * modules/strtoimax (Makefile.am): Likewise.
60822         * modules/strtok_r (Makefile.am): Likewise.
60823         * modules/strtol (Makefile.am): Likewise.
60824         * modules/strtoll (Makefile.am): Likewise.
60825         * modules/strtoul (Makefile.am): Likewise.
60826         * modules/strtoull (Makefile.am): Likewise.
60827         * modules/strtoumax (Makefile.am): Likewise.
60828         * modules/strverscmp (Makefile.am): Likewise.
60829         * modules/time_r (Makefile.am): Likewise.
60830         * modules/timegm (Makefile.am): Likewise.
60831         * modules/tmpfile-safer (Makefile.am): Likewise.
60832         * modules/unistd-safer (Makefile.am): Likewise.
60833         * modules/unlinkdir (Makefile.am): Likewise.
60834         * modules/userspec (Makefile.am): Likewise.
60835         * modules/utime (Makefile.am): Likewise.
60836         * modules/utimecmp (Makefile.am): Likewise.
60837         * modules/utimens (Makefile.am): Likewise.
60838         * modules/vasnprintf (Makefile.am): Likewise.
60839         * modules/vasprintf (Makefile.am): Likewise.
60840         * modules/vsnprintf (Makefile.am): Likewise.
60841         * modules/xalloc (Makefile.am): Likewise.
60842         * modules/xgetcwd (Makefile.am): Likewise.
60843         * modules/xnanosleep (Makefile.am): Likewise.
60844         * modules/xreadlink (Makefile.am): Likewise.
60845         * modules/xstrtod (Makefile.am): Likewise.
60846         * modules/xstrtol (Makefile.am): Likewise.
60847         * modules/xstrtold (Makefile.am): Likewise.
60848         * modules/yesno (Makefile.am): Likewise.
60849
60850 2006-10-12  Jim Meyering  <jim@meyering.net>
60851
60852         * m4/getloadavg.m4: Revert the change below.
60853
60854         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
60855         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
60856         fail with a symlink, which is what coreutils' ./bootstrap now
60857         creates by default.
60858
60859 2006-10-12  Bruno Haible  <bruno@clisp.org>
60860
60861         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
60862         mingw.
60863         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
60864         MSVC and mingw explicitly.
60865
60866 2006-10-11  Simon Josefsson  <jas@extundo.com>
60867             Bruno Haible  <bruno@clisp.org>
60868
60869         Add support for multiple gnulib-tool invocations in the scope of a
60870         single configure.ac file.
60871         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
60872         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
60873         with the same contents as the _LIBADD variable.
60874         (func_emit_initmacro_start, func_emit_initmacro_end,
60875         func_emit_initmacro_done): New functions.
60876         (func_import, func_create_testdir): Invoke them. Allow the identifiers
60877         gl_LIBOBJS and gl_LTLIBOBJS.
60878
60879 2006-10-11  Bruno Haible  <bruno@clisp.org>
60880
60881         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
60882         (func_create_testdir): Don't create po/Makefile.am, don't invoke
60883         autoreconf. Instead, invoke autopoint explicitly but move back the
60884         *.m4 files from gnulib.
60885
60886 2006-10-11  Bruno Haible  <bruno@clisp.org>
60887
60888         * gnulib-tool (func_usage): Make module names after --create-testdir
60889         optional.
60890         (func_create_testdir): If no module was specified, use nearly all
60891         modules.
60892
60893 2006-10-12  Jim Meyering  <jim@meyering.net>
60894
60895         Big performance improvement for fts-based tools that use FTS_NOSTAT.
60896         Avoid spurious inode-mismatch problems on non-POSIX file systems.
60897         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
60898         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
60899         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
60900         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
60901         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
60902         (fts_set_stat_required): New function.
60903         (fts_open): Defer the calls to fts_stat, if possible or requested.
60904         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
60905         into fts_stat itself.
60906         (fts_read): Perform any required (deferred) fts_stat call.
60907         (fts_build): Likewise, for the directory we're about to open and read.
60908         In the readdir loop, carefully decide whether each entry will require
60909         an eventual call to fts_stat, using dirent.d_type info if available.
60910         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
60911         a command line argument into this function.  Update all callers.
60912         Map a return value of FTS_DOT to FTS_D for a command line argument.
60913         * modules/fts (Depends-on): Add d-type.  Alphabetize.
60914         Thanks to Miklos Szeredi for his tenacity and for the initial
60915         bug report about "find" failing on a FUSE-based file system.
60916
60917         * lib/fts.c (fts_open): Use consistent indentation.
60918
60919 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
60920
60921         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
60922         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
60923         reported by Jim Meyering.  All uses of cache variables renamed
60924         to match Autoconf's.
60925         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
60926         the other one.
60927
60928         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
60929         Fix misspelling in diagnostic.
60930
60931 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
60932
60933         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
60934         defined.  Problem reported by Matthew Woehlke.
60935
60936         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
60937         Add support for Tandem NonStop R series.
60938         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
60939         Use new macro.
60940
60941         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
60942         (has_trailing_slash): Omit size arg; all callers changed.
60943         Omit 'inline', since it doesn't help performance and we'd
60944         need to configure it.
60945         Don't count //, ///, etc. as having a trailing slash.
60946         As a side effect, this removes a C99ism reported by Matthew Woehlke.
60947         (rpl_rename_dest_slash): On failure, use rename's errno rather
60948         than (in some cases) an incorrect or junk errno.
60949         Simplify code by removing need to compute length; this does
60950         cause it to make two passes instead of one over the file name,
60951         but it's worth it.
60952
60953         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
60954         change, since Autoconf's version may no longer be appropriate now
60955         that we are using CVS Autoconf's version.  Add support for Tandem.
60956
60957 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
60958             Bruno Haible  <bruno@clisp.org>
60959
60960         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
60961         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
60962         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
60963         gl_AC_TYPE_LONG_LONG.
60964
60965         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
60966         instead of HAVE_LONG_LONG.
60967         * lib/printf-args.c (printf_fetchargs): Likewise.
60968         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
60969         * lib/vasnprintf.c (VASNPRINTF): Likewise.
60970         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
60971         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
60972         gl_AC_TYPE_LONG_LONG.
60973
60974 2006-10-11  Bruno Haible  <bruno@clisp.org>
60975
60976         * m4/longlong.m4: Add comments.
60977         * m4/ulonglong.m4: Likewise.
60978
60979 2006-10-10  Bruno Haible  <bruno@clisp.org>
60980
60981         Make it possible to #define stpcpy, strdup to aliases.
60982         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
60983         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
60984
60985 2006-10-10  Bruno Haible  <bruno@clisp.org>
60986
60987         Make it possible to #define gcd to an alias.
60988         * lib/gcd.c: Include config.h.
60989
60990 2006-10-10  Bruno Haible  <bruno@clisp.org>
60991
60992         Make it possible to #define c_isascii to an alias.
60993         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
60994         defined. Undefine the macros before defining them, to avoid gcc
60995         warnings.
60996         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
60997         define NO_C_CTYPE_MACROS early.
60998
60999 2006-10-10  Bruno Haible  <bruno@clisp.org>
61000
61001         Make it possible to #define set_program_name to an alias.
61002         * lib/progname.c: Don't undefine set_program_name; instead, undefine
61003         ENABLE_RELOCATABLE early.
61004
61005 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
61006
61007         Port to Tandem NSK OSS, which has 64-bit signed int but at most
61008         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
61009         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
61010         More generally, don't assume that 64-bit signed int is available
61011         if unsigned int is, and vice versa.
61012         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
61013         unsigned symbols, not on their signed counterparts.
61014         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
61015         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
61016         (UINT64_C, UINTMAX_C):
61017         Likewise.
61018         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
61019         unsigned counterparts.
61020         (Have_long_long, Unsigned): New macros.
61021         (Int): Renamed from INT.
61022         (strtoimax): Use the new macros.
61023         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
61024         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
61025         * modules/inttypes (inttypes.h): Substitute
61026         HAVE_UNSIGNED_LONG_LONG_INT.
61027         * modules/stdint (stdint.h): Likewise.
61028         (Files): Add m4/ulonglong.m4.
61029
61030 2006-10-10  Bruno Haible  <bruno@clisp.org>
61031
61032         Fix a gcc -Wshadow warning.
61033         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
61034         to 'bucket'.
61035         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
61036         gl_linked_indexof_from_to): Likewise.
61037         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
61038         Likewise.
61039         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
61040         Likewise.
61041         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
61042         Reported by Eric Blake.
61043
61044 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
61045
61046         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
61047         for NetBSD.  Problem reported by Bruno Haible.
61048
61049 2006-10-09  Jim Meyering  <jim@meyering.net>
61050
61051         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
61052         Patch from Bruno Haible.
61053
61054 2006-10-09  Jim Meyering  <jim@meyering.net>
61055
61056         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
61057         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
61058         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
61059
61060 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
61061
61062         Don't include <config.h> twice; this doesn't work in some cases,
61063         e.g., when config.h has "#define intmax_t long long int" and
61064         we include <config.h>, <inttypes.h>, <config.h> in that order.
61065         Problem reported by Matthew Woehlke in:
61066         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
61067         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
61068         * lib/fts-cycle.c: Don't include config.h.
61069         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
61070         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
61071         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
61072         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
61073         inttypes.h.
61074         * lib/xstrtoumax.c: Likewise.
61075         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
61076         __strtol and the like, so that this module is more like its siblings.
61077         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
61078         Remove; no longer needed now that we assume gnulib inttypes.h.
61079
61080 2006-10-08  Bruno Haible  <bruno@clisp.org>
61081
61082         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
61083         option.
61084
61085 2006-10-07  Jim Meyering  <jim@meyering.net>
61086
61087         * modules/inttypes (inttypes.h): Revert what seems to have been
61088         an inadvertent part of today's change: use "|", not "/" in the
61089         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
61090
61091 2006-10-07  Bruno Haible  <bruno@clisp.org>
61092
61093         * modules/sublist: New file.
61094
61095 2006-10-07  Bruno Haible  <bruno@clisp.org>
61096
61097         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
61098         * modules/argz (argz.h): Likewise.
61099         * modules/arpa_inet (arpa/inet.h): Likewise.
61100         * modules/byteswap (byteswap.h): Likewise.
61101         * modules/configmake (configmake.h): Likewise.
61102         * modules/fcntl (fcntl.h): Likewise.
61103         * modules/fnmatch (fnmatch.h): Likewise.
61104         * modules/getopt (getopt.h): Likewise.
61105         * modules/glob (glob.h): Likewise.
61106         * modules/inttypes (inttypes.h): Likewise.
61107         * modules/netinet_in (netinet/in.h): Likewise.
61108         * modules/poll (poll.h): Likewise.
61109         * modules/stdbool (stdbool.h): Likewise.
61110         * modules/stdint (stdint.h): Likewise.
61111         * modules/sys_select (sys/select.h): Likewise.
61112         * modules/sys_socket (sys/socket.h): Likewise.
61113         * modules/sys_stat (sys/stat.h): Likewise.
61114         * modules/sysexits (sysexits.h): Likewise.
61115         * modules/unistd (unistd.h): Likewise.
61116         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
61117         Add a "DO NOT EDIT" comment to the generated file.
61118         (func_import): Likewise for gnulib-comp.m4.
61119
61120 2006-10-07  Bruno Haible  <bruno@clisp.org>
61121
61122         * lib/gl_sublist.h: New file.
61123         * lib/gl_sublist.c: New file.
61124
61125 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
61126
61127         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
61128         name (relative to the original working directory) and the file
61129         name component (relative to the temporary working directory).  All
61130         callers changed.
61131         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
61132         * lib/mkdir-p.c (make_dir_parents): Likewise.
61133         * lib/mkdir-p.h (make_dir_parents): Likewise.
61134
61135 2006-10-06  Eric Blake  <ebb9@byu.net>
61136
61137         Define several macros for use by the clean-temp module.
61138         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
61139         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
61140         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
61141
61142         * lib/clean-temp.h (close_stream_temp): New declaration.
61143         * lib/clean-temp.c (includes): Pull in headers according to what
61144         other modules are in use.
61145         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
61146
61147 2006-10-06  Bruno Haible  <bruno@clisp.org>
61148
61149         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
61150         instead of fopen, fwriteerror.
61151
61152 2006-10-06  Bruno Haible  <bruno@clisp.org>
61153
61154         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
61155         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
61156         int.
61157         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
61158         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
61159         Return an error indicator.
61160         Suggested by Eric Blake.
61161
61162 2006-10-06  Bruno Haible  <bruno@clisp.org>
61163
61164         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
61165         Reported by Eric Blake.
61166
61167 2006-10-06  Bruno Haible  <bruno@clisp.org>
61168
61169         * modules/closeout (Description): Mention stderr too.
61170
61171 2006-10-06  Bruno Haible  <bruno@clisp.org>
61172         and Paul Eggert  <eggert@cs.ucla.edu>
61173
61174         * lib/closeout.c (close_stdout): Also close stderr.
61175         * lib/closeout.h: Update comment.
61176
61177 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
61178
61179         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
61180         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
61181         * lib/dirchownmod.c: Include lchown.h.
61182         * lib/lchown.c: Don't include files that lchown.h now includes.
61183         Don't declare chown, since lchown.h now does that.
61184         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
61185         (lchown): Define to rpl_chown if lchown is declared but
61186         does not exist.  Declare using a prototype if lchown is not
61187         declared.  Add a copyright notice.
61188         * lib/mkstemp.h: Include <unistd.h>.
61189         * lib/openat.c: Include lchown.h.
61190
61191         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
61192         we now test for that separately.
61193         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
61194         rather than O_NOFOLLOW, when testing whether it's possible to
61195         avoid a race condition reliably.
61196         * lib/savewd.c (savewd_chdir): Likewise.
61197
61198         Remove macros that are no longer needed now that stdint.h is
61199         reliable.
61200         * lib/fsusage.c (UINTMAX_MAX): Remove.
61201         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
61202         * lib/utimecmp.c (SIZE_MAX): Remove.
61203
61204         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
61205
61206         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
61207         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
61208         O_NOATIME works.
61209
61210 2006-10-05  Bruno Haible  <bruno@clisp.org>
61211
61212         * lib/gl_list.h (gl_sortedlist_search_from_to,
61213         gl_sortedlist_indexof_from_to): New declarations.
61214         (gl_list_implementation): New fields sortedlist_search_from_to,
61215         sortedlist_indexof_from_to.
61216         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
61217         inline functions.
61218         * lib/gl_list.c (gl_sortedlist_search_from_to,
61219         gl_sortedlist_indexof_from_to): New functions.
61220         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
61221         function.
61222         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
61223         (gl_array_sortedlist_search_from_to): New function.
61224         (gl_array_list_implementation): Update.
61225         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
61226         function.
61227         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
61228         (gl_carray_sortedlist_search_from_to): New function.
61229         (gl_carray_list_implementation): Update.
61230         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
61231         gl_linked_sortedlist_indexof_from_to): New functions.
61232         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
61233         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
61234         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
61235         gl_tree_sortedlist_indexof_from_to): New functions.
61236         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
61237         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
61238         Update.
61239         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
61240         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
61241         Update.
61242
61243 2006-10-05  Bruno Haible  <bruno@clisp.org>
61244
61245         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
61246         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
61247         (struct gl_list_implementation): Add fields search_from_to,
61248         indexof_from_to. Remove fields search, indexof.
61249         (gl_list_search): Use the search_from_to method.
61250         (gl_list_search_from, gl_list_search_from_to): New functions.
61251         (gl_list_indexof): Use the indexof_from_to method.
61252         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
61253         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
61254         (gl_list_search_from, gl_list_search_from_to): New functions.
61255         (gl_list_indexof): Use the indexof_from_to method.
61256         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
61257         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
61258         gl_array_indexof. Add start_index, end_index arguments.
61259         (gl_array_search_from_to): Renamed from gl_array_search. Add
61260         start_index, end_index arguments.
61261         (gl_array_remove, gl_array_list_implementation): Update.
61262         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
61263         gl_carray_indexof. Add start_index, end_index arguments.
61264         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
61265         start_index, end_index arguments.
61266         (gl_carray_remove, gl_carray_list_implementation): Update.
61267         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
61268         gl_linked_search. Add start_index, end_index arguments.
61269         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
61270         start_index, end_index arguments.
61271         (gl_linked_remove): Update.
61272         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
61273         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
61274         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
61275         field to 'size_t'.
61276         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
61277         gl_tree_search. Add start_index, end_index arguments.
61278         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
61279         start_index, end_index arguments.
61280         (gl_tree_remove): Update.
61281         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
61282         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
61283         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
61284         function.
61285         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
61286         gl_tree_search. Add start_index, end_index arguments.
61287         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
61288         start_index, end_index arguments.
61289         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
61290         Update.
61291         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
61292
61293 2006-10-05  Bruno Haible  <bruno@clisp.org>
61294
61295         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
61296
61297         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
61298         fwriteerror_temp): New declarations.
61299         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
61300         (descriptors): New variable.
61301         (cleanup): First, close the descriptors.
61302         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
61303         fclose_temp, fwriteerror_temp): New functions.
61304
61305 2006-10-04  Jim Meyering  <jim@meyering.net>
61306
61307         * lib/fts.c (fts_open): Tiny comment change.
61308
61309 2006-10-04  Bruno Haible  <bruno@clisp.org>
61310
61311         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
61312         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
61313         gl_LOCK_BODY.
61314         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
61315         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
61316         gl_LOCK_EARLY_BODY.
61317         (gl_LOCK): Require gl_LOCK_BODY.
61318
61319 2006-10-04  Bruno Haible  <bruno@clisp.org>
61320
61321         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
61322         (gl_oset_search_atleast): New declaration.
61323         (struct gl_oset_implementation): Add field 'search_atleast'.
61324         (gl_oset_search_atleast): New inline function.
61325         * lib/gl_oset.c (gl_oset_search_atleast): New function.
61326         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
61327         (gl_array_oset_implementation): Update.
61328         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
61329         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
61330         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
61331
61332 2006-10-04  Bruno Haible  <bruno@clisp.org>
61333
61334         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
61335
61336 2006-10-03  Bruno Haible  <bruno@clisp.org>
61337
61338         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
61339         from gl_avltreehash_list_implementation.
61340
61341 2006-10-03  Bruno Haible  <bruno@clisp.org>
61342
61343         * lib/gl_oset.c (gl_oset_add): Fix return type.
61344
61345 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
61346
61347         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
61348
61349 2006-10-02  Eric Blake  <ebb9@byu.net>
61350
61351         * modules/strnlen (Depends-on): Add extensions.
61352
61353 2006-10-02  Eric Blake  <ebb9@byu.net>
61354
61355         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
61356         definition in 2.60+.
61357
61358 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
61359
61360         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
61361         checks.
61362
61363 2006-10-02  Bruno Haible  <bruno@clisp.org>
61364
61365         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
61366         to the AUTOMAKE_OPTIONS.
61367         Reported by Jim Meyering.
61368
61369 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
61370
61371         Work around bug in Solaris 10 /proc file system:
61372         /proc/self/fd/NNN/.. isn't the parent directory of
61373         the directory whose file descriptor is NNN.  This needs to
61374         be worked around at run time, not compile time, since a
61375         program might be built on Solaris 8, where things work, and
61376         run on Solaris 10.
61377         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
61378         to use the following interface instead:
61379         (OPENAT_BUFFER_SIZE): New macro.
61380         (openat_proc_name): New function.
61381         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
61382         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
61383         Likewise.
61384         * lib/openat-proc.c: New file.
61385         * modules/openat (Files): Add lib/openat-proc.c.
61386         (Depends-on): Add same-inode, stdbool.
61387         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
61388
61389 2006-09-29  Bruno Haible  <bruno@clisp.org>
61390
61391         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
61392         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
61393         argument. Set stdout_closed before testing for ferror, not after.
61394         (fwriteerror, fwriteerror_no_ebadf): New functions.
61395
61396 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61397
61398         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
61399
61400 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
61401
61402         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
61403         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
61404
61405 2006-09-28  Jim Meyering  <jim@meyering.net>
61406
61407         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
61408         Include <unistd.h>.
61409
61410 2006-09-28  Bruno Haible  <bruno@clisp.org>
61411
61412         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
61413         * modules/linkedhash-list (Depends-on): Likewise.
61414         * modules/rbtreehash-list (Depends-on): Likewise.
61415
61416 2006-09-28  Bruno Haible  <bruno@clisp.org>
61417
61418         * lib/strndup.h: Simplify the redefinition of strndup.
61419         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
61420         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
61421
61422 2006-09-28  Bruno Haible  <bruno@clisp.org>
61423
61424         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
61425         * lib/gl_linkedhash_list.c: Likewise.
61426         * lib/gl_rbtreehash_list.c: Likewise.
61427
61428 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
61429
61430         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
61431         getaddrinfo.
61432
61433         * lib/__fpending.h: Don't include <stdio_ext.h> unless
61434         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
61435         it causes <stdio_ext.h> to cause a compile-time error.
61436         Problem reported by Nelson H. F. Beebe.
61437         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
61438         of HAVE_DECL___PENDING.
61439
61440         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
61441         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
61442         declaration.
61443
61444 2006-09-27  Jim Meyering  <jim@meyering.net>
61445
61446         This file could end up with a definition for a function
61447         named __strndup, rather than rpl_strndup on a system with
61448         incomplete weak_alias support.
61449         * lib/strndup.c (strndup): Rename from __strndup.
61450         Remove #defines that used to map __strndup to strndup.
61451         Don't use K&R prototypes.
61452         Remove LIBC-related code, since this file is not sync'd with glibc.
61453         * lib/strndup.h: Revamp, accordingly.
61454         * m4/strndup.m4: Modernize.
61455
61456 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
61457
61458         * modules/savewd (Depends-on): Add 'raise'.
61459         * lib/savewd.c: Include <signal.h>, for 'raise'.
61460
61461 2006-09-26  Jim Meyering  <jim@meyering.net>
61462
61463         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
61464         when we detect Darwin 8.7.0's acl_get_file bug.
61465         Rearrange to perform the new (below) run-test while $LIBS
61466         contains any acl-related library.  Set USE_ACL at the end.
61467         (gl_ACL_GET_FILE): New function.
61468
61469 2006-09-26  Eric Blake  <ebb9@byu.net>
61470
61471         * lib/verror.c: Include <config.h> unconditionally.
61472
61473 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
61474
61475         * modules/clock-time (Maintainer): Add self.
61476         * modules/getlogin_r (Depends-on): Add extensions.
61477
61478 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61479
61480         * modules/clock-time: New module.
61481         * modules/nanosleep (Depends-on): Add clock-time.
61482         * modules/gethrxtime (Depends-on): Likewise.
61483         * modules/gettime (Depends-on): Likewise.
61484         * modules/settime (Depends-on): Likewise.
61485
61486         * modules/fts-lgpl: Depend on openat.
61487         * modules/mkancesdirs: Depend on savewd.
61488         * modules/mkdir-p: Likewise.
61489
61490 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61491
61492         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
61493
61494         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
61495         `gl_have_arbitrary_file_name_length_limit' to
61496         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
61497         actually works between configure runs.
61498
61499 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61500             Bruno Haible  <bruno@clisp.org>
61501
61502         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
61503
61504 2006-09-25  Jim Meyering  <jim@meyering.net>
61505
61506         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
61507         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
61508
61509 2006-09-25  Eric Blake  <ebb9@byu.net>
61510
61511         * gnulib-tool (func_import, func_create_testdir): Fix typos in
61512         exec's in 2006-09-18 patch when shuffling fds.
61513
61514 2006-09-25  Bruno Haible  <bruno@clisp.org>
61515
61516         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
61517         Reported by Jim Meyering.
61518
61519 2006-09-24  Jim Meyering  <jim@meyering.net>
61520
61521         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
61522         compare a pointer against a literal "0".  That caused failures with
61523         at least HP-UX's hpcc.
61524
61525 2006-09-22  Simon Josefsson  <jas@extundo.com>
61526
61527         * modules/gc-sha1:
61528         * modules/gc-md4:
61529         * modules/gc-hmac-sha1:
61530         * modules/gc-hmac-md5:
61531         * modules/gc-des:
61532         * modules/gc-arcfour: Distribute more files.
61533
61534 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61535
61536         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
61537         (gl_linked_iterator_from_to): Initialize struct completely.
61538         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
61539         (gl_tree_iterator_from_to): Likewise
61540         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
61541         * lib/gl_array_list.c [lint] (gl_array_iterator)
61542         (gl_array_iterator_from_to): Likewise.
61543         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
61544         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
61545         (gl_carray_iterator_from_to): Likewise.
61546
61547         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
61548         * lib/md4.c (md4_process_block): Remove unused variable.
61549         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
61550         parentheses for clarity.
61551
61552 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61553
61554         * modules/bison-i18n (Depends-on): Add gettext.
61555
61556 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61557
61558         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
61559         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
61560         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
61561         also add missing comma that caused broken test.
61562         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
61563         stdlib.h, for `abort'.
61564         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
61565         variables.
61566         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
61567         include unistd.h if present, for `rmdir'.
61568         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
61569         variables.
61570         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
61571         in the process include standard headers for prototypes.
61572         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
61573         gets declared on GNU/Linux.
61574         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
61575         unistd.h, for `rmdir'.
61576         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
61577
61578         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
61579         always true.
61580         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
61581
61582         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
61583
61584 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61585
61586         * gnulib-tool (func_version): Create output all at once.  This
61587         may help avoid triggering unnecessary SIGPIPEs, and at any
61588         rate it doesn't hurt.
61589
61590 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61591             Bruno Haible  <bruno@clisp.org>
61592
61593         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
61594         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
61595         * m4/signed.m4 (bh_C_SIGNED): Likewise.
61596
61597         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
61598         (gl_FUNC_VASPRINTF): Invoke it.
61599
61600 2006-09-22  Bruno Haible  <bruno@clisp.org>
61601
61602         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
61603         getloadavg.c as first argument.
61604
61605 2006-09-22  Bruno Haible  <bruno@clisp.org>
61606
61607         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
61608         at the beginning of the gl_INIT macro.
61609         * modules/getloadavg (configure.ac): Pass $gl_source_base to
61610         gl_GETLOADAVG.
61611
61612 2006-09-22  Bruno Haible  <bruno@clisp.org>
61613
61614         * gnulib-tool (func_create_megatestdir): Don't include the config-h
61615         module.
61616         Suggested by Ralf Wildenhues.
61617
61618 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
61619
61620         Import this patch from libc:
61621
61622         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
61623
61624         * lib/regex_internal.c (re_string_reconstruct): Handle
61625         offset < pstr->valid_raw_len && pstr->offsets_needed case.
61626         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
61627         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
61628         re_string_context_at.
61629
61630         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
61631         now requires it.
61632         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
61633         gl_REGEX now does it for us.
61634         (gl_REGEX): Add test taken from
61635         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
61636
61637         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
61638         Check that large offsets work.  Modernize Autoconf usages.
61639         Prefer "yes" to mean a good thing rather than a bad.
61640         Don't put "#define mkstemp" in config.h, as this might interfere
61641         with standard system headers that "#define mkstemp mkstemp64".
61642
61643         * modules/mkstemp (Depends-on): Add extensions, so that
61644         mkstemp is visible on some platforms.
61645         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
61646         (Include): Change to "mkstemp.h" from <stdlib.h>.
61647         (Files): Add mkstemp.h.
61648
61649         * lib/mkstemp.h: New file, since some standard headers
61650         #define mkstemp.
61651         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
61652         Include "mkstemp.h".
61653         Make the _LIBC code resemble glibc original more,
61654         e.g., use K&R style.
61655         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
61656         (mkstemp): Remove, since mkstemp.h does this for us.
61657         * lib/stdlib--.h: Include mkstemp.h.
61658
61659         Import this patch from libc:
61660
61661         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
61662
61663         * lib/tempname.c (__gen_tempname): Change attempts_min
61664         into a macro.  Use preprocessor to decide how to initialize
61665         attempts [Coverity CID 67].
61666
61667 2006-09-20  Bruno Haible  <bruno@clisp.org>
61668
61669         * lib/mkdtemp.c: Import from libc.
61670         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
61671                 * sysdeps/posix/tempname.c (__gen_tempname): Change
61672                 attempts_min into a macro.  Use preprocessor to decide how to
61673                 initialize attempts [Coverity CID 67].
61674         2001-11-27  Paul Eggert  <eggert@twinsun.com>
61675                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
61676                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
61677
61678 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61679
61680         * gnulib-tool (func_exit): New function, to allow to pass the
61681         exit status portably through the trap.  Use everywhere.
61682         (--help, --version): Signal a write error.
61683         (trap): catch SIGPIPE, for write errors.
61684         Exit at the end of the trap, with the correct exit status.
61685
61686 2006-09-19  Karl Berry  <karl@gnu.org>
61687
61688         * doc/gnulib.texi: note about the license texinfo files.
61689
61690 2006-09-19  Eric Blake  <ebb9@byu.net>
61691
61692         * gnulib-tool: Avoid space-tab.
61693
61694 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
61695
61696         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
61697         that prevented coreutils 6.1 from building.  Problem reported
61698         by Petter Reinholdtsen.
61699
61700 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
61701
61702         * gnulib-tool (avoidlist): Fix typo that broke options like
61703         --avoid=lock that are used by coreutils bootstrap.
61704
61705 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
61706
61707         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
61708         more systematically.
61709
61710 2006-09-18  Jim Meyering  <jim@meyering.net>
61711
61712         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
61713
61714 2006-09-18  Bruno Haible  <bruno@clisp.org>
61715
61716         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
61717
61718 2006-09-18  Bruno Haible  <bruno@clisp.org>
61719
61720         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
61721         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
61722         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
61723         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
61724         * m4/gettext.m4: Require autoconf >= 2.52.
61725         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
61726         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
61727         of gl_cv_header_inttypes_h.
61728
61729 2006-09-18  Bruno Haible  <bruno@clisp.org>
61730
61731         * lib/javaversion.c: Include configmake.h.
61732
61733 2006-09-18  Bruno Haible  <bruno@clisp.org>
61734
61735         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
61736         avoid that the while loops be executed in a subshell.
61737
61738 2006-09-18  Bruno Haible  <bruno@clisp.org>
61739
61740         * MODULES.html.sh (func_module): Break long lines.
61741         Suggested by Bruce Korb <bkorb@gnu.org>.
61742
61743 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61744
61745         Speed up by a factor of 1.12.
61746         * gnulib-tool (nl): New variable.
61747         (func_import): Rewrite include directive extraction to only read each
61748         directive once.
61749
61750 2006-09-17  Bruno Haible  <bruno@clisp.org>
61751
61752         * modules/javaversion (Makefile.am): Remove DEFS setting.
61753         (Depends-on): Add configmake, for PKGDATADIR definition.
61754
61755 2006-09-17  Bruno Haible  <bruno@clisp.org>
61756
61757         * gnulib-tool (func_create_testdir): Rewrite all files at once.
61758
61759 2006-09-17  Bruno Haible  <bruno@clisp.org>
61760
61761         * gnulib-tool (func_append): New function, stolen from libtool.m4.
61762         (func_modules_transitive_closure, func_modules_add_dummy,
61763         func_modules_to_filelist, func_import, func_create_testdir,
61764         func_create_megatestdir, ...): Use it wherever possible.
61765         Suggested by Ralf Wildenhues.
61766
61767 2006-09-16  Karl Berry  <karl@gnu.org>
61768
61769         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
61770         to avoid sectioning errors.
61771         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
61772         [ifinfo]: blank line after @center-ed titles.
61773         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
61774         Spell FSF address consistently with others.
61775         (These changes approved by rms.)
61776
61777 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61778
61779         Speed up by a factor of 1.61.
61780         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
61781         already checked module names again.
61782
61783 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61784
61785         Speed up by a factor of 1.13.
61786         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
61787         for new_files, and the input to func_add_or_update.
61788
61789 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61790
61791         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
61792         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
61793
61794 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
61795
61796         * modules/mkancesdirs (Depends-on): Add fcntl.
61797         * modules/savewd: New file.
61798         * MODULES.html.sh (File system functions): Add savewd.
61799
61800         * modules/configmake (Makefile.am): Add support for the
61801         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
61802
61803 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
61804
61805         * m4/savewd.m4: New file.
61806
61807 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
61808
61809         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
61810         (dirchownmod): New arg FD.  All callers changed.
61811         Use FD rather than opening the directory ourself, as opening is
61812         now the caller's responsibility.
61813         * lib/dirchownmod.h: Likewise.
61814         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
61815         hosts that require <sys/types.h> before <sys/stat.h>.  Include
61816         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
61817         (test_dir): Remove.
61818         (mkancesdirs): Return length of prefix of FILE that has already
61819         been made, or -2 if there is a child doing the work.  Redo
61820         algorithm so that it is O(N) rather than O(N**2).  Optimize away
61821         ".", and treat ".." specially since it might stray back into
61822         already-created areas.  Use a subprocess if necessary.  New arg
61823         WD; all users changed.  MAKE_DIR function should now return 1
61824         if it creates a directory that is not readable.  Return -2 if
61825         a child process is spun off.
61826         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
61827         Adjust signature to match code.
61828         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
61829         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
61830         all users changed.
61831         * lib/savewd.c, lib/savewd.h: New files.
61832
61833 2006-09-15  Jim Meyering  <jim@meyering.net>
61834
61835         * modules/rename-dest-slash: New module.
61836         * MODULES.html.sh (posix_compat): Add it here.
61837
61838         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
61839
61840 2006-09-15  Jim Meyering  <jim@meyering.net>
61841
61842         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
61843         file.
61844
61845         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
61846
61847 2006-09-15  Jim Meyering  <jim@meyering.net>
61848
61849         * lib/rename-dest-slash.c (has_trailing_slash): Use
61850         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
61851         (rpl_rename_dest_slash): Perform the cheaper trailing slash
61852         test before testing whether SRC is a directory.
61853         Suggestions from Bruno Haible.
61854
61855         Avoid a warning about an unused variable.
61856         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
61857         into the #ifdef block where it's used.
61858
61859         * lib/rename-dest-slash.c: New file.
61860
61861 2006-09-14  Bruno Haible  <bruno@clisp.org>
61862
61863         * lib/allocsa.c: Include <config.h> unconditionally.
61864         * lib/asnprintf.c: Likewise.
61865         * lib/asprintf.c: Likewise.
61866         * lib/c-strcasecmp.c: Likewise.
61867         * lib/c-strcasestr.c: Likewise.
61868         * lib/c-strncasecmp.c: Likewise.
61869         * lib/c-strstr.c: Likewise.
61870         * lib/classpath.c: Likewise.
61871         * lib/clean-temp.c: Likewise.
61872         * lib/concatpath.c: Likewise.
61873         * lib/copy-file.c: Likewise.
61874         * lib/csharpcomp.c: Likewise.
61875         * lib/csharpexec.c: Likewise.
61876         * lib/execute.c: Likewise.
61877         * lib/fatal-signal.c: Likewise.
61878         * lib/findprog.c: Likewise.
61879         * lib/fwriteerror.c: Likewise.
61880         * lib/gl_array_list.c: Likewise.
61881         * lib/gl_array_oset.c: Likewise.
61882         * lib/gl_avltree_list.c: Likewise.
61883         * lib/gl_avltree_oset.c: Likewise.
61884         * lib/gl_avltreehash_list.c: Likewise.
61885         * lib/gl_carray_list.c: Likewise.
61886         * lib/gl_linked_list.c: Likewise.
61887         * lib/gl_linkedhash_list.c: Likewise.
61888         * lib/gl_list.c: Likewise.
61889         * lib/gl_oset.c: Likewise.
61890         * lib/gl_rbtree_list.c: Likewise.
61891         * lib/gl_rbtree_oset.c: Likewise.
61892         * lib/gl_rbtreehash_list.c: Likewise.
61893         * lib/imaxabs.c: Likewise.
61894         * lib/imaxdiv.c: Likewise.
61895         * lib/javacomp.c: Likewise.
61896         * lib/javaexec.c: Likewise.
61897         * lib/javaversion.c: Likewise.
61898         * lib/linebreak.c: Likewise.
61899         * lib/localcharset.c: Likewise.
61900         * lib/lock.c: Likewise.
61901         * lib/mbchar.c: Likewise.
61902         * lib/mbswidth.c: Likewise.
61903         * lib/mkdtemp.c: Likewise.
61904         * lib/pipe.c: Likewise.
61905         * lib/printf-args.c: Likewise.
61906         * lib/printf-parse.c: Likewise.
61907         * lib/progname.c: Likewise.
61908         * lib/progreloc.c: Likewise.
61909         * lib/readlink.c: Likewise.
61910         * lib/sh-quote.c: Likewise.
61911         * lib/stpcpy.c: Likewise.
61912         * lib/stpncpy.c: Likewise.
61913         * lib/strcasecmp.c: Likewise.
61914         * lib/strcasestr.c: Likewise.
61915         * lib/strcspn.c: Likewise.
61916         * lib/striconv.c: Likewise.
61917         * lib/strncasecmp.c: Likewise.
61918         * lib/strnlen1.c: Likewise.
61919         * lib/strstr.c: Likewise.
61920         * lib/strtok_r.c: Likewise.
61921         * lib/tls.c: Likewise.
61922         * lib/tmpdir.c: Likewise.
61923         * lib/unicodeio.c: Likewise.
61924         * lib/unsetenv.c: Likewise.
61925         * lib/vasnprintf.c: Likewise.
61926         * lib/vasprintf.c: Likewise.
61927         * lib/wait-process.c: Likewise.
61928         * lib/xallocsa.c: Likewise.
61929         * lib/xsetenv.c: Likewise.
61930         * lib/xstriconv.c: Likewise.
61931
61932 2006-09-13  Simon Josefsson  <jas@extundo.com>
61933
61934         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
61935         that internally, suggested by Ralf Wildenhues
61936         <Ralf.Wildenhues@gmx.de>.
61937
61938 2006-09-13  Simon Josefsson  <jas@extundo.com>
61939
61940         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
61941         @LIBOBJS@.
61942         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
61943
61944 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
61945
61946         * lib/_fpending.c: Include <config.h> unconditionally, since we no
61947         longer worry about uses that don't define HAVE_CONFIG_H.
61948         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
61949         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
61950         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
61951         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
61952         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
61953         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
61954         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
61955         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
61956         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
61957         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
61958         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
61959         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
61960         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
61961         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
61962         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
61963         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
61964         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
61965         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
61966         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
61967         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
61968         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
61969         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
61970         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
61971         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
61972         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
61973         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
61974         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
61975         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
61976         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
61977         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
61978         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
61979         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
61980         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
61981         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
61982         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
61983         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
61984         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
61985         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
61986         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
61987         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
61988         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
61989         Likewise.
61990
61991 2006-09-13  Eric Blake  <ebb9@byu.net>
61992
61993         * lib/getopt.c: Fix typo in last commit.
61994
61995 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
61996
61997         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
61998         dgettext.
61999
62000 2006-09-12  Jim Meyering  <jim@meyering.net>
62001
62002         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
62003         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
62004         Reported by Nelson H. F. Beebe.
62005
62006 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
62007
62008         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
62009         program_invocation_name and program_invocation_short_name are
62010         initialized.
62011         * lib/argp-namefrob.h: Move declarations of program_invocation_name
62012         and program_invocation_short_name to argp.h, so they are visible
62013         to user programs.
62014         * lib/argp.h: Likewise
62015
62016 2006-09-10  Bruno Haible  <bruno@clisp.org>
62017
62018         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
62019         m4/inttypes_h.m4, m4/uintmax_t.m4.
62020
62021 2006-09-10  Bruno Haible  <bruno@clisp.org>
62022
62023         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
62024         gl_AC_TYPE_UINTMAX_T.
62025
62026 2006-09-10  Bruno Haible  <bruno@clisp.org>
62027
62028         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
62029
62030 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
62031
62032         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
62033         convention.  Text proposed by Bruno Haible.
62034         (struct argp_option): Document the use of N_() wrappers.
62035
62036         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
62037         '\v', and translate the two parts separately, instead of feeding
62038         the whole string to gettext.  This allows to exclude
62039         '\v' from the strings visible to the translator by writing doc
62040         strings as N_("..") "\v" N_("..").
62041
62042 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
62043
62044         * config/srclist.txt: Undo latest change; the bug was fixed.
62045
62046 2006-09-09  Bruno Haible  <bruno@clisp.org>
62047
62048         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
62049         assignments if building a library without libtool.
62050         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
62051         in func_emit_lib_Makefile_am.
62052         (func_import): When building a static library libfoo.a, arrange to
62053         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
62054         (func_create_testdir): Likewise.
62055         * modules/gc (configure.ac, Makefile.am): If building statically,
62056         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
62057         * modules/iconvme (configure.ac, Makefile.am): Likewise.
62058         * modules/striconv (configure.ac, Makefile.am): Likewise.
62059         Based on a suggestion by Ralf Wildenhues.
62060
62061 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
62062
62063         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
62064         Check for unistd.h too, since Autoconf doesn't assume POSIX.
62065         Also:
62066
62067         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
62068         Add year_2050_test to catch glibc bug 2821
62069         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
62070
62071         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
62072         Prefer #ifdef to #if.
62073
62074         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
62075         Return from 'main' instead of calling 'exit'.
62076
62077 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
62078
62079         * lib/mktime.c (guess_time_tm): Fix bug where mktime
62080         returned the maximum time_t value rather than (time_t) -1.
62081         Problem originally reported by William Bardwell
62082         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
62083
62084         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
62085         Moved to here ...
62086         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
62087         ... from here.
62088
62089 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
62090
62091         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
62092         2821 is fixed.
62093
62094 2006-09-08  Jim Meyering  <jim@meyering.net>
62095
62096         Don't make generated files read-only.  That would bother too many
62097         people.  However, do retain the ability to work when targets are
62098         read-only: remove the destination and temporary files before writing
62099         them (when generated via sed or echo), or by using the -f option for
62100         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
62101         * modules/alloca-opt, modules/argz, modules/arpa_inet:
62102         * modules/byteswap, modules/configmake, modules/fcntl:
62103         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
62104         * modules/localcharset, modules/netinet_in, modules/poll:
62105         * modules/stdbool, modules/stdint, modules/sys_select:
62106         * modules/sys_socket, modules/sys_stat, modules/sysexits:
62107
62108 2006-09-08  Jim Meyering  <jim@meyering.net>
62109
62110         Avoid new build failure on FreeBSD 6.0.
62111         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
62112         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
62113         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
62114
62115 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62116
62117         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
62118
62119 2006-09-07  Jim Meyering  <jim@meyering.net>
62120
62121         Fix global typo in last change: use chmod u-w, not chmod u-x.
62122         Spotted by Paul Eggert and Bruce Korb.
62123         * modules/alloca-opt, modules/argz, modules/arpa_inet:
62124         * modules/byteswap, modules/configmake, modules/fcntl:
62125         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
62126         * modules/localcharset, modules/netinet_in, modules/poll:
62127         * modules/stdbool, modules/stdint, modules/sys_select:
62128         * modules/sys_socket, modules/sys_stat, modules/sysexits:
62129
62130 2006-09-06  Jim Meyering  <jim@meyering.net>
62131
62132         Make generated files be read-only.
62133         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
62134         Ensure that each generated file is now read-only.
62135         * modules/argz: Likewise.
62136         * modules/arpa_inet: Likewise.
62137         * modules/byteswap: Likewise.
62138         * modules/configmake: Likewise.
62139         * modules/fcntl: Likewise.
62140         * modules/fnmatch: Likewise.
62141         * modules/getopt: Likewise.
62142         * modules/glob: Likewise.
62143         * modules/inttypes: Likewise.
62144         * modules/netinet_in: Likewise.
62145         * modules/poll: Likewise.
62146         * modules/stdbool: Likewise.
62147         * modules/stdint: Likewise.
62148         * modules/sys_select: Likewise.
62149         * modules/sys_socket: Likewise.
62150         * modules/sys_stat: Likewise.
62151         * modules/sysexits: Likewise.
62152         * modules/localcharset: Same as above, but continue using temporary
62153         file named "t-$@" (why different?) rather than the "$@-t" used
62154         everywhere else.
62155
62156         * modules/sysexits (Makefile.am): Replace literal occurrences
62157         of "sysexit.h" more readable, and more consistent, "$@".
62158
62159 2006-09-06  Bruno Haible  <bruno@clisp.org>
62160
62161         * modules/striconv: New file.
62162         * modules/xstriconv: New file.
62163         * MODULES.html.sh (Internationalization functions): Add striconv,
62164         xstriconv.
62165
62166 2006-09-06  Bruno Haible  <bruno@clisp.org>
62167
62168         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
62169         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
62170         not using libtool correctly.
62171
62172 2006-09-06  Bruno Haible  <bruno@clisp.org>
62173
62174         * lib/striconv.h: New file.
62175         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
62176         iconvstring.c.
62177         * lib/xstriconv.h: New file.
62178         * lib/xstriconv.c: New file.
62179
62180 2006-09-06  Bruno Haible  <bruno@clisp.org>
62181
62182         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
62183         lib_..._LDFLAGS.
62184
62185 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62186
62187         * lib/argz_.h: Sync from Libtool.
62188
62189         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
62190                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
62191
62192         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
62193
62194 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
62195
62196         * modules/trim: New file.
62197
62198 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
62199
62200         * lib/trim.h: New file.
62201         * lib/trim.c: New file.
62202
62203 2006-09-05  Bruno Haible  <bruno@clisp.org>
62204
62205         * MODULES.html.sh (String handling): Add trim.
62206
62207 2006-09-04  Karl Berry  <karl@gnu.org>
62208
62209         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
62210         until next release.
62211
62212 2006-09-03  Bruno Haible  <bruno@clisp.org>
62213
62214         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
62215         correctly.
62216
62217 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
62218
62219         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
62220         not gl_GETLOADAVG.  Omit unneeded semicolons.
62221         Problems reported by Ralf Wildenhues in
62222         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
62223         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
62224         at the end, which is the usual gnulib style.
62225
62226         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
62227         of doing all the work ourselves.
62228         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
62229         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
62230
62231 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
62232
62233         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
62234         Problem reported by Ralf Wildenhues in
62235         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
62236
62237         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
62238         HAVE_STRUCT_STATFS_F_FSTYPENAME.
62239
62240 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
62241
62242         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
62243         yesterday's patch by changing test -n to test -z.
62244
62245 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
62246
62247         * modules/getloadavg (Files): Add m4/getloadavg.m4.
62248         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
62249         the former is now obsolescent.
62250
62251         * modules/chdir-long (Depends-on): Add fcntl.
62252
62253 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
62254
62255         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
62256         obsolescent, and programs should use gnulib instead.
62257         * m4/getloadavg.m4: New file, with contents taken from Autoconf
62258         but with prefixes changed.
62259
62260 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
62261
62262         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
62263         or stdbool.h, because they might not exist while configuring.
62264
62265         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
62266         Don't include unistd.h or limits.h; not needed, since chdir-long.h
62267         does that for us.
62268         (O_DIRECTORY): Remove.
62269
62270 2006-08-31  Eric Blake  <ebb9@byu.net>
62271
62272         * gnulib-tool: Don't let emacs change spaces to TAB.
62273
62274 2006-08-31  Bruno Haible  <bruno@clisp.org>
62275
62276         * gnulib-tool: When calling func_import more than once, do it in a
62277         subshell.
62278         Reported by Eric Blake <ebb9@byu.net>.
62279
62280 2006-08-31  Bruno Haible  <bruno@clisp.org>
62281
62282         * gnulib-tool (nl): Remove variable.
62283         (sed_transform_lib_file): Use more robust test for config-h module.
62284         (func_import): Fix typo in 2006-08-25 patch.
62285
62286 2006-08-31  Bruno Haible  <bruno@clisp.org>
62287
62288         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
62289         specified, augment Makefile.am variables instead of assigning them.
62290
62291 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
62292
62293         Work around a bug in both the Linux and SunOS 64-bit kernels:
62294         nanosleep mishandles sleeps for longer than 2**31 seconds.
62295         Problem reported by Frank v Waveren in
62296         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
62297         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
62298         Check for nanosleep bug.
62299         (LIB_NANOSLEEP): Append clock_gettime library if needed.
62300
62301 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
62302
62303         Work around a bug in both the Linux and SunOS 64-bit kernels:
62304         nanosleep mishandles sleeps for longer than 2**31 seconds.
62305         Problem reported by Frank v Waveren in
62306         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
62307         * lib/nanosleep.c (BILLION): New constant.
62308         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
62309         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
62310         implementation.
62311
62312 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
62313
62314         * modules/nanosleep (Depends-on): Add gettime.
62315
62316 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
62317         and Simon Josefsson  <jas@extundo.com>
62318         and Oskar Liljeblad  <oskar@osk.mine.nu>
62319
62320         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
62321         * gnulib-tool (func_import): New license type 'unmodifiable license
62322         text'.
62323         * modules/fdl: Use it.  Longer description.
62324         * module/gpl, module/lgpl: New files.
62325
62326 2006-08-30  Jim Meyering  <jim@meyering.net>
62327
62328         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
62329         shadowing the parameter.
62330
62331 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62332
62333         Sync from Libtool:
62334
62335         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62336
62337         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
62338         sharing with gnulib.  Report by Eric Blake.
62339
62340 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
62341
62342         * modules/isapipe: New file.
62343         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
62344
62345 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
62346
62347         * modules/configmake (Makefile.am): Add a comment, and omit
62348         the CONFIGMAKE_ prefix from generated macro names.  Suggested
62349         by Bruno Haible.
62350
62351 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
62352
62353         * m4/isapipe.m4: New file.
62354
62355 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
62356
62357         * lib/isapipe.c, lib/isapipe.h: New files.
62358
62359 2006-08-29  Jim Meyering  <jim@meyering.net>
62360
62361         * modules/configmake (Makefile.am): Make configmake.h depend on
62362         Makefile.  Otherwise, a stale configmake.h could hang around.
62363
62364 2006-08-29  Eric Blake  <ebb9@byu.net>
62365
62366         * lib/error.c (error_at_line, print_errno_message): Match libc, after
62367         resolution of upstream bug 3044.
62368
62369 2006-08-29  Bruno Haible  <bruno@clisp.org>
62370
62371         * modules/localcharset (Depends-on): Add configmake.
62372         (Makefile.am): Remove setting of LIBDIR through DEFS.
62373
62374 2006-08-29  Bruno Haible  <bruno@clisp.org>
62375
62376         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
62377         defined.
62378
62379 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
62380
62381         * modules/fcntl: New file.
62382         * modules/chdir-safer (Depends-on): Add fcntl.
62383         * modules/fts: Likewise.
62384         * modules/mkdir-p: Likewise.
62385
62386         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
62387         This undoes the most recent change, since we're now addressing the
62388         problem in a different way.
62389
62390         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
62391         into output, since the output might be called Makefile.am even
62392         if $makefile_name is something different.
62393         (func_import): Use $makefile_am rather than
62394         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
62395         empty.
62396
62397         * modules/inttypes (Files): Add m4/inttypes-h.m4.
62398
62399 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
62400
62401         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
62402         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
62403         recent change to stdint.m4, since we're now addressing the problem in a
62404         different way.
62405
62406 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
62407
62408         * m4/fcntl_h.m4: New file.
62409
62410 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
62411
62412         * lib/fcntl_.h: New file.
62413         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
62414         the fcntl module.
62415         * lib/dirchownmod.c: Likewise.
62416         * lib/fts.c: Likewise.
62417
62418         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
62419         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
62420         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
62421         just before including <inttypes.h>, to avoid circular inclusion.
62422
62423 2006-08-28  Jim Meyering  <jim@meyering.net>
62424
62425         * doc/visibility.texi: Actually read and correct the grammar of the
62426         sentence affected by yesterday's change.
62427
62428 2006-08-28  Eric Blake  <ebb9@byu.net>
62429
62430         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
62431         needs wrapper.
62432
62433 2006-08-28  Eric Blake  <ebb9@byu.net>
62434
62435         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
62436
62437 2006-08-28  Eric Blake  <ebb9@byu.net>
62438
62439         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
62440
62441 2006-08-28  Bruno Haible  <bruno@clisp.org>
62442
62443         * modules/c-strstr: New file, from GNU gettext.
62444         * MODULES.html.sh (String handling): Add c-strstr.
62445
62446 2006-08-28  Bruno Haible  <bruno@clisp.org>
62447
62448         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
62449         macros.
62450         Reported by Eric Blake.
62451
62452 2006-08-28  Bruno Haible  <bruno@clisp.org>
62453
62454         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
62455         (VASNPRINTF): Return a string of length > INT_MAX without failing.
62456         * lib/vasprintf.c: Include errno.h, limits.h.
62457         (EOVERFLOW): New fallback definition.
62458         (vasprintf): Test here whether the string length is > INT_MAX.
62459         * lib/vsnprintf.c: Include errno.h, limits.h.
62460         (EOVERFLOW): New fallback definition.
62461         (vsnprintf): Fix bug when generated string was too long for the buffer.
62462         Test here whether the string length is > INT_MAX.
62463
62464 2006-08-28  Bruno Haible  <bruno@clisp.org>
62465
62466         * lib/inttypes_.h (SCNX*): Remove definitions.
62467         Reported by Eric Blake.
62468
62469 2006-08-28  Bruno Haible  <bruno@clisp.org>
62470
62471         * lib/c-strstr.h: New file, from GNU gettext.
62472         * lib/c-strstr.c: New file, from GNU gettext.
62473
62474 2006-08-28  Bruno Haible  <bruno@clisp.org>
62475
62476         * gnulib-tool: Reorder some statements.
62477
62478 2006-08-28  Bruno Haible  <bruno@clisp.org>
62479
62480         * gnulib-tool: New option --makefile-name.
62481         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
62482         $makefile_name.
62483         (func_import): Write $makefile_name to the cache file, and read it from
62484         there unless explicitly specified. Use $makefile_name as file name
62485         instead of Makefile.am. Adjust the recommendations accordingly.
62486
62487 2006-08-28  Bruno Haible  <bruno@clisp.org>
62488
62489         * gnulib-tool (func_verify_module): Check against misapplying patch.
62490
62491 2006-08-28  Bruno Haible  <bruno@clisp.org>
62492
62493         * gnulib-tool (func_relativize, func_relconcat): New functions.
62494         Give an error if --local-dir is given with --update.
62495         Remove trailing slashes from $local_gnulib_dir.
62496         (func_import): Store the relativized $local_gnulib_dir in
62497         gnulib-cache.m4, and read it from there if not specified explicitly.
62498
62499 2006-08-28  Bruno Haible  <bruno@clisp.org>
62500
62501         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
62502         is the current directory. Respect also $local_gnulib_dir.
62503
62504 2006-08-28  Bruno Haible  <bruno@clisp.org>
62505             Simon Josefsson  <jas@extundo.com>
62506
62507         BeOS portability.
62508         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
62509
62510 2006-08-27  Jim Meyering  <jim@meyering.net>
62511
62512         * doc/visibility.texi: Remove duplicate word: "pointer".
62513
62514 2006-08-26  Bruno Haible  <bruno@clisp.org>
62515
62516         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
62517         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
62518         (Makefile.am): Create inttypes.h from inttypes_.h.
62519         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
62520
62521         * modules/imaxabs: New file.
62522
62523         * modules/imaxdiv: New file.
62524
62525 2006-08-26  Bruno Haible  <bruno@clisp.org>
62526
62527         * m4/inttypes.m4: New file.
62528         * m4/_inttypes_h.m4: Remove file.
62529         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
62530         PRI_MACROS_BROKEN.
62531         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
62532
62533         * m4/imaxabs.m4: New file.
62534
62535         * m4/imaxdiv.m4: New file.
62536
62537 2006-08-26  Bruno Haible  <bruno@clisp.org>
62538
62539         * lib/inttypes_.h: New file.
62540         * lib/inttypes.h: Remove file.
62541         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
62542
62543         * lib/imaxabs.c: New file.
62544
62545         * lib/imaxdiv.c: New file.
62546
62547 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
62548
62549         New config-h module, so that "make" output needn't be cluttered
62550         by -DHAVE_CONFIG_H.
62551         * MODULES.html.sh (Support for building libraries and executables):
62552         Add config-h.
62553         * modules/config-h: New file.
62554         * gnulib-tool (nl, sed_transform_lib_file): New vars.
62555         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
62556         the config-h module is used.
62557
62558         New configmake module, so that "make" output needn't be cluttered
62559         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
62560         * MODULES.html.sh (Support for building libraries and executables):
62561         Add configmake.
62562         * modules/configmake: New file.
62563
62564 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
62565
62566         * m4/config-h.m4: New file.
62567
62568 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
62569
62570         * config/srclist.txt: Add elisp-comp.
62571
62572 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
62573
62574         * MODULES.html.sh (Support for building libraries and executables):
62575         Add elisp-comp.
62576         * build-aux/elisp-comp: New file.
62577         * modules/elisp-comp: New file.
62578
62579 2006-08-24  Bruno Haible  <bruno@clisp.org>
62580
62581         * gnulib-tool (func_create_testdir): Use non-default values of
62582         sourcebase and m4base.
62583
62584 2006-08-24  Bruno Haible  <bruno@clisp.org>
62585
62586         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
62587         HTML structure.
62588
62589 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
62590
62591         * modules/openat (Depends-on): Add lchown.
62592
62593 2006-08-23  Bruno Haible  <bruno@clisp.org>
62594
62595         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
62596         of gl_LOCK_EARLY instead of gl_LOCK.
62597
62598 2006-08-23  Bruno Haible  <bruno@clisp.org>
62599
62600         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
62601         on OSF/1 to no.
62602         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
62603
62604 2006-08-23  Bruno Haible  <bruno@clisp.org>
62605
62606         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
62607         as unusable.
62608
62609         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
62610         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
62611         (gl_LOCK): New macro.
62612
62613 2006-08-22  Simon Josefsson  <jas@extundo.com>
62614
62615         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
62616         to md5 module.
62617
62618 2006-08-22  Simon Josefsson  <jas@extundo.com>
62619
62620         * MODULES.html.sh: Add "Support for maintaining and release
62621         projects".
62622
62623         * build-aux/gnupload: New file, from coreutils.
62624
62625 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
62626
62627         Avoid the need for AC_LIBSOURCES in m4 macros.
62628         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
62629         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
62630         * modules/check-version (EXTRA_DIST): Add check-version.h.
62631         * modules/crc (EXTRA_DIST): Add crc.h.
62632         * modules/des (EXTRA_DIST): Add des.h.
62633         * modules/gc (EXTRA_DIST): Add gc.h.
62634         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
62635         * modules/getline (EXTRA_DIST): Add getline.h.
62636         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
62637         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
62638         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
62639         * modules/md2 (EXTRA_DIST): Add md2.h.
62640         * modules/md4 (EXTRA_DIST): Add md4.h.
62641         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
62642         * modules/read-file (EXTRA_DIST): Add read-file.h.
62643         * modules/readline (EXTRA_DIST): Add readline.h.
62644         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
62645         rijndael-api-fst.h.
62646
62647 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
62648
62649         * m4/rijndael.m4 (gl_ARCFOUR):
62650         * m4/arctwo.m4 (gl_ARCTWO):
62651         * m4/check-version.m4 (gl_CHECK_VERSION):
62652         * m4/crc.m4 (gl_CRC):
62653         * m4/des.m4 (gl_DES):
62654         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
62655         * m4/gc.m4 (gl_GC):
62656         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
62657         * m4/getline.m4 (gl_FUNC_GETLINE):
62658         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
62659         * m4/hmac-md5.m4 (gl_HMAC_MD5):
62660         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
62661         * m4/md2.m4 (gl_MD2):
62662         * m4/md4.m4 (gl_MD4):
62663         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
62664         * m4/read-file.m4 (gl_FUNC_READ_FILE):
62665         * m4/readline.m4 (gl_FUNC_READLINE):
62666         * m4/rijndael.m4 (gl_RIJNDAEL):
62667         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
62668         to get the necessary .h files and whatnot.
62669
62670 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
62671
62672         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
62673         gnulib rather than the other way around.
62674         * config/srclistvars.sh (COREUTILS): Remove.
62675
62676 2006-08-22  Jim Meyering  <jim@meyering.net>
62677
62678         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
62679
62680         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
62681
62682 2006-08-22  Eric Blake  <ebb9@byu.net>
62683
62684         * modules/regexprops-generic: New file.
62685         * MODULES.html.sh (Support for building documentation): List it.
62686
62687 2006-08-22  Eric Blake  <ebb9@byu.net>
62688
62689         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
62690         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
62691         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
62692         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
62693
62694 2006-08-22  Bruno Haible  <bruno@clisp.org>
62695
62696         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
62697         and lib_LTLIBRARIES like the other lib_* variables.
62698
62699 2006-08-22  Bruno Haible  <bruno@clisp.org>
62700
62701         * build-aux/x-to-1.in: New file, from GNU gettext.
62702
62703 2006-08-22  Bruno Haible  <bruno@clisp.org>
62704
62705         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
62706         <utmpx.h> exists.
62707
62708 2006-08-22  Bruno Haible  <bruno@clisp.org>
62709
62710         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
62711         <utmpx.h> exists.
62712
62713 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
62714
62715         BeOS portability.
62716         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
62717         exist.
62718         Problem reported by Bruno Haible.
62719
62720 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
62721
62722         Avoid the need for AC_LIBSOURCES in m4 macros.
62723         * modules/acl (EXTRA_DIST): Add acl.h.
62724         * modules/argmatch (Files): Add m4/argmatch.m4.
62725         (configure.ac): Add gl_ARGMATCH.
62726         (EXTRA_DIST): Renamed from lib_SOURCES, for
62727         consistency with the other modules.  Remove argmatch.c.
62728         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
62729         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
62730         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
62731         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
62732         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
62733         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
62734         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
62735         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
62736         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
62737         * modules/closeout (EXTRA_DIST): Add closeout.h.
62738         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
62739         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
62740         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
62741         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
62742         dirname.h; remove basename.c and stripslash.c.
62743         * modules/exclude (EXTRA_DIST): Add exclude.h.
62744         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
62745         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
62746         * modules/file-type (EXTRA_DIST): Add file-type.h.
62747         * modules/filemode (EXTRA_DIST): Add filemode.h.
62748         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
62749         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
62750         * modules/fpending (EXTRA_DIST): Add __fpending.h.
62751         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
62752         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
62753         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
62754         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
62755         * modules/getdate (EXTRA_DIST): Add getdate.c.
62756         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
62757         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
62758         * modules/getpass (EXTRA_DIST): Add getpass.h.
62759         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
62760         * modules/group-member (EXTRA_DIST): Add group-member.h.
62761         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
62762         * modules/hash (EXTRA_DIST): Add hash.h.
62763         * modules/human (EXTRA_DIST): Add human.h.
62764         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
62765         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
62766         * modules/lchown (EXTRA_DIST): Add lchown.h.
62767         * modules/long-options (EXTRA_DIST): Add long-options.h.
62768         * modules/lstat (EXTRA_DIST): Add lstat.h.
62769         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
62770         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
62771         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
62772         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
62773         * modules/memxor (EXTRA_DIST): Add memxor.h.
62774         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
62775         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
62776         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
62777         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
62778         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
62779         * modules/physmem (EXTRA_DIST): Add physmem.h.
62780         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
62781         * modules/posixver (EXTRA_DIST): Add posixver.h.
62782         * modules/quote (EXTRA_DIST): Add quote.h.
62783         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
62784         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
62785         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
62786         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
62787         regex_internal.h regexec.c.
62788         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
62789         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
62790         * modules/same (EXTRA_DIST): Add same.h.
62791         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
62792         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
62793         * modules/savedir (EXTRA_DIST): Add savedir.h.
62794         * modules/sha1 (EXTRA_DIST): Add sha1.h.
62795         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
62796         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
62797         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
62798         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
62799         * modules/strdup (EXTRA_DIST): Add strdup.h.
62800         * modules/strftime (EXTRA_DIST): Add strftime.h.
62801         * modules/strndup (EXTRA_DIST): Add strndup.h.
62802         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
62803         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
62804         * modules/time_r (EXTRA_DIST): Add time_r.h.
62805         * modules/timespec (EXTRA_DIST): Add timespec.h.
62806         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
62807         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
62808         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
62809         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
62810         * modules/userspec (EXTRA_DIST): Add userspec.h.
62811         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
62812         * modules/utimens (EXTRA_DIST): Add utimens.h.
62813         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
62814         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
62815         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
62816         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
62817         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
62818         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
62819         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
62820         * modules/yesno (EXTRA_DIST): Add yesno.h.
62821
62822 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
62823
62824         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
62825
62826         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
62827         * m4/dev-ino.m4, same-inode.m4: Remove.
62828
62829         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
62830         * m4/acl.m4 (AC_FUNC_ACL):
62831         * m4/backupfile.m4 (gl_BACKUPFILE):
62832         * m4/c-strtod.m4 (gl_C99_STRTOLD):
62833         * m4/canon-host.m4 (gl_CANON_HOST):
62834         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
62835         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
62836         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
62837         * m4/cloexec.m4 (gl_CLOEXEC):
62838         * m4/close-stream.m4 (gl_CLOSE_STREAM):
62839         * m4/closeout.m4 (gl_CLOSEOUT):
62840         * m4/dirfd.m4 (gl_FUNC_DIRFD):
62841         * m4/dirname.m4 (gl_DIRNAME):
62842         * m4/exclude.m4 (gl_EXCLUDE):
62843         * m4/exitfail.m4 (gl_EXITFAIL):
62844         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
62845         * m4/file-type.m4 (gl_FILE_TYPE):
62846         * m4/filemode.m4 (gl_FILEMODE):
62847         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
62848         * m4/fpending.m4 (gl_FUNC_FPENDING):
62849         * m4/fprintftime.m4 (gl_FPRINTFTIME):
62850         * m4/fts.m4 (gl_FUNC_FTS):
62851         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
62852         * m4/getdate.m4 (gl_GETDATE):
62853         * m4/gethrxtime.m4 (gl_GETHRXTIME):
62854         * m4/getpagesize.m4 (gl_GETPAGESIZE):
62855         * m4/getpass.m4 (gl_FUNC_GETPASS):
62856         * m4/gettime.m4 (gl_GETTIME):
62857         * m4/getugroups.m4 (gl_GETUGROUPS):
62858         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
62859         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
62860         * m4/hard-locale.m4 (gl_HARD_LOCALE):
62861         * m4/hash.m4 (gl_HASH):
62862         * m4/idcache.m4 (gl_IDCACHE):
62863         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
62864         * m4/lchown.m4 (gl_FUNC_LCHOWN):
62865         * m4/long-options.m4 (gl_LONG_OPTIONS):
62866         * m4/lstat.m4 (gl_FUNC_LSTAT):
62867         * m4/md5.m4 (gl_MD5):
62868         * m4/memcasecmp.m4 (gl_MEMCASECMP):
62869         * m4/memcoll.m4 (gl_MEMCOLL):
62870         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
62871         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
62872         * m4/memxor.m4 (gl_MEMXOR):
62873         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
62874         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
62875         * m4/modechange.m4 (gl_MODECHANGE):
62876         * m4/mountlist.m4 (gl_MOUNTLIST):
62877         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
62878         * m4/openat.m4 (gl_FUNC_OPENAT):
62879         * m4/pathmax.m4 (gl_PATHMAX):
62880         * m4/physmem.m4 (gl_PHYSMEM):
62881         * m4/posixtm.m4 (gl_POSIXTM):
62882         * m4/posixver.m4 (gl_POSIXVER):
62883         * m4/quote.m4 (gl_QUOTE):
62884         * m4/quotearg.m4 (gl_QUOTEARG):
62885         * m4/readtokens.m4 (gl_READTOKENS):
62886         * m4/readutmp.m4 (gl_READUTMP):
62887         * m4/regex.m4 (gl_REGEX):
62888         * m4/safe-read.m4 (gl_SAFE_READ):
62889         * m4/safe-write.m4 (gl_SAFE_WRITE):
62890         * m4/same.m4 (gl_SAME):
62891         * m4/save-cwd.m4 (gl_SAVE_CWD):
62892         * m4/savedir.m4 (gl_SAVEDIR):
62893         * m4/settime.m4 (gl_SETTIME):
62894         * m4/sha1.m4 (gl_SHA1):
62895         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
62896         * m4/stat-macros.m4 (gl_STAT_MACROS):
62897         * m4/stat-time.m4 (gl_STAT_TIME):
62898         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
62899         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
62900         * m4/strdup.m4 (gl_FUNC_STRDUP):
62901         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
62902         * m4/strndup.m4 (gl_FUNC_STRNDUP):
62903         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
62904         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
62905         * m4/time_r.m4 (gl_TIME_R):
62906         * m4/timespec.m4 (gl_TIMESPEC):
62907         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
62908         * m4/unlinkdir.m4 (gl_UNLINKDIR):
62909         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
62910         * m4/userspec.m4 (gl_USERSPEC):
62911         * m4/utimecmp.m4 (gl_UTIMECMP):
62912         * m4/utimens.m4 (gl_UTIMENS):
62913         * m4/xalloc.m4 (gl_XALLOC):
62914         * m4/xgetcwd.m4 (gl_XGETCWD):
62915         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
62916         * m4/xreadlink.m4 (gl_XREADLINK):
62917         * m4/xstrtod.m4 (gl_XSTRTOD):
62918         * m4/yesno.m4 (gl_YESNO):
62919         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
62920         to get the necessary .h files and whatnot.
62921
62922 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
62923             Bruno Haible  <bruno@clisp.org>
62924
62925         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
62926         /bin/sh understanding of '!' conditional negation.
62927
62928 2006-08-21  Jim Meyering  <jim@meyering.net>
62929
62930         * modules/openat (Depends-on): Really alphabetize.
62931
62932         * modules/acl (Depends-on): Add error and quote.
62933
62934         * check-module (find_included_lib_files): Add at-func.c to the
62935         ok-to-include-more-than-once white list.
62936
62937         * modules/openat (Depends-on): Add lstat.  Alphabetize.
62938
62939 2006-08-21  Bruno Haible  <bruno@clisp.org>
62940
62941         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
62942         Emit a pkgdata_DATA variable only if some snippets add contents to it.
62943         Reported by Martin Lambers <marlam@marlam.de>.
62944
62945 2006-08-21  Bruno Haible  <bruno@clisp.org>
62946
62947         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
62948         specify an installation location, don't emit a noinst_LIBRARIES or
62949         noinst_LTLIBRARIES assignment.
62950
62951 2006-08-21  Bruno Haible  <bruno@clisp.org>
62952
62953         BeOS portability.
62954         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
62955         BeOS has mbrtowc() but no <wctype.h>.
62956
62957 2006-08-21  Bruno Haible  <bruno@clisp.org>
62958
62959         BeOS portability.
62960         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
62961         exist.
62962
62963 2006-08-21  Bruno Haible  <bruno@clisp.org>
62964
62965         BeOS portability.
62966         * lib/mbchar.h: Include <wctype.h> only if it exists.
62967
62968 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
62969
62970         Remove files that are no longer needed by their respective modules.
62971         * m4/obstack.m4: Remove.
62972         * m4/strerror_r.m4: Remove.
62973         * m4/uint32_t.m4: Remove.
62974         * m4/uintptr_t.m4: Remove.
62975         * m4/ullong_max.m4: Remove.
62976         * m4/xstrtoimax.m4: Remove.
62977         * m4/xstrtoumax.m4: Remove.
62978
62979         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
62980         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
62981         dependencies now capture this.
62982
62983         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
62984         Do not use AC_LIBSOURCES, since gnulib modules now do this.
62985         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
62986         * m4/human.m4 (gl_HUMAN): Likewise.
62987         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
62988         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
62989
62990         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
62991
62992         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
62993         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
62994         stdint.
62995         * m4/human.m4 (gl_HUMAN): Likewise.
62996         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
62997         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
62998         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
62999         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
63000         * m4/xstrtol (gl_XSTRTOL): Likewise.
63001
63002         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
63003         AC_TYPE_LONG_LONG_INT.
63004         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
63005         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
63006         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
63007         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
63008
63009         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
63010         on stdbool.
63011
63012         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
63013         (gl_PREREQ_XSTRTOUL): Remove.
63014
63015         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
63016
63017         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
63018         mode.
63019
63020 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
63021
63022         Add and change modules to make it easier for coreutils to use
63023         gnulib-tool.
63024         * modules/backupfile (Files): Remove m4/d-ino.m4.
63025         (Depends-on): Add d-ino.
63026         * modules/cycle-check (Depends-on): Add stdint.
63027         (lib_SOURCES): Add cycle-check.h.
63028         * modules/d-ino: New module.
63029         * modules/d-type: New module.
63030         * modules/error (Files): Remove m4/strerror_r.m4.
63031         * modules/filemode (Files): Add m4/st_dm_mode.m4.
63032         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
63033         m4/inttypes_h.m4, m4/uintmax_t.m4.
63034         (Depends-on): Add stdint.
63035         (lib_SOURCES): Add fsusage.h.
63036         * modules/getcwd (Files): Remove d-ino.m4.
63037         (Depends-on): Add d-ino.
63038         * modules/getndelim2 (Depends-on): Add stdint.
63039         * modules/glob (Files): Remove m4/d-type.m4.
63040         (Depends-on): Add d-type.
63041         * modules/host-os: New module.
63042         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
63043         m4/inttypes_h.m4, m4/uintmax_t.m4.
63044         * Depends-on: Add stdint.
63045         (lib_SOURCES): Add human.h.
63046         * modules/inttostr (Files): Remove m4/intmax_t.m4,
63047         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
63048         m4/uintmax_t.m4, m4/ulonglong.m4.
63049         (Depends-on): Add stdint.
63050         (EXTRA_DIST): Add inttostr.h.
63051         * modules/lchmod: New module.
63052         * modules/link-follow: New module.
63053         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
63054         (Depends-on): Add lchmod.
63055         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
63056         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
63057         (Depends-on): Add stdint.
63058         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
63059         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
63060         (Depends-on): Add stdint.
63061         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
63062         * modules/perl: New module.
63063         * modules/regex (Depends-on): Add stdint.
63064         * modules/rmdir-errno: New module.
63065         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
63066         m4/intmax_t.m4.
63067         (Depends-on): Add stdint.
63068         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
63069         m4/uintmax_t.m4.
63070         (Depends-on): Add stdint.
63071         * modules/unlink-busy: New module.
63072         * modules/utimecmp (Depends-on): Add stdint.
63073         * modules/uptime: New module.
63074         * modules/winsz-ioctl: New module.
63075         * modules/winsz-termios: New module.
63076         * modules/xnanosleep (Depends-on): Add nanosleep.
63077         * modules/ullong_max: Remove.
63078         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
63079         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
63080         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
63081         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
63082         (Depends-on): Add inttypes.
63083         (lib_SOURCES): Add xstrtol.h.
63084         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
63085         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
63086         * MODULES.html.sh: Move 'assert' into the assert section.
63087         Move 'dummy' into the linking section.
63088         Remove ullong_max.
63089         Add section for compatibility checks for POSIX:2001 functions,
63090         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
63091         winsz-ioctl, and winsz-termios into it.
63092         Add lchmod.
63093         Add top-level Misc section and put host-os, perl, and uptime
63094         into it.
63095
63096 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
63097
63098         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
63099         now assume the stdint module.  Do not include inttypes.h.
63100         * lib/fsusage.h: Likewise.
63101         * lib/getndelim2.c: Likewise.
63102         * lib/human.h: Likewise.
63103         * lib/inttostr.h: Likewise.
63104         * lib/obstack.c: Likewise.
63105         * lib/regex_internal.h: Likewise.
63106         * lib/tempname.c: Likewise.
63107         * lib/utimecmp.c: Likewise.
63108         * lib/xstrtol.h: Likewise.
63109
63110         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
63111
63112         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
63113         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
63114         * lib/xtime.h: Likewise.
63115
63116 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
63117
63118         * modules/openat (Files): Add lib/fchmodat.c.
63119         Fixes problem reported by Jay Youngman.
63120
63121 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
63122
63123         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
63124         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
63125
63126 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
63127             Bruno Haible  <bruno@clisp.org>
63128
63129         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
63130         and is a script that invokes bison. Tighten the code. Add comments.
63131
63132 2006-08-18  Jim Meyering  <jim@meyering.net>
63133
63134         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
63135         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
63136         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
63137         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
63138
63139 2006-08-18  Bruno Haible  <bruno@clisp.org>
63140
63141         * modules/bison-i18n: New file.
63142         * MODULES.html.sh (Internationalization functions): Add it.
63143
63144 2006-08-18  Bruno Haible  <bruno@clisp.org>
63145
63146         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
63147         sys/statvfs.h. When getmntinfo was found, check its declaration and
63148         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
63149
63150 2006-08-18  Bruno Haible  <bruno@clisp.org>
63151
63152         * m4/bison-i18n.m4: New file, from bison.
63153
63154 2006-08-18  Bruno Haible  <bruno@clisp.org>
63155
63156         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
63157         (ME_DUMMY): Treat "kernfs" as a dummy.
63158         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
63159
63160 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
63161
63162         Update from coreutils.
63163
63164         2006-08-15  Jim Meyering  <jim@meyering.net>
63165
63166         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
63167
63168         2006-01-17  Jim Meyering  <jim@meyering.net>
63169
63170         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
63171
63172         2006-01-11  Jim Meyering  <jim@meyering.net>
63173
63174         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
63175         Check for the lchmod function.
63176
63177 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
63178
63179         Update from coreutils.
63180
63181         * lib/__fpending.h: Add copyright notice.
63182         * lib/fprintftime.h: Likewise.
63183         * lib/savedir.c: Use (C) in copyright notice.
63184         * lib/savedir.h: Likewise.
63185
63186         2006-08-15  Jim Meyering  <jim@meyering.net>
63187
63188         * lib/at-func.c: New file, with the logic of all emulated at-functions.
63189         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
63190         in support of the EXPECTED_ERRNO macro.
63191         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
63192         definitions.  Instead, define the appropriate symbols and include
63193         "at-func.c".
63194         * lib/mkdirat.c (mkdirat): Likewise.
63195         * lib/fchmodat.c (fchmodat): Likewise.
63196         (ENOSYS): Remove definition.
63197         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
63198         it.  Don't include "unistd--.h" -- it wasn't ever used.
63199
63200         2006-01-17  Jim Meyering  <jim@meyering.net>
63201
63202         Rewrite fts.c not to change the current working directory,
63203         by using openat, fstatat, fdopendir, etc..
63204
63205         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
63206         (HAVE_OPENAT_SUPPORT): Define.
63207         [_LIBC] (fchdir): Don't undef or define; no longer used.
63208         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
63209         Now, this `function' always succeeds, and consumes its file descriptor
63210         parameter -- so callers must not close such FDs.  Update callers.
63211         (diropen_fd, opendirat, cwd_advance_fd): New functions.
63212         (diropen): Add parameter, SP.  Adjust all callers.
63213         Implement using diropen_fd, rather than open.
63214         (fts_open): Initialize new member, fts_cwd_fd.
63215         Remove fts_rft-setting code.
63216         (fts_close): Close fts_cwd_fd, if necessary.
63217         (__opendir2): Define in terms of opendir or opendirat,
63218         depending on whether the FST_NOCHDIR flag is set.
63219         (fts_build): Since fts_safe_changedir consumes its FD, and since
63220         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
63221         and close the dup'd file descriptor upon failure.
63222         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
63223         (fts_safe_changedir): Tweak semantics to reflect that this function
63224         now calls cwd_advance_fd and hence consumes its FD argument.
63225         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
63226         [struct FTS] (fts_rft): Remove now-unused member.
63227         [struct FTS] (fts_cycle.state): Improve comment.
63228
63229         * lib/openat.c (openat_needs_fchdir): New function.
63230         * lib/openat.h (openat_needs_fchdir): Declare it.
63231
63232 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
63233
63234         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
63235         Problem and fix reported by Pádraig Brady in
63236         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
63237
63238 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
63239
63240         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
63241
63242 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
63243
63244         * lib/memcoll.c (memcoll): Optimize for the common case where the
63245         arguments are bytewise equal.
63246
63247 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
63248
63249         * doc/regexprops-generic.texi: Add a copyright notice.
63250
63251 2006-08-15  Bruno Haible  <bruno@clisp.org>
63252
63253         * modules/tmpdir (License): Change to LGPL.
63254
63255 2006-08-15  Bruno Haible  <bruno@clisp.org>
63256
63257         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
63258         module.
63259
63260 2006-08-14  Simon Josefsson  <jas@extundo.com>
63261
63262         * config/srclist.txt: Add gnupload.
63263
63264 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
63265
63266         Change copyright notice from LGPL 2 to GPL 2, since that's the
63267         standard form used in the gnulib repository.
63268         * tests/test-lock.c: Likewise.
63269         * tests/test-stdint.c: Likewise.
63270         * tests/test-tls.c: Likewise.
63271
63272         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
63273         prelude-manager.  User shorter URLs for GNU projects, without '?'.
63274         Add copyright notice.
63275
63276         * check-module: Add copyright notice.  Output a copyright
63277         notice if "--version" is specified.
63278         * modules/COPYING: New file.
63279         * tests/test-getaddrinfo.c: Add copyright notice.
63280         * tests/test-verify.c: Likewise.
63281
63282 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
63283
63284         Change copyright notice from LGPL 2 to GPL 2, since that's the
63285         standard form used in the gnulib repository.
63286         * lib/lock.c: LGPL -> GPL.
63287         * lib/lock.h: Likewise.
63288         * lib/strnlen1.c: Likewise.
63289         * lib/strnlen1.h: Likewise.
63290         * lib/tls.c: Likewise.
63291         * lib/tls.h: Likewise.
63292         * lib/tmpdir.c: Likewise.
63293
63294         * lib/TODO: Remove; this belongs only in coreutils.
63295
63296 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
63297
63298         Add copyright notices to long-enough files that lack them, since
63299         otherwise the files aren't clearly free.  Use the same notice that
63300         getdate.texi already uses.
63301         * doc/alloca-opt.texi: Add copyright notice.
63302         * doc/alloca.texi: Likewise.
63303         * doc/ctime.texi: Likewise.
63304         * doc/functions.texi: Likewise.
63305         * doc/gcd.texi: Likewise.
63306         * doc/gnulib-tool.texi: Likewise.
63307         * doc/inet_ntoa.texi: Likewise.
63308         * doc/visibility.texi: Likewise.
63309
63310         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
63311         * doc/quote.texi: Add copyright notice.
63312
63313         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
63314         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
63315         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
63316         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
63317         is now obsolete, and give a pointer to the Sun list.
63318         Add copyright notice.
63319
63320 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
63321
63322         * config/srclistvars.sh: Add copyright notice.
63323
63324 2006-08-14  Eric Blake  <ebb9@byu.net>
63325
63326         Import the following change from libc:
63327
63328         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
63329
63330         Upstream bug 2997.
63331         * lib/misc/error.c: Add space between program name and message if file
63332         name is missing.
63333
63334 2006-08-12  Karl Berry  <karl@gnu.org>
63335
63336         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
63337         remove, these originate in gnulib now.
63338
63339 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63340
63341         * doc/Makefile (standards.info standards.html standards.dvi):
63342         Also depend on make-stds.texi.
63343
63344 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
63345
63346         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
63347         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
63348
63349         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
63350         in wchar_t.  Problem reported by Eric Blake.
63351
63352         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
63353         LEN is smaller than SIZE.  Suggested by Bruno Haible.
63354         Also, help the compiler to keep LEN in a register.
63355
63356 2006-08-11  Eric Blake  <ebb9@byu.net>
63357
63358         * users.txt: Sort.  Add tar.
63359
63360 2006-08-11  Bruno Haible  <bruno@clisp.org>
63361
63362         * users.txt: New file.
63363
63364 2006-08-11  Bruno Haible  <bruno@clisp.org>
63365
63366         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
63367         before <wchar.h>. Needed for OSF/1 and BSD/OS.
63368
63369 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
63370
63371         * modules/snprintf (Depends-on): Remove minmax.
63372         (Maintainer): Add self and Bruno.
63373
63374 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
63375
63376         * lib/.cppi-disable: Add snprintf.h, socket_.h.
63377         * lib/snprintf.c: Include <errno.h> and <limits.h>.
63378         (EOVERFLOW): Define if the system does not.
63379         Do not include "minmax.h"; it wasn't used.
63380         (snprintf): Don't assume size_t promotes to an unsigned type.
63381         Fix bug when generated string was too long for the buffer: the
63382         buffer's contents are supposed to be the initial prefix of the
63383         output.  Don't assume vasnprintf returns EOVERFLOW if the size
63384         exceeds INT_MAX; do the check ourselves.
63385
63386         Import the following changes from libc:
63387
63388         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
63389
63390         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
63391         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
63392         set wc to the byte which couldn't be converted.
63393         (re_string_reconstruct): Don't clear valid_raw_len before calling
63394         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
63395         tip_context using re_string_context_at.
63396
63397         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
63398
63399         * lib/posix/regex.h: g++ still cannot handled [restrict].
63400
63401         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
63402
63403         * lib/posix/regex.h: Remove special handling for VMS.
63404
63405 2006-08-10  Jim Meyering  <jim@meyering.net>
63406
63407         * modules/same-inode: New module.
63408         * modules/dev-ino: New module.
63409         * modules/cycle-check: Depend on these modules, rather than simply
63410         including their .h files.
63411         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
63412         required via m4/cycle-check.m4.
63413         * modules/same: Depend on new same-inode module, rather than
63414         including same-inode.h.
63415         * modules/chdir-safer: New file.
63416
63417         * modules/chown (Depends-on): Add stat-macros.
63418
63419 2006-08-10  Jim Meyering  <jim@meyering.net>
63420
63421         * m4/cycle-check.m4: New file.
63422         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
63423         * m4/dev-ino.m4, m4/same-inode.m4: New files.
63424
63425 2006-08-10  Eric Blake  <ebb9@byu.net>
63426
63427         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
63428         in from original proposal.
63429
63430 2006-08-10  Eric Blake  <ebb9@byu.net>
63431         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
63432
63433         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
63434         namespace.
63435
63436 2006-08-10  Bruno Haible  <bruno@clisp.org>
63437
63438         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
63439         as well.
63440
63441 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
63442
63443         Sync from coreutils.
63444
63445         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
63446
63447         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
63448         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
63449
63450 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
63451
63452         * modules/restrict: Remove; no longer needed now that we assume
63453         Autoconf 2.59 or later.
63454         * MODULES.html.sh: Remove 'restrict'.
63455         * modules/argp (Depends-on): Remove 'restrict'.
63456         * modules/base64 (Depends-on): Likewise.
63457         * modules/gc (Depends-on): Likewise.
63458         * modules/getaddrinfo (Depends-on): Likewise.
63459         * modules/glob (Depends-on): Likewise.
63460         * modules/inet_ntop (Depends-on): Likewise.
63461         * modules/inet_pton (Depends-on): Likewise.
63462         * modules/memxor (Depends-on): Likewise.
63463         * modules/regex (Depends-on): Likewise.
63464         * modules/strtok_r (Depends-on): Likewise.
63465         * modules/time_r (Depends-on): Likewise.
63466
63467 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
63468
63469         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
63470         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
63471         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
63472         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
63473         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
63474         * m4/memxor.m4 (gl_MEMXOR): Likewise.
63475         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
63476         gl_C_RESTRICT replaced by AC_C_RESTRICT.
63477
63478         Merge from coreutils.
63479         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
63480         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
63481         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
63482         * m4/time_r.m4 (gl_TIME_R): Likewise.
63483
63484 2006-08-09  Karl Berry  <karl@gnu.org>
63485
63486         * config/srclist.txt: no more gettext-tools, per Bruno.
63487
63488 2006-08-08  Eric Blake  <ebb9@byu.net>
63489
63490         * modules/verror: New module.
63491         * MODULES.html.sh: Document it.
63492
63493 2006-08-08  Eric Blake  <ebb9@byu.net>
63494
63495         * lib/verror.h, lib/verror.c: New files.
63496
63497 2006-08-08  Eric Blake  <ebb9@byu.net>
63498
63499         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
63500         verror_at_line output complies with GNU Coding Standards even when
63501         file is NULL.
63502
63503 2006-08-07  Bruno Haible  <bruno@clisp.org>
63504
63505         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
63506         versions of AIX.
63507         Reported by Ralf Wildenhues.
63508
63509 2006-08-07  Bruno Haible  <bruno@clisp.org>
63510
63511         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
63512         in an AC_DEFUN. Needed so that the autoconf snippets can use
63513         AC_REQUIRE.
63514
63515 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63516
63517         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
63518         Initialize pkgdata_DATA.
63519         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
63520         overriding it.
63521
63522 2006-08-06  Eric Blake  <ebb9@byu.net>
63523
63524         * lib/error.h: Fold in some upstream changes from glibc.
63525         * lib/error.c: Likewise.
63526
63527 2006-08-04  Bruno Haible  <bruno@clisp.org>
63528
63529         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
63530         Make the mostlyclean-local rule depend on mostlyclean-generic.
63531         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
63532
63533 2006-07-31  Bruno Haible  <bruno@clisp.org>
63534
63535         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
63536         <stdlib.h>, <string.h>.
63537
63538 2006-07-30  Bruno Haible  <bruno@clisp.org>
63539
63540         * modules/readlink (License): Change to LGPL.
63541
63542 2006-07-30  Bruno Haible  <bruno@clisp.org>
63543
63544         * modules/javaversion (Makefile.am): Distribute javaversion.java and
63545         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
63546         set PKGDATADIR to point to it.
63547
63548 2006-07-30  Bruno Haible  <bruno@clisp.org>
63549
63550         * modules/csharpexec (configure.ac): Comment out macro invocation.
63551         * modules/javaexec (configure.ac): Likewise.
63552         * modules/javacomp-script (configure.ac): Likewise.
63553
63554         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
63555
63556 2006-07-30  Bruno Haible  <bruno@clisp.org>
63557
63558         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
63559         linked-list.
63560
63561 2006-07-30  Bruno Haible  <bruno@clisp.org>
63562
63563         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
63564
63565 2006-07-30  Bruno Haible  <bruno@clisp.org>
63566
63567         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
63568         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
63569         get removed.
63570
63571 2006-07-29  Bruno Haible  <bruno@clisp.org>
63572
63573         Make it possible for gnulib-tool to work with locally modified or
63574         augmented gnulib repositories.
63575         * gnulib-tool (func_usage): Document --local-dir option.
63576         (local_gnulib_dir): New variable.
63577         Handle --local-dir option.
63578         (func_lookup_file): New function.
63579         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
63580         (func_get_description, func_get_filelist, func_get_description,
63581         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
63582         func_get_automake_snippet, func_get_include_directive,
63583         func_get_license, func_get_maintainer): Use func_lookup_file.
63584         (func_import, func_create_testdir): Use func_lookup_file.
63585
63586 2006-07-29  Bruno Haible  <bruno@clisp.org>
63587
63588         * modules/setenv (Depends-on): Add unistd.
63589
63590 2006-07-29  Bruno Haible  <bruno@clisp.org>
63591
63592         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
63593
63594 2006-07-29  Bruno Haible  <bruno@clisp.org>
63595
63596         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
63597
63598 2006-07-29  Bruno Haible  <bruno@clisp.org>
63599
63600         * gnulib-tool (import, update): If there is no Makefile.am, look at
63601         aclocal.m4, instead of bailing out.
63602
63603 2006-07-29  Bruno Haible  <bruno@clisp.org>
63604
63605         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
63606         Categorize the options by when they are useful.
63607
63608 2006-07-29  Bruno Haible  <bruno@clisp.org>
63609
63610         * gnulib-tool (func_usage): Document option --no-libtool.
63611         Handle option --no-libtool.
63612         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
63613         for changed semantics of $libtool variable.
63614         (func_import): Likewise. If libtool is not used, show this through
63615         an option --no-libtool.
63616         (func_create_testdir): Update.
63617
63618 2006-07-29  Bruno Haible  <bruno@clisp.org>
63619
63620         * gnulib-tool (func_import): Extend error message about missing
63621         --doc-base.
63622
63623 2006-07-29  Bruno Haible  <bruno@clisp.org>
63624
63625         * gnulib-tool (func_import): Don't create the $docbase directory if
63626         there is no file to store there.
63627
63628 2006-07-29  Bruno Haible  <bruno@clisp.org>
63629
63630         * gnulib-tool (autoconf_minversion): If a --dir option is given and
63631         relevant, look for configure.ac there, not in the current directory.
63632         Also use a simple search for AC_PREREQ, not "autoconf --trace".
63633
63634 2006-07-29  Bruno Haible  <bruno@clisp.org>
63635
63636         * gnulib-tool (SORT): New variable.
63637         (func_usage): Undocument --assume-autoconf option.
63638         Remove --assume-autoconf option handling.
63639         (autoconf_minversion): Determine from the contents of configure.ac.
63640         (func_import): Remove autoconf_minversion handling.
63641         Suggested by Eric Blake.
63642
63643 2006-07-29  Bruno Haible  <bruno@clisp.org>
63644
63645         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
63646
63647 2006-07-29  Bruno Haible  <bruno@clisp.org>
63648
63649         * config/srclist.txt (*setenv.[ch]): Remove rules.
63650
63651 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
63652
63653         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
63654
63655 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
63656
63657         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
63658         arpa/inet.h.
63659
63660 2006-07-28  Simon Josefsson  <jas@extundo.com>
63661
63662         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
63663         * modules/inet_pton (Depends-on): Likewise.
63664
63665 2006-07-28  Simon Josefsson  <jas@extundo.com>
63666
63667         * m4/netinet_in_h.m4: New file.
63668
63669 2006-07-28  Simon Josefsson  <jas@extundo.com>
63670
63671         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
63672         #include's.
63673
63674 2006-07-28  Simon Josefsson  <jas@extundo.com>
63675
63676         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
63677         #include's.
63678
63679 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
63680
63681         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
63682         setgid on directories only if they set these bits.
63683         * lib/modechange.h: Remove obsolete comment about masks.
63684
63685 2006-07-28  Eric Blake  <ebb9@byu.net>
63686
63687         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
63688         macro expansion.
63689
63690 2006-07-28  Bruno Haible  <bruno@clisp.org>
63691
63692         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
63693
63694 2006-07-28  Bruno Haible  <bruno@clisp.org>
63695
63696         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
63697
63698 2006-07-28  Bruno Haible  <bruno@clisp.org>
63699
63700         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
63701         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
63702         Define fallbacks.
63703         Avoids link error on FreeBSD 4.x.
63704         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
63705
63706         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
63707         encoding.
63708         * lib/mbswidth.c (iswcntrl): Likewise.
63709
63710 2006-07-27  Bruno Haible  <bruno@clisp.org>
63711
63712         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
63713         test.
63714
63715 2006-07-27  Bruno Haible  <bruno@clisp.org>
63716
63717         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
63718         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
63719         defined.
63720
63721 2006-07-26  Eric Blake  <ebb9@byu.net>
63722
63723         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
63724
63725 2006-07-26  Eric Blake  <ebb9@byu.net>
63726
63727         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
63728         like mingw that lack mkstemp.
63729         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
63730         avoid compilation warning on mingw.
63731
63732 2006-07-26  Bruno Haible  <bruno@clisp.org>
63733
63734         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
63735         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
63736         INT_FAST*_MIN, INTPTR_MIN.
63737
63738 2006-07-25  Bruno Haible  <bruno@clisp.org>
63739
63740         * modules/version-etc (Depends-on): Add stdarg.
63741
63742 2006-07-25  Bruno Haible  <bruno@clisp.org>
63743
63744         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
63745         complex commands.
63746
63747 2006-07-25  Bruno Haible  <bruno@clisp.org>
63748
63749         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
63750         defined in <stdarg.h> or config.h.
63751
63752 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
63753
63754         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
63755         (gl_STDIO_SAFER): Remove.
63756
63757 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
63758
63759         * MODULES.html.sh (File stream based Input/Output):
63760         Add fopen-safer, tmpfile-safer; remove stdio-safer.
63761         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
63762         * modules/fopen-safer, modules/tmpfile-safer: New files.
63763         * modules/stdio-safer: Remove.
63764
63765 2006-07-24  Bruno Haible  <bruno@clisp.org>
63766
63767         * modules/tmpdir: New file.
63768         * MODULES.html.sh (File system functions): Add it.
63769
63770 2006-07-24  Bruno Haible  <bruno@clisp.org>
63771
63772         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
63773         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
63774
63775 2006-07-24  Bruno Haible  <bruno@clisp.org>
63776
63777         * modules/clean-temp: New file.
63778
63779 2006-07-24  Bruno Haible  <bruno@clisp.org>
63780
63781         * m4/tmpdir.m4: New file, from GNU gettext.
63782
63783 2006-07-24  Bruno Haible  <bruno@clisp.org>
63784
63785         * lib/tmpdir.h: New file, from GNU gettext.
63786         * lib/tmpdir.c: New file, from GNU gettext.
63787
63788 2006-07-24  Bruno Haible  <bruno@clisp.org>
63789
63790         * lib/clean-temp.h: New file, from GNU gettext.
63791         * lib/clean-temp.c: New file, from GNU gettext.
63792
63793 2006-07-23  Eric Blake  <ebb9@byu.net>
63794
63795         * modules/stdio-safer (Files): Add tmpfile-safer.c.
63796         (Depends-on): Add binary-io.
63797
63798 2006-07-23  Eric Blake  <ebb9@byu.net>
63799
63800         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
63801
63802 2006-07-23  Eric Blake  <ebb9@byu.net>
63803
63804         * lib/tmpfile-safer.c: New file.
63805         * lib/stdio-safer.h (fopen_safer): Add prototype.
63806         * lib/stdio--.h (tmpfile): Make safer.
63807
63808 2006-07-23  Bruno Haible  <bruno@clisp.org>
63809
63810         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
63811         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
63812         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
63813         gl_linked_remove_at): Use it.
63814
63815 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
63816         and Simon Josefsson <jas@extundo.com>
63817
63818         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
63819
63820         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
63821
63822 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
63823
63824         * modules/close-stream: New file.
63825         * modules/closeout (Description): Make it clear that it exits
63826         with a diagnostic on error.
63827         (Depends-on): Add close-stream.  Remove fpending, stdbool.
63828         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
63829
63830 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
63831
63832         * m4/close-stream.m4: New file.
63833
63834 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
63835
63836         * lib/close-stream.c, lib/close-stream.h: New files.
63837
63838 2006-07-22  Bruno Haible  <bruno@clisp.org>
63839
63840         Merge from GNU gettext 0.15.
63841
63842         2006-05-01  Bruno Haible  <bruno@clisp.org>
63843
63844                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
63845
63846         2006-07-22  Bruno Haible  <bruno@clisp.org>
63847
63848                 * modules/javaversion: New file.
63849                 * MODULES.html.sh (Java): Add javaversion.
63850
63851         2006-03-12  Bruno Haible  <bruno@clisp.org>
63852
63853                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
63854
63855         2005-12-04  Bruno Haible  <bruno@clisp.org>
63856
63857                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
63858                 (untested).
63859
63860         2006-06-21  Bruno Haible  <bruno@clisp.org>
63861
63862                 Avoid warnings from recent versions of mcs.
63863                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
63864                 -o, -L, -r any more. Use options documented since mcs-1.0
63865                 instead. Similarly for -g.
63866
63867         2005-12-04  Bruno Haible  <bruno@clisp.org>
63868
63869                 * build-aux/csharpcomp.sh.in: Suffix for resources is
63870                 .resources, not .resource.
63871
63872         2005-07-09  Bruno Haible  <bruno@clisp.org>
63873
63874                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
63875                 add a .dll suffix.
63876                 Reported by Mark Junker <mjscod@gmx.de>.
63877
63878         2006-07-22  Bruno Haible  <bruno@clisp.org>
63879
63880                 * modules/gettext: Upgrade to gettext-0.15.
63881                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
63882                 m4/visibility.m4.
63883                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
63884
63885 2006-07-22  Bruno Haible  <bruno@clisp.org>
63886
63887         Merge from GNU gettext 0.15.
63888
63889         2006-03-25  Bruno Haible  <bruno@clisp.org>
63890
63891                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
63892
63893         2006-07-21  Bruno Haible  <bruno@clisp.org>
63894
63895                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
63896                 "1.1".
63897
63898         2006-05-09  Bruno Haible  <bruno@clisp.org>
63899
63900                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
63901                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
63902                 for the conftestver execution.
63903
63904         2006-05-01  Bruno Haible  <bruno@clisp.org>
63905
63906                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
63907                 optional target-version argument. Verify that the compiler
63908                 groks source of the specified source-version, or add -source
63909                 option as necessary. Verify that the compiler produces
63910                 bytecode in the specified target-version, or add -target and
63911                 -source options as necessary. Make the result of the test
63912                 available as variable CONF_JAVAC. Also log error output in
63913                 config.log.
63914
63915         2006-03-11  Bruno Haible  <bruno@clisp.org>
63916
63917                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
63918
63919         2006-05-09  Bruno Haible  <bruno@clisp.org>
63920
63921                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
63922                 CLASSPATH_SEPARATOR to a semicolon.
63923
63924         2006-03-12  Bruno Haible  <bruno@clisp.org>
63925
63926                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
63927                 available as variable CONF_JAVA, for subsequent autoconf
63928                 tests. Also log error output in config.log.
63929
63930         2006-07-19  Bruno Haible  <bruno@clisp.org>
63931
63932                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
63933                 that getline works on glibc2 systems. Needed to avoid trouble
63934                 in relocatable.c.
63935                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
63936
63937         2005-12-04  Bruno Haible  <bruno@clisp.org>
63938
63939                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
63940                 launcher (untested).
63941
63942         2005-12-04  Bruno Haible  <bruno@clisp.org>
63943
63944                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
63945
63946         2006-07-22  Bruno Haible  <bruno@clisp.org>
63947
63948                 * gettext.m4: Update from GNU gettext-0.15.
63949                 * nls.m4: Likewise.
63950                 * po.m4: Likewise.
63951                 * inttypes-pri.m4: Likewise.
63952                 * inttypes-h.m4: Renamed from inttypes.m4.
63953                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
63954
63955 2006-07-22  Bruno Haible  <bruno@clisp.org>
63956
63957         Merge from GNU gettext 0.15.
63958
63959         2005-07-05  Bruno Haible  <bruno@clisp.org>
63960
63961                 * printf-args.c (printf_fetchargs): Work around broken
63962                 definition of wint_t on mingw.
63963
63964         2005-02-12  Bruno Haible  <bruno@clisp.org>
63965
63966                 * xallocsa.h: Add extern "C" for C++.
63967
63968         2006-05-17  Bruno Haible  <bruno@clisp.org>
63969
63970                 Cygwin portability.
63971                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
63972
63973         2006-04-30  Bruno Haible  <bruno@clisp.org>
63974
63975                 * progreloc.c: Include <mach-o/dyld.h> if available.
63976                 (find_executable): Use _NSGetExecutablePath when possible.
63977
63978         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
63979
63980                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
63981                 function.
63982
63983         2005-12-29  Bruno Haible  <bruno@clisp.org>
63984
63985                 * progreloc.c (set_program_name_and_installdir): Fix
63986                 compilation error.
63987
63988         2005-12-04  Bruno Haible  <bruno@clisp.org>
63989
63990                 Cygwin portability.
63991                 * progreloc.c: Include <windows.h> also on Cygwin.
63992                 (find_executable): Add support for Cygwin.
63993                 (set_program_name_and_installdir): Handle also platforms with
63994                 nonempty EXEEXT.
63995
63996         2006-07-11  Bruno Haible  <bruno@clisp.org>
63997
63998                 * javacomp.c: Fix a comment.
63999                 Reported by Jim Meyering.
64000
64001         2006-04-30  Bruno Haible  <bruno@clisp.org>
64002
64003                 * javacomp.h (compile_java_class): Add source_version,
64004                 target_version arguments.
64005                 * javacomp.c: Rewritten to choose only a compiler that
64006                 respects the specified source_version and target_version.
64007
64008         2006-06-27  Bruno Haible  <bruno@clisp.org>
64009
64010                 Assume correct S_ISDIR macro.
64011                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
64012
64013         2006-07-22  Bruno Haible  <bruno@clisp.org>
64014
64015                 * javaversion.h: New file, from GNU gettext.
64016                 * javaversion.c: New file, from GNU gettext.
64017                 * javaversion.java: New file, from GNU gettext.
64018                 * javaversion.class: New file, from GNU gettext.
64019
64020         2006-05-17  Bruno Haible  <bruno@clisp.org>
64021
64022                 Cygwin portability.
64023                 * javaexec.c (execute_java_class): Test for jview program
64024                 also on Cygwin.
64025
64026         2006-04-09  Bruno Haible  <bruno@clisp.org>
64027
64028                 * fatal-signal.c: Don't include string.h.
64029                 (at_fatal_signal): Use a copying loop instead of memcpy.
64030
64031         2005-12-04  Bruno Haible  <bruno@clisp.org>
64032
64033                 * csharpexec.c: Add support for 'clix' launcher (untested).
64034                 (execute_csharp_using_sscli): New function.
64035                 (execute_csharp_program): Call it.
64036
64037         2006-06-21  Bruno Haible  <bruno@clisp.org>
64038
64039                 Avoid warnings from recent versions of mcs.
64040                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
64041                 -o, -L, -r any more. Use options documented since mcs-1.0
64042                 instead. Similarly for -g.
64043
64044         2005-07-09  Bruno Haible  <bruno@clisp.org>
64045
64046                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
64047                 add a .dll suffix.
64048                 Reported by Mark Junker <mjscod@gmx.de>.
64049
64050         2006-06-17  Bruno Haible  <bruno@clisp.org>
64051
64052                 * config.charset: Update for NetBSD 3.0.
64053
64054         2006-05-17  Bruno Haible  <bruno@clisp.org>
64055
64056                 Cygwin portability.
64057                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
64058
64059         2006-05-16  Bruno Haible  <bruno@clisp.org>
64060
64061                 * localcharset.c [CYGWIN]: Include <windows.h>.
64062                 (get_charset_aliases): For Cygwin, return the same CPxxx
64063                 aliases list as under WIN32.
64064                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
64065                 the environment variables. Fall back to GetACP().
64066
64067         2006-04-05  Bruno Haible  <bruno@clisp.org>
64068
64069                 * config.charset: Update Juan Manuel Guerrero's address.
64070
64071         2005-02-12  Bruno Haible  <bruno@clisp.org>
64072
64073                 * allocsa.h: Add extern "C" for C++.
64074
64075         2005-02-10  Bruno Haible  <bruno@clisp.org>
64076
64077                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
64078                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
64079
64080         2006-07-22  Bruno Haible  <bruno@clisp.org>
64081
64082                 * gettext.h: Update to GNU gettext-0.15.
64083
64084 2006-07-22  Bruno Haible  <bruno@clisp.org>
64085
64086         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
64087         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
64088         lib-prefix.m4, longdouble.m4, ssize_t.m4.
64089
64090 2006-07-21  Eric Blake  <ebb9@byu.net>
64091
64092         * modules/stdlib-safer: New file.
64093         * MODULES.html.sh (File stream based Input/Output): Add
64094         stdlib-safer.
64095
64096 2006-07-21  Eric Blake  <ebb9@byu.net>
64097
64098         * lib/stdlib-safer.h: New file from coreutils, required by
64099         stdlib--.h.
64100
64101 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
64102
64103         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
64104
64105 2006-07-20  Bruno Haible  <bruno@clisp.org>
64106
64107         * gnulib-tool: Recognize new option --assume-autoconf.
64108         (autoconf_minversion): New variable.
64109         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
64110
64111 2006-07-20  Bruno Haible  <bruno@clisp.org>
64112
64113         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
64114
64115 2006-07-19  Derek R. Price  <derek@ximbiot.com>
64116
64117         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
64118         Reindent and repaginate.
64119
64120 2006-07-19  Derek Price  <derek@ximbiot.com>
64121
64122         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
64123         Correct grammar.
64124
64125 2006-07-17  Bruno Haible  <bruno@clisp.org>
64126
64127         * modules/list: New file.
64128         * modules/array-list: New file.
64129         * modules/carray-list, modules/carray-list-tests: New files.
64130         * modules/linked-list, modules/linked-list-tests: New files.
64131         * modules/avltree-list, modules/avltree-list-tests: New files.
64132         * modules/rbtree-list, modules/rbtree-list-tests: New files.
64133         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
64134         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
64135         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
64136         * modules/oset: New file.
64137         * modules/array-oset: New file.
64138         * modules/avltree-oset, modules/avltree-oset-tests: New files.
64139         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
64140         * tests/test-carray_list.c: New file.
64141         * tests/test-linked_list.c: New file.
64142         * tests/test-avltree_list.c: New file.
64143         * tests/test-rbtree_list.c: New file.
64144         * tests/test-linkedhash_list.c: New file.
64145         * tests/test-avltreehash_list.c: New file.
64146         * tests/test-rbtreehash_list.c: New file.
64147         * tests/test-avltree_oset.c: New file.
64148         * tests/test-rbtree_oset.c: New file.
64149         * MODULES.html.sh (Container data structures): New section.
64150
64151 2006-07-17  Bruno Haible  <bruno@clisp.org>
64152
64153         * m4/gl_list.m4: New file.
64154
64155 2006-07-17  Bruno Haible  <bruno@clisp.org>
64156
64157         * lib/gl_list.h: New file.
64158         * lib/gl_list.c: New file.
64159         * lib/gl_array_list.h: New file.
64160         * lib/gl_array_list.c: New file.
64161         * lib/gl_carray_list.h: New file.
64162         * lib/gl_carray_list.c: New file.
64163         * lib/gl_linked_list.h: New file.
64164         * lib/gl_linked_list.c: New file.
64165         * lib/gl_anylinked_list1.h: New file.
64166         * lib/gl_anylinked_list2.h: New file.
64167         * lib/gl_avltree_list.h: New file.
64168         * lib/gl_avltree_list.c: New file.
64169         * lib/gl_anyavltree_list1.h: New file.
64170         * lib/gl_anyavltree_list2.h: New file.
64171         * lib/gl_rbtree_list.h: New file.
64172         * lib/gl_rbtree_list.c: New file.
64173         * lib/gl_anyrbtree_list1.h: New file.
64174         * lib/gl_anyrbtree_list2.h: New file.
64175         * lib/gl_anytree_list1.h: New file.
64176         * lib/gl_anytree_list2.h: New file.
64177         * lib/gl_linkedhash_list.h: New file.
64178         * lib/gl_linkedhash_list.c: New file.
64179         * lib/gl_anyhash_list1.h: New file.
64180         * lib/gl_anyhash_list2.h: New file.
64181         * lib/gl_avltreehash_list.h: New file.
64182         * lib/gl_avltreehash_list.c: New file.
64183         * lib/gl_rbtreehash_list.h: New file.
64184         * lib/gl_rbtreehash_list.c: New file.
64185         * lib/gl_anytreehash_list1.h: New file.
64186         * lib/gl_anytreehash_list2.h: New file.
64187
64188         * lib/gl_oset.h: New file.
64189         * lib/gl_oset.c: New file.
64190         * lib/gl_array_oset.h: New file.
64191         * lib/gl_array_oset.c: New file.
64192         * lib/gl_avltree_oset.h: New file.
64193         * lib/gl_avltree_oset.c: New file.
64194         * lib/gl_rbtree_oset.h: New file.
64195         * lib/gl_rbtree_oset.c: New file.
64196         * lib/gl_anytree_oset.h: New file.
64197
64198 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
64199
64200         * m4/mkancesdirs.m4: New file.
64201         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
64202         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
64203         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
64204         it.
64205
64206 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
64207
64208         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
64209         * lib/mkancesdirs.h: New files.
64210         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
64211         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
64212         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
64213         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
64214         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
64215         callers changed.  Revamp internals significantly, by not
64216         attempting to create directories that are temporarily more
64217         permissive than the final results.  Do not attempt to use
64218         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
64219         This removes some race conditions, fixes some bugs, and simplifies
64220         things.  Use new dirchownmod function to do owner and mode changes.
64221         * lib/mkdir-p.h: Likewise.
64222         * lib/modechange.c (octal_to_mode): New function.
64223         (struct mode_change): New member mentioned.
64224         (make_node_op_equals): New arg mentioned.  All callers changed.
64225         (mode_compile): Keep track of which mode bits the user has explicitly
64226         mentioned.
64227         (mode_adjust): New arg DIR, so that we implement the X op correctly.
64228         New arg PMODE_BITS, to keep track of which mode bits the user
64229         mentioned; it treats S_ISUID and S_ISGID speciall.
64230         All callers changed.
64231         * lib/modechange.h: Likewise.
64232
64233 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
64234
64235         * MODULES.html.sh: Add mkancestors.
64236         * modules/mkancesdirs: New module.
64237         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
64238         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
64239         The chdir-safer and afs files are now orphans; I'll remove them
64240         unless someone speaks up.
64241         Add lib/dirchownmod.c, lib/dirchownmod.h.
64242         (Depends-on): Remove alloca, chown, save-cwd, dirname.
64243         Add lchown, mkancesdirs.
64244         (Maintainer): Add self.
64245
64246 2006-07-15  Karl Berry  <karl@gnu.org>
64247
64248         * gnulib-tool: help message wording/arrangement.
64249
64250 2006-07-14  Simon Josefsson  <jas@extundo.com>
64251
64252         * doc/gnulib.texi (Libtool and Windows): New section.
64253
64254 2006-07-12  Simon Josefsson  <jas@extundo.com>
64255
64256         * modules/gendocs (License): Fix license, approved by Karl.
64257
64258 2006-07-12  Eric Blake  <ebb9@byu.net>
64259
64260         * MODULES.html.sh: Add gendocs.
64261
64262 2006-07-11  Eric Blake  <ebb9@byu.net>
64263
64264         * modules/fdl: New module, to install doc/fdl.texi.
64265         * MODULES.html.sh: Add new section for documentation modules.
64266         * gnulib-tool: Avoid space-tab.
64267         (--doc-base): New option, to manage files from doc.
64268
64269 2006-07-11  Eric Blake  <ebb9@byu.net>
64270
64271         * m4/absolute-header.m4: Fix comments to match recent change.
64272
64273 2006-07-11  Eric Blake  <ebb9@byu.net>
64274
64275         * gnulib-tool: List --doc-base before --tests-base.
64276
64277 2006-07-11  Derek R. Price  <derek@ximbiot.com>
64278
64279         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
64280
64281 2006-07-11  Bruno Haible  <bruno@clisp.org>
64282
64283         * README: Mention where to put documentation.
64284
64285 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64286
64287         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
64288
64289 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
64290
64291         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
64292         to stdint.m4.
64293
64294 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
64295
64296         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
64297         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
64298         "no/such/file/stdint.h" when there is no such file, so that
64299         the resulting C code can be parsed by dodgy compilers.
64300         Problems reported by Bob Proulx.
64301
64302 2006-07-10  Derek R. Price  <derek@ximbiot.com>
64303
64304         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
64305         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
64306         macros into the GNU _D_EXACT_NAMLEN.
64307         * lib/savedir.c:  Likewise.
64308         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
64309
64310 2006-07-10  Derek R. Price  <derek@ximbiot.com>
64311         and Paul Eggert  <eggert@cs.ucla.edu>
64312
64313         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
64314         * m4/savedir.m4:
64315         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
64316         macros into the GNU _D_EXACT_NAMLEN.
64317
64318 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
64319
64320         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
64321         around the absolute name, to work around a problem with the HP-UX
64322         11.23 native C compiler, reported by Bob Proulx.
64323
64324 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
64325
64326         * doc/maintain.texi, make-stds.texi: Sync from
64327         <http://savannah.gnu.org/projects/gnustandards>.
64328
64329 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
64330
64331         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
64332
64333 2006-07-09  Jim Meyering  <jim@meyering.net>
64334
64335         * m4/glob.m4: Remove a doubled word in a comment.
64336
64337 2006-07-09  Jim Meyering  <jim@meyering.net>
64338
64339         * lib/argp-pv.c: Remove a doubled word in a comment.
64340         * lib/check-version.c (check_version): Likewise.
64341         * lib/javacomp.c (compile_java_class): Likewise.
64342
64343 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
64344
64345         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
64346         for the benefit of people using Autoconf 2.60.  If you want to
64347         support older Autoconf versions you can copy m4/onceonly_2_57.m4
64348         (or m4/onceonly.m4, if pre-2.57) manually.
64349
64350 2006-07-08  Jim Meyering  <jim@meyering.net>
64351
64352         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
64353         comment.
64354         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
64355         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
64356         comment.
64357
64358 2006-07-08  Jim Meyering  <jim@meyering.net>
64359
64360         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
64361
64362 2006-07-07  Simon Josefsson  <jas@extundo.com>
64363
64364         * tests/test-crc.c: Change expected crc value, the test vector
64365         were probably computed using the old broken crc.c?
64366
64367 2006-07-06  Simon Josefsson  <jas@extundo.com>
64368
64369         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
64370         now the canonical place for the M4 file).
64371
64372         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
64373         from the sys_socket dependency now.
64374
64375         * modules/inet_pton (Files): Ditto.
64376
64377         * modules/inet_ntop (Files): Ditto.
64378
64379 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
64380
64381         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
64382         not gl_PREREQ_GETUSERSHELL.
64383
64384 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64385
64386         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
64387         with only one argument, for Autoconf 2.60.
64388         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
64389         expand to nothing, so add a shell command to avoid syntax error.
64390         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
64391
64392 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64393
64394         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
64395
64396 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
64397
64398         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
64399         no longer needed.  Check for isblank decl.
64400         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
64401         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
64402         of existence.
64403
64404 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
64405
64406         * lib/getloadavg.c: Use __VMS, not VMS.
64407         * lib/getopt.c: Likewise.
64408         * lib/getpagesize.h: Likewise.
64409         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
64410         and probably does not work.
64411
64412 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
64413
64414         * lib/.cppi-disable: Add wcwidth.
64415         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
64416         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
64417         (ISGRAPH): Remove.  All uses changed to isgraph.
64418         (FOLD) [!defined _LIBC]: Remove special case.
64419         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
64420         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
64421         HAVE_ISBLANK.
64422         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
64423         case.
64424
64425 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
64426
64427         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
64428         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
64429         brackets.  Other minor changes to suppress some compiler
64430         warnings.
64431
64432 2006-07-06  Derek R. Price  <derek@ximbiot.com>
64433         and Paul Eggert  <eggert@cs.ucla.edu>
64434
64435         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
64436         of invoking obsolescent AC_HEADER_DIRENT macro.
64437         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
64438         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
64439         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
64440         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
64441         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
64442         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
64443         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
64444         * m4/readdir.m4: Remove; no longer needed.
64445
64446 2006-07-06  Derek R. Price  <derek@ximbiot.com>
64447         and Paul Eggert  <eggert@cs.ucla.edu>
64448
64449         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
64450         Don't worry about this obsolete case any more.
64451         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
64452         directories.
64453         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
64454         worry about this obsolete case any more.
64455         * lib/fts.c: Likewise.
64456         * lib/getcwd.c: Likewise.
64457         * lib/glob.h: Likewise.
64458         * lib/savedir.c: Likewise.
64459
64460 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
64461
64462         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
64463         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
64464         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
64465         needed.
64466         All uses removed.
64467         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
64468         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
64469         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
64470         needed.
64471         * m4/getdate.m4 (gl_GETDATE): Likewise.
64472         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
64473         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
64474         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
64475         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
64476         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
64477         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
64478         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
64479         needed.
64480
64481 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
64482
64483         * lib/memcasecmp.c: Include <limits.h>.
64484         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
64485         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
64486         Don't assume isdigit succeeds only on '0' through '9'.
64487
64488 2006-07-05  Eric Blake  <ebb9@byu.net>
64489
64490         * modules/getaddrinfo (Depends-on): Add snprintf.
64491
64492 2006-07-05  Eric Blake  <ebb9@byu.net>
64493
64494         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
64495         to avoid 'header present but could not be compiled' on cygwin.
64496
64497 2006-07-05  Eric Blake  <ebb9@byu.net>
64498
64499         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
64500         missing from netdb.h.
64501         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
64502
64503 2006-07-05  Derek R. Price  <derek@ximbiot.com>
64504
64505         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
64506         no longer needed.
64507         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
64508         * m4/getdate.m4 (gl_GETDATE): Likewise.
64509         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
64510         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
64511         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
64512         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
64513         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
64514
64515 2006-07-05  Derek R. Price  <derek@ximbiot.com>
64516
64517         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
64518         All uses of is_space replaced by isspace.
64519         * lib/exit.h: Don't talk about STDC_HEADERS.
64520         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
64521         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
64522         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
64523         replaced by isprint etc.
64524         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
64525         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
64526         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
64527         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
64528         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
64529         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
64530
64531 2006-07-05  Bruno Haible  <bruno@clisp.org>
64532
64533         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
64534         the function exists, before testing against AIX.
64535         Reported by Martin Lambers <marlam@marlam.de>.
64536
64537 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
64538
64539         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
64540         From Mark D. Baushke.
64541
64542 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
64543
64544         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
64545         to the absolute name, not just one, to bypass Sun C 5.8's
64546         "warning: #include of /usr/include/... may be non-portable".
64547
64548 2006-07-04  Eric Blake  <ebb9@byu.net>
64549
64550         * modules/dirname-tests: New test module.
64551         * tests/test-dirname.c: New file, replacing dirname.c
64552         TEST_DIRNAME section that was recently deleted.
64553
64554 2006-07-04  Bruno Haible  <bruno@clisp.org>
64555
64556         Assume ANSI C header files and <ctype.h> functions.
64557         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
64558         (mbsnwidth): Use isprint, iscntrl instead.
64559
64560 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
64561
64562         Merge from coreutils.
64563         * MODULES.html.sh: Add xstrtold.
64564         * modules/xstrtold: New file.
64565         * modules/cycle-check (Files): Add lib/same-inode.h.
64566         * modules/dirname (Files): Add m4/double-slash-root.m4.
64567         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
64568         * modules/mkdir-p (Files): Add lib/same-inode.h.
64569         * modules/same (Files): Add lib/same-inode.h.
64570
64571 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
64572
64573         * m4/absolute-header.m4: Renamed from full-header-path.m4.
64574         This is to keep the terminology clean; POSIX talks about
64575         "absolute pathnames", not "full pathnames", but the GNU
64576         Coding Standards say to use "path" for something else;
64577         so use "absolute" to keep both sides happy.
64578         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
64579         Set gl_absolute_header, not gl_full_header_path.
64580         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
64581         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
64582         All uses changed.
64583
64584         Merge from coreutils.
64585
64586         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
64587
64588         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
64589         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
64590         want to require the building of c-strtod.o.
64591         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
64592         needs -lm directly.
64593         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
64594
64595         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
64596
64597         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
64598         --as-needed option if available.  Problem reported by Albert Chin in
64599         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
64600         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
64601         cc merely issues a bunch of annoying warnings for --as-needed
64602         (this problem was reported by Bob Proulx).  Also, try linking with
64603         -lm to detect a bug in binutils 2.16 (this problem was reported
64604         by Ralf Wildenhues).
64605
64606         2006-06-18  Jim Meyering  <jim@meyering.net>
64607
64608         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
64609         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
64610         macro.
64611         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
64612         also check for glibc-2.4's abort-inducing bug.
64613
64614         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
64615         Low-probability clean-up should be to use rmdir to get rid of
64616         the just-created directory, not unlink.
64617
64618         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
64619         configure fail, and request a bug report to inform us about it.
64620         Add a comment that, barring reports to the contrary, in 2007 we'll
64621         assume ftruncate is universally available.
64622
64623         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
64624
64625         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
64626
64627         2006-03-12  Jim Meyering  <jim@meyering.net>
64628
64629         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
64630         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
64631         * m4/same.m4 (gl_SAME): Likewise.
64632         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
64633
64634         2006-03-11  Eric Blake  <ebb9@byu.net>
64635
64636         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
64637         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
64638         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
64639         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
64640
64641 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
64642
64643         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
64644         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
64645         reported by Mark D. Baushke, one in
64646         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
64647
64648         Merge from coreutils.
64649
64650         * lib/.cppi-disable: Add stdint_.h.
64651         * lib/.cvsignore: Add stdint.h.
64652
64653         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
64654
64655         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
64656         both double and long double versions.
64657         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
64658         * lib/xstrtold.c: New file.
64659         * lib/xstrtod.h (xstrtold): New decl.
64660
64661         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
64662
64663         * lib/filemode.c (setst): Remove.
64664         (strmode): Rewrite to avoid setst.  This makes the code shorter,
64665         (arguably) clearer, and the generated code is a bit smaller on my
64666         Debian GNU/Linux stable x86 host.
64667
64668         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
64669
64670         * lib/filemode.c: Include "filemode.h" first, to test the interface.
64671         Assume that filemode.h includes sys/types.h and sys/stat.h.
64672         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
64673         (ftypelet): Reorder to put common cases first, for efficiency.
64674         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
64675         to do 'M'.
64676         (strmode): Renamed from mode_string, and now stores 12 bytes instead
64677         of 10, for compatibility with FreeBSD.  All callers changed.
64678         (filemodestring): Now stores 12 bytes instead of 10, and sets file
64679         types that can't be deduced solely from st_mode.  First arg is now a
64680         const pointer.
64681         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
64682         (strmode): Renamed from mode_string.
64683         (filemodestring): New decl.
64684         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
64685         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
64686         needed.
64687         (S_ISPORT, S_ISWHT): New macros, if not already defined.
64688
64689         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
64690
64691         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
64692         fsusage.h now does that.  Include fsusage.h first, to test interface.
64693         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
64694         at most one method (the old code could have generated decls that
64695         didn't conform to C89, not that this was ever exercised).
64696         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
64697
64698         2006-03-19  Jim Meyering  <jim@meyering.net>
64699
64700         Work even in a chroot where d_ino values for entries in "/"
64701         don't match the stat.st_ino values for the same names.
64702         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
64703         number, iterate through all entries again, using lstat instead.
64704         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
64705         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
64706
64707         * lib/getcwd.c (__getcwd): Clarify a comment.
64708         Use memcpy in place of a call to strcpy.
64709
64710         2006-03-12  Jim Meyering  <jim@meyering.net>
64711
64712         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
64713         matches that of the current directory (which we're about to chdir ".."
64714         out of), then save the dev-ino of the parent, instead.
64715
64716         * lib/same-inode.h (SAME_INODE): New file/macro.
64717         * lib/chdir-safer.c (SAME_INODE): Remove definition.
64718         Include "same-inode.h", instead.
64719         * lib/same.c: Likewise.
64720         * lib/cycle-check.h: Include "same-inode.h".
64721         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
64722         * lib/cycle-check.c (SAME_INODE): Remove definition.
64723         * lib/root-dev-ino.h: Include "same-inode.h".
64724
64725         2006-03-11  Eric Blake  <ebb9@byu.net>
64726
64727         * lib/same.c (same_name): s/base_name/last_component/
64728         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
64729         * lib/filenamecat.c (file_name_concat): Likewise.
64730
64731         2006-03-11  Eric Blake  <ebb9@byu.net>,
64732                     Paul Eggert  <eggert@cs.ucla.edu>
64733
64734         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
64735         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
64736         drive prefix.
64737         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
64738         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
64739         (last_component): New method.
64740         * lib/dirname.c (dir_len): Determine when drive letters need a
64741         subsequent slash.  Preserve // when it is special.
64742         (dir_name): Don't append dot when drive letter is absolute.
64743         [TEST_DIRNAME]: Move into a full-blown gnulib test.
64744         * lib/basename.c (base_name): New semantics - malloc the result.
64745         Preserve // when it is special.  Preserve relative files that look
64746         like drive letters.
64747         (base_len): Preserve // when it is special.
64748         (last_component): New method, similar to old base_name semantics.
64749         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
64750         base_name.  Strip redundant slashes from ///.
64751
64752 2006-07-03  Jim Meyering  <jim@meyering.net>
64753
64754         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
64755         macro is used before the first cycle_check call.
64756
64757 2006-07-03  Eric Blake  <ebb9@byu.net>
64758
64759         * modules/dirname (Depends-on): Add xstrndup.
64760
64761 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
64762
64763         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
64764         test cases, so that config.log is a bit easier to follow.
64765
64766 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
64767
64768         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
64769         both are 64 bits, since this seems to be the tradition, and this
64770         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
64771         we ever run into a host that prefers long long to long in this
64772         case, we'll need another configure-time test.  Problem reported by
64773         Jim Meyering.
64774
64775 2006-07-02  Eric Blake  <ebb9@byu.net>
64776
64777         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
64778
64779 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
64780
64781         * modules/inttypes (Depends-on): No longer depends on stdint.
64782         * modules/stdint (Description): Say more about assumptions.
64783         Say that the fast types might differ.  Say macros are used.
64784         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
64785         (Makefile.am): Revise list of substituted symbols to match
64786         new stdint.m4.
64787         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
64788         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
64789         * tests/test-stdint.c (verify_same_types)
64790         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
64791         the code conforms to C99/C89.
64792         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
64793         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
64794
64795 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
64796
64797         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
64798         but fix a bug, by requiring at least 64 bits.
64799         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
64800         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
64801         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
64802         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
64803
64804         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
64805         changes.  Make 2.59 a prerequisite.  Check and substitute for
64806         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
64807         inttypes.h.  Do not use special include files; just use the
64808         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
64809         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
64810         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
64811         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
64812         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
64813         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
64814         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
64815         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
64816         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
64817         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
64818         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
64819         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
64820         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
64821         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
64822         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
64823         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
64824         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
64825         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
64826         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
64827         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
64828         WINT_MAX.  Check for C99 conformance more strictly, by detecting
64829         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
64830         not check for things that C99 does not require, e.g., int8_t.  If
64831         a test isn't needed unless <stdint.h> isn't working, and is
64832         unlikely to be needed for any other reason, then don't do it
64833         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
64834         size_t, since we assume C89 freestanding at least.  Do not check
64835         for sig_atomic_t, wchar_t, or wint_t, since the code now does
64836         the right thing even if the types are not defined.  Instead use:
64837         (gl_STDINT_TYPE_PROPERTIES): New macro.
64838         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
64839         testing whether <sys/types.h> clashes, as Autoconf does this for
64840         us now.  All uses removed.
64841         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
64842         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
64843         (gl_CHECK_TYPE_SAME):
64844         Remove; no longer needed.
64845         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
64846         exists, since we'll return 0 anyway in that case.
64847         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
64848
64849 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
64850
64851         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
64852         possible collision with system files.
64853         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
64854         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
64855         WCHAR_MIN and WCHAR_MAX in this case.
64856         (<stddef.h>): Do not include; no longer needed.
64857         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
64858         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
64859         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
64860         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
64861         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
64862         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
64863         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
64864         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
64865         !defined(__c99))]: Include in this case too, since it's harmless
64866         now.
64867         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
64868         dangerous to do so.
64869         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
64870         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
64871         (_STDINT_MIN, _STDINT_MAX): New macros.
64872         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
64873         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
64874         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
64875         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
64876         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
64877         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
64878         macros, not typedefs; this simplifies things quite a bit.
64879         Use long int for all types narrower than int64_t.
64880         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
64881         Define in terms of long long int or int64_t or long int,
64882         not int64_t or int32_t.  This saves some compile-time testing.
64883         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
64884         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
64885         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
64886         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
64887         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
64888         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
64889         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
64890         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
64891         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
64892         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
64893         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
64894         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
64895         undef any previous version and define our own version, for
64896         simplicity and consistency with the new macros for types.
64897         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
64898         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
64899         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
64900         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
64901         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
64902         @WINT_T_SUFFIX@ to keep things simple here.
64903         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
64904         Simplify by assuming typical 8/16/32/64 host, since we're
64905         already doing that elsewhere anyway.
64906         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
64907         and assume long long int is 64 bits if available.  This
64908         speeds up 'configure'.
64909
64910 2006-07-01  Eric Blake  <ebb9@byu.net>
64911
64912         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
64913         Reported by Andreas Buening.
64914
64915 2006-07-01  Eric Blake  <ebb9@byu.net>
64916
64917         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
64918
64919 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
64920
64921         * lib/getaddrinfo.c: fixed typo
64922
64923 2006-06-29  Jim Meyering  <jim@meyering.net>
64924
64925         * modules/strftime (Maintainer): Add my name, since with the
64926         FPRINTFTIME changes strftime.c has forked from glibc.
64927
64928 2006-06-29  Eric Blake  <ebb9@byu.net>
64929
64930         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
64931
64932 2006-06-29  Eric Blake  <ebb9@byu.net>
64933
64934         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
64935
64936 2006-06-29  Eric Blake  <ebb9@byu.net>
64937
64938         * lib/stat_.h: New file.
64939
64940 2006-06-29  Eric Blake  <ebb9@byu.net>
64941
64942         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
64943         unused static function.
64944
64945 2006-06-29  Eric Blake  <ebb9@byu.net>
64946
64947         * doc/functions.texi (Function Portability): Document missing lstat
64948         on mingw.
64949
64950 2006-06-29  Eric Blake  <ebb9@byu.net>
64951
64952         * MODULES.html.sh: Add sys_stat.
64953         * modules/sys_stat: New module.
64954         * modules/mkstemp (Depends-on): Add sys_stat.
64955
64956 2006-06-29  Derek R. Price  <derek@ximbiot.com>
64957
64958         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
64959
64960 2006-06-29  Derek R. Price  <derek@ximbiot.com>
64961
64962         * m4/c-bs-a.m4: Removed.
64963
64964 2006-06-29  Derek R. Price  <derek@ximbiot.com>
64965
64966         * lib/strftime.c: Assume strftime() exists.
64967
64968 2006-06-29  Derek Price  <derek@ximbiot.com>
64969
64970         * modules/c-bs-a: Removed - \a is C89.
64971         * MODULES.html.sh: Remove c-bs-a.
64972
64973 2006-06-29  Bruno Haible  <bruno@clisp.org>
64974
64975         * modules/wcwidth (License): Change to LGPL.
64976
64977 2006-06-28  Simon Josefsson  <jas@extundo.com>
64978
64979         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
64980         on _WIN32.
64981
64982         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
64983         getnameinfo.
64984
64985 2006-06-28  Simon Josefsson  <jas@extundo.com>
64986
64987         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
64988
64989 2006-06-28  Simon Josefsson  <jas@extundo.com>
64990
64991         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
64992         functions there.  It will succeed on Windows XP, but on Windows
64993         2000 and (presumably) earlier, it will fail, and use the internal
64994         re-implementation.
64995         (use_win32_p): New function.
64996         (getaddrinfo): Use strtoul on servname, to support numeric ports.
64997         Support AI_NUMERICSERV to disable getservbyname.
64998         (getnameinfo): New function, only supports
64999         NI_NUMERICHOST|NI_NUMERICSERV for now.
65000
65001         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
65002         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
65003         getnameinfo.
65004
65005 2006-06-28  Eric Blake  <ebb9@byu.net>
65006
65007         * modules/wcwidth: New file.
65008         * modules/mbchar (Depends-on): Add wcwidth.
65009         * modules/mbswidth (Depends-on): Add wcwidth.
65010         * MODULES.html.sh: Add wcwidth.
65011
65012 2006-06-28  Eric Blake  <ebb9@byu.net>
65013
65014         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
65015         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
65016
65017 2006-06-28  Eric Blake  <ebb9@byu.net>
65018
65019         * lib/xvasprintf.h: Fix comments.
65020
65021 2006-06-28  Eric Blake  <ebb9@byu.net>
65022
65023         * lib/mbchar.h (wcwidth): Include wcwidth.h.
65024         * lib/mbswidth.c (wcwidth): Move from here...
65025         * lib/wcwidth.h: ...to this new file.
65026
65027 2006-06-28  Derek R. Price  <derek@ximbiot.com>
65028
65029         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
65030
65031         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
65032         it's obsolete.
65033         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
65034
65035 2006-06-28  Derek R. Price  <derek@ximbiot.com>
65036
65037         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
65038         Autoconf 2.60 says this stuff was obsolete.
65039
65040 2006-06-28  Bruno Haible  <bruno@clisp.org>
65041
65042         * modules/wcwidth (Files): Add m4/wchar_t.m4.
65043
65044 2006-06-28  Bruno Haible  <bruno@clisp.org>
65045
65046         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
65047         gt_TYPE_WCHAR_T.
65048
65049 2006-06-28  Bruno Haible  <bruno@clisp.org>
65050
65051         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
65052         declaration for wcwidth.
65053         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
65054
65055 2006-06-28  Bruno Haible  <bruno@clisp.org>
65056
65057         * lib/mkdtemp.c [MINGW]: Include <io.h>.
65058         (mkdir): Define using _mkdir.
65059
65060 2006-06-28  Bruno Haible  <bruno@clisp.org>
65061
65062         * lib/getaddrinfo.h: Fix POSIX URL.
65063         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
65064         _WIN32.
65065         (use_win32_p): Make static.
65066         (getaddrinfo): Reject service name if it is empty or does not consist
65067         solely of decimal digits, or if its value is > 65535.
65068         (getnameinfo): Remove useless casts.
65069
65070 2006-06-27  Simon Josefsson  <jas@extundo.com>
65071
65072         * modules/sys_select: New file, suggested by Bruno Haible, Paul
65073         Eggert and Martin Lambers.
65074
65075 2006-06-27  Simon Josefsson  <jas@extundo.com>
65076
65077         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
65078         Eggert and Martin Lambers.
65079
65080 2006-06-27  Bruno Haible  <bruno@clisp.org>
65081
65082         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
65083         result to 0, not to empty.
65084         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
65085
65086 2006-06-27  Bruno Haible  <bruno@clisp.org>
65087
65088         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
65089
65090 2006-06-26  Simon Josefsson  <jas@extundo.com>
65091
65092         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
65093         present.
65094
65095 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
65096
65097         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
65098         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
65099         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
65100
65101 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
65102
65103         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
65104
65105 2006-06-26  Bruno Haible  <bruno@clisp.org>
65106
65107         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
65108
65109 2006-06-26  Bruno Haible  <bruno@clisp.org>
65110
65111         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
65112
65113 2006-06-26  Bruno Haible  <bruno@clisp.org>
65114
65115         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
65116         SGI C compiler in pre-C99 mode.
65117         Suggested by Mark D. Baushke and Larry Jones.
65118
65119 2006-06-26  Bruno Haible  <bruno@clisp.org>
65120
65121         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
65122         WCHAR_MAX.
65123         Reported by Mark D. Baushke and Larry Jones.
65124
65125 2006-06-26  Bruno Haible  <bruno@clisp.org>
65126
65127         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
65128         in pre-C99 mode.
65129         Suggested by Mark D. Baushke and Larry Jones.
65130
65131 2006-06-23  Simon Josefsson  <jas@extundo.com>
65132             Bruno Haible  <bruno@clisp.org>
65133
65134         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
65135         Emit mostlyclean-local rule.
65136         (func_emit_tests_Makefile_am): Likewise.
65137         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
65138
65139 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
65140
65141         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
65142
65143 2006-06-23  Bruno Haible  <bruno@clisp.org>
65144
65145         * tests/test-stdint.c: Update to match ISO C 99 Technical
65146         Corrigendum 1.
65147
65148 2006-06-23  Bruno Haible  <bruno@clisp.org>
65149
65150         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
65151
65152 2006-06-23  Bruno Haible  <bruno@clisp.org>
65153
65154         * lib/stdint_.h: Treat IRIX like OpenBSD.
65155
65156 2006-06-23  Bruno Haible  <bruno@clisp.org>
65157
65158         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
65159         ISO C 99 Technical Corrigendum 1.
65160
65161 2006-06-22  Simon Josefsson  <jas@extundo.com>
65162
65163         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
65164         MinGW.
65165
65166 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
65167
65168         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
65169         needed.  Some compiler complained about some of them.  Problem reported
65170         by Larry Jones in
65171         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
65172
65173 2006-06-21  Simon Josefsson  <jas@extundo.com>
65174
65175         * tests/test-getaddrinfo.c: New file.
65176
65177         * modules/getaddrinfo-tests: New file.
65178
65179         * MODULES.html.sh: Add inet_pton.
65180
65181         * modules/inet_pton: New file.
65182
65183 2006-06-21  Simon Josefsson  <jas@extundo.com>
65184
65185         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
65186         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
65187         of using the (limited) gnulib implementation on Windows XP.
65188
65189         * m4/inet_pton.m4: New file.
65190
65191 2006-06-21  Simon Josefsson  <jas@extundo.com>
65192
65193         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
65194         variable.
65195
65196         * lib/socket_.h: Don't define WINVER.
65197
65198         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
65199         slightly modified to work in gnulib.
65200
65201 2006-06-21  Simon Josefsson  <jas@extundo.com>
65202
65203         * doc/gnulib.texi (Windows sockets): Add.
65204
65205 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
65206
65207         * lib/read-file.c (fread_file): Start with buffer allocation of
65208         0 bytes rather than 1 byte; this simplifies the code.
65209         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
65210         code to free buffer and save/restore errno.
65211         (internal_read_file): Remove unused local.
65212
65213 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
65214
65215         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
65216         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
65217         Problem reported by Denis Excoffier in
65218         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
65219
65220 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
65221
65222         * modules/sys_socket, modules/socklen: Include sys/types since
65223         FreeBSD 4.x's sys/socket.h needs it.
65224
65225 2006-06-19  Simon Josefsson  <jas@extundo.com>
65226
65227         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
65228
65229 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
65230
65231         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
65232
65233 2006-06-19  Bruno Haible  <bruno@clisp.org>
65234
65235         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
65236         and FULL_PATH_INTTYPES_H in angle brackets.
65237         Reported by Mark D. Baushke <mdb@gnu.org>.
65238
65239 2006-06-17  Eric Blake  <ebb9@byu.net>
65240
65241         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
65242         errno.
65243
65244 2006-06-17  Bruno Haible  <bruno@clisp.org>
65245
65246         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
65247         <sys/inttypes.h>.
65248
65249 2006-06-17  Bruno Haible  <bruno@clisp.org>
65250
65251         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
65252         whether errno is declared. Assume <errno.h> declares errno.
65253
65254 2006-06-17  Bruno Haible  <bruno@clisp.org>
65255
65256         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
65257
65258 2006-06-17  Bruno Haible  <bruno@clisp.org>
65259
65260         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
65261         problem on Solaris 2.5.1.
65262
65263 2006-06-16  Eric Blake  <ebb9@byu.net>
65264
65265         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
65266         * lib/unicodeio.c [!defined errno]: Likewise.
65267         * lib/strtol.c [!defined errno]: Likewise.
65268         * lib/strtod.c [!defined errno]: Likewise.
65269
65270 2006-06-15  Eric Blake  <ebb9@byu.net>
65271
65272         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
65273
65274 2006-06-15  Eric Blake  <ebb9@byu.net>
65275
65276         * config/srclist.txt (ssize_t.m4): Lose sync.
65277
65278 2006-06-15  Bruno Haible  <bruno@clisp.org>
65279
65280         * modules/stdint (Files): Include m4/full-header-path.m4,
65281         m4/size_max.m4, m4/wchar_t.m4.
65282         (Makefile.am): Many more substitutions.
65283         * modules/stdint-tests: New file.
65284         * tests/test-stdint.c: New file.
65285
65286 2006-06-15  Bruno Haible  <bruno@clisp.org>
65287
65288         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
65289         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
65290         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
65291         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
65292         gl_CHECK_TYPE_SAME): New macros.
65293
65294 2006-06-15  Bruno Haible  <bruno@clisp.org>
65295
65296         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
65297
65298 2006-06-15  Bruno Haible  <bruno@clisp.org>
65299
65300         * lib/stdint_.h: Rewritten to be fully auto-configured.
65301         Fixes bug on HP-UX/IA64.
65302
65303 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
65304
65305         * lib/getdate.y (__attribute__): Don't define if already defined.
65306         Problem reported by Larry Jones.
65307         * lib/utimens.c (__attribute__): Likewise.
65308
65309 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
65310
65311         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
65312         reported by Andreas Schwab.
65313
65314 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65315             Bruno Haible  <bruno@clisp.org>
65316
65317         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
65318         check for the declaration of strnlen and a run test that exposes the
65319         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
65320         rpl_strndup.
65321
65322 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65323             Bruno Haible  <bruno@clisp.org>
65324
65325         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
65326
65327 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65328
65329         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
65330         compile test, for Tru64 4.0D.
65331
65332 2006-05-28  Karl Berry  <karl@gnu.org>
65333
65334         * config/srclist.txt (printf-args.c): lose sync.
65335
65336 2006-05-26  Martin Lambers  <marlam@marlam.de>
65337
65338         * lib/getpass.c: Updates the test for the native W32 API, and adds
65339         missing includes, thus fixing compilation warnings.
65340
65341 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
65342
65343         * lib/exclude.c (exclude_fnmatch): New function.
65344         (excluded_file_name): Call exclude_fnmatch.
65345         * lib/exclude.h (excluded_file_name): New prototype
65346
65347 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
65348
65349         * lib/tempname.c (small_open, large_open): New macros.
65350         (__open, __open64) [!_LIBC]: Remove.
65351         (__gen_tempname): Use small_open and large_open instead of __open
65352         and __open64.  This fixes a portability bug on HP-UX 11.11i
65353         reported by Simon Wing-Tang in
65354         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
65355
65356 2006-05-24  Bruno Haible  <bruno@clisp.org>
65357
65358         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
65359         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
65360         Reported by Thorsten Maerz <torte@netztorte.de> via
65361         Aaron Stone <aaron@serendipity.cx>.
65362
65363 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
65364
65365         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
65366         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
65367         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
65368         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
65369         not really conditional on the cache.
65370         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
65371
65372 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
65373
65374         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
65375         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
65376         (my_usleep): Don't mishandle maximum value.
65377
65378 2006-05-19  Jim Meyering  <jim@meyering.net>
65379
65380         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
65381
65382 2006-05-17  Bruno Haible  <bruno@clisp.org>
65383
65384         Cygwin portability.
65385         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
65386
65387 2006-05-17  Bruno Haible  <bruno@clisp.org>
65388
65389         * lib/stdint_.h: Fix recognition of Cygwin.
65390
65391 2006-05-15  Bruno Haible  <bruno@clisp.org>
65392
65393         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
65394         on libtool patch by Ralf Wildenhues.
65395
65396 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
65397
65398         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
65399         test for C99 conformance; (bool) 0.5 is an integer constant
65400         expression, but (bool) -0.5 is not.  Problem reported by Fedor
65401         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
65402
65403 2006-05-11  Simon Josefsson  <jas@extundo.com>
65404
65405         * m4/xvasprintf.m4: Fix obvious typo.
65406
65407 2006-05-11  Jim Meyering  <jim@meyering.net>
65408
65409         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
65410         James Lemley.
65411
65412 2006-05-10  Simon Josefsson  <jas@extundo.com>
65413
65414         * lib/md4.c: Typo fix, update copyright years.
65415         (K1, K2): Don't use L because it turn computations into 64-bit on
65416         64-bit platforms.
65417
65418 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
65419
65420         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
65421         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
65422         unwanted sign propagation, e.g., on hosts with 64-bit int.
65423         There still are some problems with reeelly weird theoretical hosts
65424         (e.g., 33-bit int) but it's not worth worrying about now.
65425         * lib/sha1.c (rol): Likewise.
65426         (K1, K2, K3, K4): Remove unnecessary L suffix.
65427
65428 2006-05-10  Bruno Haible  <bruno@clisp.org>
65429
65430         * lib/des.c: Cast to avoid warnings.
65431
65432 2006-05-09  Bruno Haible  <bruno@clisp.org>
65433
65434         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
65435         (Depends-on): Depend also on xsize, stdarg.
65436         (configure.ac): Add gl_XVASPRINTF.
65437
65438 2006-05-09  Bruno Haible  <bruno@clisp.org>
65439
65440         * m4/xvasprintf.m4: New file.
65441
65442 2006-05-09  Bruno Haible  <bruno@clisp.org>
65443
65444         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
65445         (EOVERFLOW): Define fallback value.
65446         (xstrcat): New function.
65447         (xvasprintf): Recognize the special case of a string concatenation.
65448
65449 2006-05-08  Eric Blake  <ebb9@byu.net>
65450
65451         * gnulib-tool (func_version): Base copyright year on CVS date.
65452         (func_emit_copyright_notice): New function.
65453         (func_emit_lib_Makefile_am): Use it.
65454         (func_emit_tests_Makefile_am): Likewise.
65455         (func_import): Likewise.
65456
65457 2006-05-08  Bruno Haible  <bruno@clisp.org>
65458
65459         * modules/stdarg: New file.
65460         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
65461
65462 2006-05-08  Bruno Haible  <bruno@clisp.org>
65463
65464         * m4/stdarg.m4: New file, from GNU gettext.
65465
65466 2006-05-08  Bruno Haible  <bruno@clisp.org>
65467
65468         * config/srclist.txt (build-aux/config.rpath): different from latest
65469         release.
65470
65471 2006-05-08  Bruno Haible  <bruno@clisp.org>
65472
65473         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
65474
65475 2006-05-05  Jim Meyering  <jim@meyering.net>
65476
65477         * m4/warning.m4: New file, derived from bison's file by the same name.
65478
65479 2006-05-03  Bruno Haible  <bruno@clisp.org>
65480
65481         * lib/stdint_.h: Shorter URL.
65482         * lib/inttypes.h: Likewise.
65483
65484 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
65485
65486         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
65487
65488 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
65489
65490         * lib/verify.h: Document the internals better.  Most of this change
65491         was written by Bruno Haible.
65492
65493 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
65494
65495         * doc/verify.texi: New file, partly based on a proposal by
65496         Bruno Haible.
65497
65498 2006-05-02  Bruno Haible  <bruno@clisp.org>
65499
65500         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
65501         test from here...
65502         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
65503
65504 2006-04-29  Bruno Haible  <bruno@clisp.org>
65505
65506         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
65507         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
65508
65509 2006-04-29  Bruno Haible  <bruno@clisp.org>
65510
65511         * gnulib-tool: Make --update option actually work.
65512
65513 2006-04-29  Bruno Haible  <bruno@clisp.org>
65514
65515         * doc/gcd.texi: New file.
65516         * doc/gnulib.texi: Include it.
65517
65518 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
65519
65520         * lib/getdate.y (get_date): When adding relative date, start with the
65521         initial time, not with the result of the first mktime call.
65522
65523 2006-04-25  Bruno Haible  <bruno@clisp.org>
65524
65525         * gnulib-tool (func_import): Output the include directives in three
65526         blocks, sorted separately.
65527         Reported by Ben Pfaff <blp@cs.stanford.edu>.
65528
65529 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
65530
65531         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
65532         to define main with arguments, for C++.  Reported by Eric Blake.
65533         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
65534         Prefer 'int main ()' to 'int main (void)', for C++.
65535         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
65536         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
65537         for 'main', for C99 and C++.
65538
65539 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
65540
65541         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
65542         Don't assume that exit status -1 is valid.
65543         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
65544         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
65545         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
65546         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
65547         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
65548         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
65549         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
65550         functions can be used without declaring them, or that you can
65551         exit with status -1.
65552         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
65553
65554 2006-04-24  Karl Berry  <karl@gnu.org>
65555
65556         * config/srclist.txt (longdouble.m4): sync lost.
65557
65558 2006-04-24  Eric Blake  <ebb9@byu.net>
65559
65560         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
65561
65562 2006-04-24  Bruno Haible  <bruno@clisp.org>
65563
65564         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
65565         poll() implementation in AIX.
65566         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
65567
65568 2006-04-24  Bruno Haible  <bruno@clisp.org>
65569
65570         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
65571         assigned exactly once.
65572
65573 2006-04-23  Claudio Fontana  <claudio@gnu.org>
65574             Bruno Haible  <bruno@clisp.org>
65575
65576         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
65577         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
65578         for AM_CPPFLAGS.
65579
65580 2006-04-23  Bruno Haible  <bruno@clisp.org>
65581
65582         * modules/copy-file: Depend on unistd.
65583         * modules/execute: Likewise.
65584         * modules/fatal-signal: Likewise.
65585         * modules/findprog: Likewise.
65586         * modules/mkdtemp : Likewise.
65587         * modules/pipe: Likewise.
65588         * modules/wait-process: Likewise.
65589
65590 2006-04-23  Bruno Haible  <bruno@clisp.org>
65591
65592         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
65593         condition was already detected.
65594         Reported by Ben Pfaff <blp@cs.stanford.edu>.
65595
65596 2006-04-23  Bruno Haible  <bruno@clisp.org>
65597
65598         * lib/copy-file.c: Include <unistd.h> unconditionally.
65599         * lib/execute.c: Likewise.
65600         * lib/fatal-signal.c: Likewise.
65601         * lib/findprog.c: Likewise.
65602         * lib/mkdtemp.c: Likewise.
65603         * lib/pipe.h: Likewise.
65604         * lib/pipe.c: Likewise.
65605         * lib/wait-process.h: Likewise.
65606
65607 2006-04-23  Bruno Haible  <bruno@clisp.org>
65608
65609         * gnulib-tool (func_usage): Fix --import description. Document
65610         --update.
65611         (func_import): Create temporary file in a temporary directory, if
65612         --dry-run is specified. Silence errors from 'grep' when there are no
65613         m4 files in $m4dir.
65614         (func_create_testdir): Silence errors from 'grep' when there are no
65615         m4 files in $m4dir.
65616         Reported by Karl Berry <karl@freefriends.org>.
65617
65618 2006-04-20  Bruno Haible  <bruno@clisp.org>
65619
65620         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
65621         one argument, so that the code will be portable to Autoconf 2.60.
65622         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
65623         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
65624         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
65625
65626 2006-04-19  Derek Price  <derek@ximbiot.com>
65627             Eric Blake  <ebb9@byu.net>
65628
65629         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
65630         rather than "/full/path.h".  Update comment to match.  Shorten &
65631         generalize m4_translit call via AS_TR_CPP.
65632
65633 2006-04-19  Derek Price  <derek@ximbiot.com>
65634             Eric Blake  <ebb9@byu.net>
65635
65636         * lib/inttypes.h: Correct grammar in comment.
65637
65638 2006-04-18  Derek Price  <derek@ximbiot.com>
65639             Paul Eggert  <eggert@cs.ucla.edu>
65640
65641         * modules/inttypes: New file.
65642         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
65643
65644 2006-04-18  Derek Price  <derek@ximbiot.com>
65645             Paul Eggert  <eggert@cs.ucla.edu>
65646
65647         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
65648         New files.
65649
65650 2006-04-18  Derek Price  <derek@ximbiot.com>
65651             Paul Eggert  <eggert@cs.ucla.edu>
65652
65653         * lib/inttypes.h: New file.
65654         * lib/strtoimax.c: Assume <inttypes.h>.
65655
65656 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
65657
65658         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
65659         isn't mounted.  Problem reported by Kir Kolyshkin.
65660
65661 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
65662
65663         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
65664         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
65665         Derek R. Price.
65666         * lib/regex.h (RE_DUP_MAX): Update comment to match current
65667         implementation.
65668
65669 2006-04-12  Eric Blake  <ebb9@byu.net>
65670
65671         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
65672         is now done automatically by the corresponding Autoconf macro.
65673
65674 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
65675
65676         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
65677         time_r.h.
65678
65679 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
65680
65681         Merge regex changes from libc, removing some of our
65682         POSIX-conformance changes that were rejected and redoing them in a
65683         less-intrusive way.
65684
65685         * lib/regcomp.c (re_compile_internal, init_dfa):
65686         Length arg is now size_t, not Idx.  All uses changed.
65687         (peek_token): Forward decl now says internal_function.
65688         (__re_error_msgid, __re_error_msgid_idx):
65689         Now static rather than extern with attribute_hidden.
65690         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
65691         For some reason libc prefers K&R style defns for external functions.
65692         (regerror) [!defined _LIBC]: Likewise.
65693         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
65694         (seek_collating_symbol_entry, lookup_collation_sequence_value):
65695         (build_range_exp, build_collating_symbol):
65696         Use K&R-style defn.
65697         (re_compile_fastmap): Use '\0' to memset, not 0.
65698         (utf8_sb_map): Make the calculations more obvious.
65699         (init_dfa, parse_bracket_exp, build_charclass_op):
65700         Call calloc and cast result, as glibc does.
65701         (init_word_char, fetch_token, peek_token, peek_token_bracket):
65702         (build_range_exp, build_collating_symbol):
65703         Now internal functions.
65704
65705         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
65706
65707         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
65708         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
65709         Don't depend on VMS; depend on __VMS instead, for POSIX
65710         namespace cleanness.
65711         (regoff_t): Define to ssize_t, not long int.
65712
65713         Remove the REG_ macros named below.  Instead, make the old names
65714         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
65715         __USE_GNU_REGEX.
65716         (REG_BACKSLASH_ESCAPE_IN_LISTS):
65717         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
65718         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
65719         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
65720         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
65721         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
65722         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
65723         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
65724         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
65725         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
65726         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
65727         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
65728         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
65729         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
65730         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
65731         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
65732         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
65733         (REG_NREGS):
65734         Remove.  All uses replaced by the old RE_* names.
65735         (RE_BACKSLASH_ESCAPE_IN_LISTS):
65736         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
65737         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
65738         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
65739         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
65740         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
65741         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
65742         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
65743         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
65744         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
65745         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
65746         Don't bother having these macros be independent of each others'
65747         values, since they no longer exist in the POSIX name space.
65748
65749         Rename the following member names back to their old names,
65750         unless !__USE_GNU_REGEX.  All uses changed back.
65751         (buffer): Renamed from re_buffer.
65752         (allocated): Renamed from re_allocated.
65753         (used): Renamed from re_used.
65754         (syntax): Renamed from re_syntax.
65755         (fastmap): Renamed from re_fastmap.
65756         (translate): Renamed from re_translate.
65757         (can_be_null): Renamed from re_can_be_null.
65758         (regs_allocated): Renamed from re_regs_allocated.
65759         (fastmap_accurate): Renamed from re_fastmap_accurate.
65760         (no_sub): Renamed from re_no_sub.
65761         (not_bol): Renamed from re_not_bol.
65762         (not_eol): Renamed from re_not_eol.
65763         (newline_anchor): Renamed from re_newline_anchor.
65764         (num_regs): Renamed from rm_num_regs.
65765         (start): Renamed from rm_start.
65766         (end): Renamed from rm_end.
65767
65768         (free_state): Move up a bit.
65769
65770         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
65771         #define to be empty.
65772         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
65773         when that is what is intended.
65774         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
65775         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
65776         (MAX): New macro.
65777         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
65778         All uses changed back to re_malloc, etc.  It's now the caller's
65779         responsibility to check for overflow; all callers changed.
65780         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
65781         (re_x2nrealloc): Remove.
65782         (free_state): Remove decl.
65783
65784         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
65785         (re_set_registers, re_exec):
65786         Use K&R-style defn.
65787
65788         2006-01-31  Roland McGrath  <roland@redhat.com>
65789
65790         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
65791         Reported by Mike Frysinger <vapier@gentoo.org>.
65792
65793         2006-01-15  Andreas Jaeger  <aj@suse.de>
65794
65795         [BZ #1950]
65796         * lib/regex_internal.c (re_string_reconstruct): Adjust for
65797         build_wcs_upper_buffer change.
65798         (build_wcs_upper_buffer): Change return type.
65799
65800         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
65801
65802         * lib/regex_internal.h: Include <stdint.h> if available.
65803
65804         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
65805
65806         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
65807
65808         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
65809
65810         * lib/regcomp.c: Adjust for changed secondary hash function.
65811
65812         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
65813
65814         * lib/regex.h: Pretty printing.
65815         Clean up namespace a bit.
65816
65817         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
65818
65819         * lib/regexec.c (update_cur_sifted_state, check_arrival,
65820         check_arrival_add_next_nodes): Avoid using uninitialized variable.
65821
65822         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
65823                     Ulrich Drepper  <drepper@redhat.com>
65824
65825         [BZ #1302]
65826         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
65827         changed.
65828         (bitset_word_t): Renamed from bitset_word.  All uses changed.
65829
65830         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
65831
65832         [BZ #281]
65833         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
65834         * lib/regcomp.c: Remove unnecessary uses of
65835         unsigned RE_TRANSLATE_TYPE.
65836         * lib/regex_internal.h: Likewise.
65837         * lib/regex_internal.c: Likewise.
65838         * lib/regexec.c: Likewise.
65839         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
65840
65841         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
65842
65843         * lib/regexec.c (find_recover_state): Remove unnecessary
65844         initialization.
65845         (transit_state_bkref): Make DFA a const pointer.
65846         (get_subexp): Likewise.
65847         (check_arrival): Likewise.
65848         (update_cur_sifted_state): Likewise.
65849         (re_search_internal): Likewise.
65850         (prune_impossible_nodes): Likewise.
65851         (acquire_init_state_context): Likewise.
65852         (proceed_next_node): Likewise.
65853         (set_regs): Likewise.
65854         (free_fail_stack_return): Likewise.
65855         (check_arrival_expand_ecl): Mark DFA parameter as const.
65856         (check_arrival_expand_ecl_sub): Likewise.
65857         (check_subexp_limits): Likewise.
65858         (sub_epsilon_src_nodes):  Likewise.
65859         (add_epsilon_src_nodes):  Likewise.
65860         (merge_state_array): Likewise.
65861         (update_regs): Likewise.
65862         (build_trtable): Likewise.
65863         (sift_states_backward): Mark MCTX parameter as const.
65864         (build_sifted_states): Likewise.
65865         (update_cur_sifted_state): Likewise.
65866         (sift_states_mkref): Likewise.
65867         (check_arrival_expand_ecl): Mark eclosure as const.
65868         (check_dst_limits_calc_pos_1): Likewise.
65869         * lib/regex_internal.h (re_match_context_t): Make dfa a const
65870         pointer.
65871
65872         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
65873
65874         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
65875         (transit_state_sb): Likewise.
65876         (transit_state_mb): Likewise.
65877         (sift_states_iter_mb): Likewise.
65878         (check_arrival_add_next_nodes): Likewise.
65879         (check_node_accept_bytes): Change first parameter to pointer-to-const.
65880         [_LIBC] (re_search_2_stub): Use mempcpy.
65881
65882         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
65883         mbrtowc for very simple UTF-8 case.
65884
65885         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
65886         a pointer-to-const.
65887         (re_acquire_state_context): Likewise.
65888         * lib/regex_internal.h: Adjust prototypes.
65889
65890         * lib/regex.c: Prevent using C++ compilers.
65891
65892         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
65893         (re_acquire_state_context): Likewise.
65894
65895 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
65896
65897         * modules/regex (Depends-on): Add ssize_t.
65898
65899 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
65900
65901         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
65902         translation table.
65903
65904 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
65905
65906         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
65907
65908 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
65909             Bruno Haible  <bruno@clisp.org>
65910
65911         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
65912         <sys/types.h> and <inttypes.h>.
65913
65914 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65915
65916         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
65917         `__error_t_defined', so argp.h will not typedef the former.
65918
65919 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
65920
65921         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
65922         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
65923         glibc names.  Even if glibc is changed to conform to POSIX, the
65924         traditional names will be available anyway, since regex depends on
65925         the extensions module.  Also, fix a longstanding typo in the
65926         implementation of Spencer ERE test #75 from grep 2.3.  Problems
65927         reported by Emanuele Giaquinta.  Also, change sense of cached
65928         variable, so that the message makes sense.
65929
65930 2006-03-24  Simon Josefsson  <jas@extundo.com>
65931
65932         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
65933         including some doc fixes.
65934         (base64_encode_alloc): Fix +1 bug on allocation failures.
65935
65936 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65937
65938         * lib/base64.c (base64_encode): Do not read past end of array with
65939         unsanitized input on systems with CHAR_BIT > 8.
65940
65941 2006-03-24  Eric Blake  <ebb9@byu.net>
65942
65943         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
65944
65945 2006-03-22  Karl Berry  <karl@gnu.org>
65946
65947         * config/srclist.txt (*setenv.[ch]): get from coreutils.
65948         * config/srclistvars.sh (COREUTILS): new var.
65949
65950 2006-03-17  Jim Meyering  <jim@meyering.net>
65951
65952         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
65953         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
65954
65955 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
65956
65957         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
65958         no longer needs it.  Instead, check that regoff_t is as least
65959         as wide as ptrdiff_t.
65960
65961         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
65962         so that our regex.h stays compatible with the installed regex.
65963         This is helpful for installers who configure --without-included-regex.
65964         Problem reported by Emanuele Giaquinta.
65965
65966 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
65967
65968         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
65969         Typedef to long int, not to off_, as POSIX will likely change
65970         in that direction.
65971
65972 2006-03-15  Eric Blake  <ebb9@byu.net>
65973
65974         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
65975
65976 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
65977
65978         * lib/argp-help.c (validate_uparams): Fix typo
65979         * lib/argp-parse.c (argp_default_options): Consistently begin help
65980         messages with a lowercase letter.
65981
65982 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
65983
65984         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
65985         overrun buffers and shouldn't be used (much as gets shouldn't be
65986         used).
65987         * lib/time_r.c (asctime_r, ctime_r): Likewise.
65988
65989 2006-03-08  Simon Josefsson  <jas@extundo.com>
65990
65991         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
65992         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
65993
65994 2006-03-08  Simon Josefsson  <jas@extundo.com>
65995
65996         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
65997         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
65998
65999 2006-03-08  Simon Josefsson  <jas@extundo.com>
66000
66001         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
66002         signal that configure disabled the device.
66003
66004 2006-03-08  Simon Josefsson  <jas@extundo.com>
66005
66006         * build-aux/maint.mk: Fix refresh-po, to handle no translated
66007         languages.
66008
66009 2006-03-07  Simon Josefsson  <jas@extundo.com>
66010
66011         * modules/getopt (Depends-on): Add unistd.
66012
66013         * modules/unistd: New file.
66014
66015 2006-03-07  Simon Josefsson  <jas@extundo.com>
66016
66017         * modules/gc-random: New file.
66018
66019 2006-03-07  Simon Josefsson  <jas@extundo.com>
66020
66021         * m4/unistd_h.m4: New file.
66022
66023 2006-03-07  Simon Josefsson  <jas@extundo.com>
66024
66025         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
66026         test to be side-effect free by storing the result in the cache
66027         variable gl_cv_lib_readline, and moving the assignment of
66028         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
66029         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
66030
66031 2006-03-07  Simon Josefsson  <jas@extundo.com>
66032
66033         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
66034         error on missing devices (the functions will return an error).
66035
66036         * m4/gc.m4: Move random stuff to gc-random.m4
66037
66038 2006-03-07  Simon Josefsson  <jas@extundo.com>
66039
66040         * lib/unistd_.h: New file.
66041
66042 2006-03-07  Simon Josefsson  <jas@extundo.com>
66043
66044         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
66045
66046 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
66047
66048         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
66049         Problem reported by Juan Manuel Guerrero.
66050
66051 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
66052
66053         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
66054         the unistd module.
66055         * lib/getlogin_r.c: Likewise.
66056         * lib/getlogin_r.h: Likewise.
66057         * lib/glob.c: Likewise.
66058         * lib/pagealign_alloc.c: Likewise.
66059         * lib/unistd_.h: Remove; no longer needed.
66060
66061 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
66062
66063         * MODULES.html.sh (Support for systems lacking POSIX:2001):
66064         Add unistd.
66065         * modules/c-stack (Depends-on): Add unistd.
66066         * modules/getlogin_r: Likewise.
66067         * modules/glob: Likewise.
66068         * modules/pagealign_alloc: Likewise.
66069         * modules/unistd (Files): Remove lib/unistd_.h.
66070         (EXTRA_DIST): Remove.
66071         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
66072         need unistd_.h.
66073         (MOSTLYCLEANFILES): Remove unistd.h-t.
66074
66075 2006-03-03  Simon Josefsson  <jas@extundo.com>
66076
66077         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
66078
66079 2006-03-03  Simon Josefsson  <jas@extundo.com>
66080
66081         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
66082         libidn and bison.
66083
66084 2006-03-03  Simon Josefsson  <jas@extundo.com>
66085
66086         * build-aux/maint.mk: Add indent target.
66087
66088 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
66089
66090         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
66091         our replacement poll.h in any case, to avoid a differing
66092         declaration from a system header.  Seen on AIX.
66093
66094 2006-03-01  Simon Josefsson  <jas@extundo.com>
66095
66096         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
66097         <kasal@ucw.cz>.
66098
66099 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
66100
66101         * modules/gettime (Depends-on): Add extensions module.
66102         * modules/nanosleep (Depends-on): Likewise.
66103         * modules/settime (Depends-on): Likewise.
66104
66105 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
66106
66107         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
66108         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
66109         pedantically.
66110         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
66111         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
66112
66113         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
66114         not "==".  Reported by Ralf Wildenhues.
66115
66116 2006-03-01  Karl Berry  <karl@gnu.org>
66117
66118         * doc/Copyright/request-*: new files, synced from gnuorg.
66119
66120 2006-03-01  Karl Berry  <karl@gnu.org>
66121
66122         * config/srclist.txt (Copyright/*): new entries.
66123
66124 2006-02-28  Simon Josefsson  <jas@extundo.com>
66125
66126         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
66127
66128 2006-02-27  Simon Josefsson  <jas@extundo.com>
66129
66130         * lib/base64.h: Indent #define's.  From Jim Meyering
66131         <jim@meyering.net>.
66132
66133 2006-02-27  Jim Meyering  <jim@meyering.net>
66134
66135         Revert the change of 2006-02-24, so these files can continue
66136         to be sync'd from gettext.
66137         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
66138         of `config.h'.
66139
66140 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
66141
66142         * modules/intprops: New file.
66143         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
66144         Add intprops.
66145         * modules/getloadavg (Files): Remove lib/intprops.h.
66146         (Depends-on): Add intprops.
66147         * modules/human: Likewise.
66148         * modules/inttostr: Likewise.
66149         * modules/openat: Likewise.
66150         * modules/sig2str: Likewise.
66151         * modules/userspec: Likewise.
66152         * modules/utimecmp: Likewise.
66153         * modules/xnanosleep: Likewise.
66154         * modules/xstrtol: Likewise.
66155
66156 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
66157
66158         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
66159         * modules/lock-tests (TESTS): Use $(EXEEXT).
66160         * modules/tls-tests: Likewise.
66161         * modules/argp-tests: Likewise.
66162         (check_PROGRAMS): New var, replacing...
66163         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
66164
66165 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66166
66167         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
66168         `config.h'.
66169
66170 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
66171
66172         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
66173
66174 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66175
66176         Sync from coreutils.
66177         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
66178         gl_CHDIR_SAFER.
66179
66180 2006-02-22  Jim Meyering  <jim@meyering.net>
66181
66182         Sync from coreutils.
66183         * m4/chdir-safer.m4: New file.
66184
66185 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
66186
66187         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
66188         AT_FDCWD exceeds INT_MAX.
66189         * lib/openat.h (AT_FDCWD): Likewise.
66190
66191 2006-02-17  Eric Blake  <address@hidden>
66192
66193         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
66194
66195 2006-02-16  Simon Josefsson  <jas@extundo.com>
66196
66197         * modules/getaddrinfo (Depends-on): Add sys_socket.
66198
66199 2006-02-15  Simon Josefsson  <jas@extundo.com>
66200
66201         * build-aux/maint.mk: Add dsyntax-check rule.
66202
66203 2006-02-15  Eric Blake  <ebb9@byu.net>
66204
66205         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
66206         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
66207         'present but cannot compile' warnings on cygwin.
66208         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
66209         use ws2tcpip.h if sys/socket.h works.
66210         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
66211         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
66212
66213 2006-02-14  Simon Josefsson  <jas@extundo.com>
66214
66215         * modules/maintainer-makefile (Files): Rename.
66216
66217         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
66218         and (the local) Makefile.cfg to maint-cfg.mk.
66219
66220         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
66221         to the latter.
66222
66223         * modules/maintainer-makefile: New module.
66224
66225         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
66226         severaly stripped to make it possible to build it up from scratch
66227         with reliable tests.
66228
66229         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
66230         fixes to permit overriding the default actions when configure and
66231         makefile are not available.
66232
66233 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
66234
66235         Sync from coreutils.
66236         * modules/lstat (Depends-on): Don't depend on xalloc.
66237         (License): Change from GPL to LGPL, since this is now simply a
66238         replacement for a libc function.
66239
66240 2006-02-14  Jim Meyering  <jim@meyering.net>
66241
66242         Sync from coreutils.
66243
66244         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
66245         failure on deficient systems, and simplify gnulib lgpl dependencies.
66246         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
66247         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
66248
66249         * lib/xalloc-die.c: Remove unused definition of N_.
66250
66251 2006-02-14  Jim Meyering  <jim@meyering.net>
66252
66253         Sync from coreutils.
66254         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
66255         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
66256         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
66257         double-quote uses of that variable, to accommodate the rare case in
66258         which getmntent is available in none of the libraries checked.  This
66259         happens at least on FreeBSD 5.0.
66260
66261 2006-02-13  Simon Josefsson  <jas@extundo.com>
66262
66263         * gnulib-tool (Usage): Fix --import, from
66264         karl@freefriends.org (Karl Berry).
66265
66266 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
66267
66268         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
66269
66270 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
66271
66272         * lib/argp-namefrob.h: Restore changes accidentally lost during the
66273         "autoupdate" on 2005-12-12.
66274
66275 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
66276
66277         * modules/closeout (Depends-on): Remove atexit.
66278
66279 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
66280
66281         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
66282         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
66283
66284 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
66285
66286         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
66287         __EXTENSIONS__ if this causes compilation to fail.  Problem
66288         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
66289         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
66290
66291 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
66292
66293         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
66294         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
66295         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
66296         All uses changed.
66297
66298 2006-01-26  Simon Josefsson  <jas@extundo.com>
66299
66300         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
66301         prototype is visible on mingw32.
66302
66303         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
66304         for mingw32.
66305
66306         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
66307         mingw32).
66308
66309 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
66310
66311         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
66312         attempt to open for write; this always fails, at least on POSIX
66313         hosts.  This reinstates the 2006-01-09 change, which was
66314         inadvertently removed.
66315
66316 2006-01-26  Bruno Haible  <bruno@clisp.org>
66317
66318         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
66319         Reported by Paul Eggert.
66320
66321 2006-01-26  Bruno Haible  <bruno@clisp.org>
66322             Paul Eggert  <eggert@cs.ucla.edu>
66323
66324         * lib/stdbool_.h (_Bool)
66325         [(! (defined __cplusplus || defined __BEOS__)
66326           && !defined __GNUC__
66327           && !(defined __HP_cc || defined __xlc__
66328                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
66329                || defined __sgi))]:
66330         #define to signed char in these cases too; this simplifies
66331         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
66332         etc., separately) and makes it more conservative.
66333
66334 2006-01-25  Simon Josefsson  <jas@extundo.com>
66335
66336         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
66337         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
66338         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
66339
66340 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
66341
66342         * lib/argp-namefrob.h: Bugfix. Remove stray #
66343
66344 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
66345
66346         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
66347         so that we test the test.
66348         Check for yet another HP-UX cc bug involving *bool |= bool.
66349
66350 2006-01-25  Karl Berry  <karl@gnu.org>
66351
66352         * config/srclist.txt (vasnprintf.c): sync lost.
66353
66354 2006-01-25  Jim Meyering  <jim@meyering.net>
66355
66356         Sync from the stable (b5) branch of coreutils:
66357
66358         * lib/fts.c (fts_children): Don't let close() clobber errno from
66359         failed fchdir().
66360
66361         * lib/fts.c (fts_stat): When following a symlink-to-directory,
66362         don't necessarily interpret stat-fails+lstat-succeeds as indicating
66363         a dangling symlink.  That can also happen at least for ELOOP.
66364         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
66365         FYI, this bug predates the inclusion of fts.c in coreutils.
66366
66367         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
66368         in their own block, so pre-c99 compilers don't object.
66369
66370         Avoid the double-free (first in fts_read, second in fts_close) that
66371         would occur when an `active' directory is made inaccessible (e.g.,
66372         via chmod a-x) during a traversal.
66373         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
66374         before returning.  Reproduce this failure by
66375         mkdir -p a/b; cd a; chmod a-x . b
66376         Reported by Stavros Passas.
66377
66378 2006-01-25  Jim Meyering  <jim@meyering.net>
66379
66380         * lib/fileblocks.c: Remove more useless parentheses.
66381         * lib/readutmp.h: Likewise.
66382
66383 2006-01-25  Bruno Haible  <bruno@clisp.org>
66384
66385         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
66386         warnings.
66387         Reported by Paul Eggert.
66388
66389 2006-01-25  Bruno Haible  <bruno@clisp.org>
66390
66391         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
66392         rid of a trap command. For Solaris sh.
66393         Reported by Mark D. Baushke <mdb@gnu.org>.
66394
66395 2006-01-24  Simon Josefsson  <jas@extundo.com>
66396
66397         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
66398         Bruno.
66399
66400 2006-01-24  Karl Berry  <karl@gnu.org>
66401
66402         * config/srclist.txt (argp-namefrob.h): sync lost.
66403
66404 2006-01-24  Jim Meyering  <jim@meyering.net>
66405
66406         * modules/openat (Files): Add lib/intprops.h.
66407         From Mark D. Baushke.
66408
66409 2006-01-24  Jim Meyering  <jim@meyering.net>
66410
66411         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
66412         Reported by Mark D. Baushke.
66413
66414 2006-01-24  Jim Meyering  <jim@meyering.net>
66415
66416         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
66417
66418 2006-01-24  Bruno Haible  <bruno@clisp.org>
66419
66420         * modules/strnlen (Maintainer): Change from glibc to all.
66421
66422 2006-01-24  Bruno Haible  <bruno@clisp.org>
66423
66424         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
66425         Patch by Paul Eggert.
66426
66427 2006-01-24  Bruno Haible  <bruno@clisp.org>
66428
66429         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
66430         already has it.
66431         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
66432         2005-11-26.
66433
66434         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
66435         'signed char' to avoid problems with the built-in _Bool type.
66436         Reported by Paul Eggert on 2005-11-26.
66437
66438 2006-01-24  Bruno Haible  <bruno@clisp.org>
66439
66440         * gnulib-tool (func_import): Avoid constructing complicated sed
66441         expressions inside backquote.
66442         Report and solution by Mark D. Baushke <mdb@gnu.org>.
66443
66444 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
66445
66446         These changes imported from libc.
66447         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
66448         test and two separate function calls.
66449         * lib/strndup.c (__strndup): Add libc_hidden_def.
66450
66451 2006-01-23  Simon Josefsson  <jas@extundo.com>
66452
66453         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
66454         Remove the test_*_SOURCES variable: automake infers it by default.
66455         * modules/tls-tests: Likewise.
66456
66457 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
66458
66459         Work around porting bugs reported by Dieter in
66460         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
66461         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
66462         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
66463         Include "getopt.h" first, to check interface.
66464         (getenv): Declare only if defined HAVE_DECL_GETENV &&
66465         !HAVE_DECL_GETENV.
66466         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
66467         (__strndup): Revert to K&R-style function dfns, the glibc style.
66468         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
66469         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
66470         Include strnlen.h first, to get prototype properly.
66471         (strnlen): Renamed from __strnlen.
66472         Remove weak alias.
66473
66474 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
66475
66476         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
66477
66478 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
66479
66480         * config/srclist.txt: Adjust to reflect glibc reorganization.
66481         This affects only comments.
66482
66483 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
66484
66485          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
66486          Reported by Bruce Korb <bkorb@gnu.org>.
66487
66488 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
66489
66490         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
66491         to pacify gcc -Wswitch-default.
66492
66493 2006-01-22  Bruno Haible  <bruno@clisp.org>
66494
66495         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
66496         temporary buffer for sprintf, take into account the precision also
66497         for 'd', 'i', 'u', 'o', 'x', 'X'.
66498
66499 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
66500
66501         * modules/argp-tests: New module
66502         * tests/test-argp.c: New file
66503         * tests/test-argp-2.sh: New file
66504
66505 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
66506
66507         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
66508         (__argp_base_name): Removed
66509         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
66510         typo.
66511         (__argp_base_name): Provide macro definition or extern declaration
66512         depending on the configuration
66513
66514 2006-01-20  Simon Josefsson  <jas@extundo.com>
66515
66516         * modules/inet_ntop (Depends-on): Depend on sys_socket.
66517
66518 2006-01-20  Simon Josefsson  <jas@extundo.com>
66519
66520         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
66521
66522 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
66523
66524         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
66525         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
66526         Suggested by Bruno Haible.
66527
66528 2006-01-20  Karl Berry  <karl@gnu.org>
66529
66530         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
66531         until changes propagate, I guess.
66532
66533 2006-01-19  Simon Josefsson  <jas@extundo.com>
66534
66535         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
66536
66537 2006-01-19  Simon Josefsson  <jas@extundo.com>
66538
66539         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
66540
66541 2006-01-19  Simon Josefsson  <jas@extundo.com>
66542
66543         * gnulib-tool: Set check_PROGRAMS.
66544
66545         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
66546         modules/des-tests, modules/gc-arcfour-tests,
66547         modules/gc-arctwo-tests, modules/gc-des-tests,
66548         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
66549         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
66550         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
66551         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
66552         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
66553         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
66554         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
66555         test_*_SOURCES.
66556
66557 2006-01-18  Simon Josefsson  <jas@extundo.com>
66558
66559         * modules/socklen (Depends-on): Depend on sys_socket.
66560
66561 2006-01-18  Simon Josefsson  <jas@extundo.com>
66562
66563         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
66564         modules/des-tests, modules/gc-arcfour-tests,
66565         modules/gc-arctwo-tests, modules/gc-des-tests,
66566         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
66567         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
66568         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
66569         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
66570         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
66571         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
66572         $(EXEEXT) to automake TESTS variable, for mingw32.
66573
66574 2006-01-17  Simon Josefsson  <jas@extundo.com>
66575
66576         * modules/socklen (Include): Need sys/socket.h.
66577
66578 2006-01-17  Bruno Haible  <bruno@clisp.org>
66579
66580         * modules/ssize_t (Include): Add <sys/types.h>.
66581
66582 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
66583
66584         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
66585         it's not portable and it doesn't work with cross-compiles.
66586         Problem reported by Bruno Haible.  Fix missing-$ typo in
66587         'test "gl_cv_ignore_unused_libraries" ...' that prevented
66588         -zignore from being used with Sun's C compiler.
66589
66590 2006-01-12  Simon Josefsson  <jas@extundo.com>
66591
66592         * lib/base64.c: Fix warning, reported by Bruno Haible
66593         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
66594
66595 2006-01-12  Bruno Haible  <bruno@clisp.org>
66596
66597         * modules/ldd: New file.
66598         * build-aux/ldd.sh.in: New file.
66599         * MODULES.html.sh (Support for building libraries and executables): Add
66600         ldd.
66601
66602 2006-01-12  Bruno Haible  <bruno@clisp.org>
66603
66604         * m4/ldd.m4: New file.
66605
66606 2006-01-12  Bruno Haible  <bruno@clisp.org>
66607
66608         * gnulib-tool (func_import, func_create_testdir): Don't go into an
66609         endless loop while replacing $auxdir with build-aux.
66610
66611 2006-01-11  Simon Josefsson  <jas@extundo.com>
66612
66613         * lib/stdint_.h (SIZE_MAX): Add missing (.
66614
66615 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
66616
66617         Sync from coreutils.
66618         * lib/md5.c: Fix commentary typos.
66619         (alignof, UNALIGNED_P): No need for a GCC-specific version.
66620         * lib/md5.h (__attribute__): Remove; unused.
66621         * lib/sha1.c: Fix commentary to match md5 better.
66622         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
66623         so that we don't need to worry about alignment.  All uses changed.
66624         This merges the 2005-10-28 md5 change into sha1.
66625
66626 2006-01-11  Jim Meyering  <jim@meyering.net>
66627
66628         Sync from coreutils.
66629         * lib/md5.c (OP): Fix spacing.
66630
66631 2006-01-11  Bruno Haible  <bruno@clisp.org>
66632
66633         Ensure automatic ordering between gl_LOCK and gl_ARGP.
66634         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
66635         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
66636
66637 2006-01-11  Bruno Haible  <bruno@clisp.org>
66638
66639         Ensure automatic ordering between gl_LOCK and gl_ARGP.
66640         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
66641         the "early" section as well.
66642
66643 2006-01-11  Bruno Haible  <bruno@clisp.org>
66644
66645         Avoid "ar: no archive members specified" error on MacOS X.
66646         * gnulib-tool (func_modules_add_dummy): New function.
66647         (func_import, func_create_testdir): Invoke it.
66648
66649 2006-01-11  Bruno Haible  <bruno@clisp.org>
66650
66651         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
66652         with $auxdir in AC_CONFIG_FILES statements.
66653
66654 2006-01-11  Bruno Haible  <bruno@clisp.org>
66655
66656         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
66657         Initialize also noinst_HEADERS to empty.
66658
66659 2006-01-11  Bruno Haible  <bruno@clisp.org>
66660
66661         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
66662         variables.
66663         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
66664         autoreconf.
66665
66666 2006-01-11  Bruno Haible  <bruno@clisp.org>
66667
66668         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
66669         overridable by the user.
66670         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
66671
66672 2006-01-10  Simon Josefsson  <jas@extundo.com>
66673
66674         * modules/sys_socket: New file.
66675
66676 2006-01-10  Simon Josefsson  <jas@extundo.com>
66677
66678         * m4/sys_socket_h.m4: New file.
66679
66680 2006-01-10  Simon Josefsson  <jas@extundo.com>
66681
66682         * lib/socket_.h: New file.
66683
66684 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
66685
66686         * modules/readutmp (Maintainer): Add myself.
66687
66688 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
66689
66690         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
66691         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
66692         People who are still concerned with buggy memcmp implementations
66693         can invoke gl_FUNC_MEMCMP themselves.
66694
66695 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
66696
66697         * lib/regex_internal.h (BITSET_WORD_BITS):
66698         Work around a bug in 64-bit PGC (before version 6.1-2), where the
66699         preprocessor mishandles large unsigned values as if they were signed.
66700         Problem reported by Claudio Fontana in
66701         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
66702
66703 2006-01-10  Jim Meyering  <jim@meyering.net>
66704
66705         Avoid the double-free (first in fts_read, second in fts_close) that
66706         would occur when an `active' directory is made inaccessible (e.g.,
66707         via chmod a-x) during a traversal.
66708         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
66709         before returning.  Reproduce this failure by
66710         mkdir -p a/b; cd a; chmod a-x . b
66711         Reported by Stavros Passas.
66712
66713         Sync from coreutils.
66714         * lib/sha1.c: Tweak grammar in a comment.
66715
66716 2006-01-10  Jim Meyering  <jim@meyering.net>
66717
66718         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
66719         Patch by Joerg Sonnenberger.
66720
66721 2006-01-10  Bruno Haible  <bruno@clisp.org>
66722
66723         * modules/readutmp: Depend on module free.
66724         * modules/strtok_r: Depend on module restrict.
66725
66726 2006-01-10  Bruno Haible  <bruno@clisp.org>
66727
66728         * modules/gettext (configure.ac): Add an invocation of
66729         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
66730
66731 2006-01-10  Bruno Haible  <bruno@clisp.org>
66732
66733         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
66734         Reported by Werner Lemberg <wl@gnu.org>.
66735
66736 2006-01-10  Bruno Haible  <bruno@clisp.org>
66737
66738         * lib/localcharset.c: Update from GNU gettext.
66739
66740 2006-01-10  Bruno Haible  <bruno@clisp.org>
66741
66742         * lib/argp.h (__const): Remove macro. Use const instead.
66743         * lib/argp-fmtstream.h (__const): Likewise.
66744         * lib/glob_.h (__const): Remove macro.
66745         * lib/glob-libc.h: Use const instead of __const.
66746
66747 2006-01-10  Bruno Haible  <bruno@clisp.org>
66748
66749         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
66750         variable.
66751         Needed to avoid an automake error regarding the 'gettext' module.
66752
66753 2006-01-09  Simon Josefsson  <jas@extundo.com>
66754
66755         * modules/inet_ntop (Depends-on): Add restrict.
66756
66757 2006-01-09  Simon Josefsson  <jas@extundo.com>
66758
66759         * modules/gc-rijndael-tests (License): Put under LGPL.
66760
66761         * modules/gc-des-tests (License): Likewise.
66762
66763         * modules/gc-arcfour-tests (License): Likewise.
66764
66765         * modules/gc-arctwo-tests (License): Likewise.
66766
66767         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
66768
66769         * modules/gc-hmac-sha1-tests (Files): Likewise.
66770
66771         * modules/gc-hmac-md5-tests (License): Likewise.
66772
66773         * modules/gc-sha1-tests (License): Likewise.
66774
66775         * modules/gc-md5-tests (License): Likewise.
66776
66777         * modules/gc-md4-tests (License): Likewise.
66778
66779         * modules/gc-md2-tests (License): Likewise.
66780
66781         * modules/gc-tests (License): Likewise.
66782
66783         * modules/des-tests (License): Likewise.
66784
66785         * modules/md4-tests (License): Likewise.
66786
66787         * modules/md2-tests (License): Likewise.
66788
66789 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
66790
66791         Sync from coreutils:
66792
66793         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
66794         * modules/lib-ignore: New file.
66795         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
66796         chdir-safer.m4, lchmod.m4.
66797         * modules/openat: Add mkdirat.c, openat-priv.h.
66798
66799 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
66800
66801         Sync from coreutils.
66802         * m4/lib-ignore.m4: New file.
66803         * m4/lchmod.m4: New file.
66804
66805 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
66806
66807         Sync from coreutils.
66808         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
66809         for write access: POSIX says that must fail.
66810         * lib/fts.c (diropen): Likewise.
66811         * lib/save-cwd.c (save_cwd): Likewise.
66812         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
66813         well, for minor improvements on hosts that lack O_DIRECTORY.
66814         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
66815         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
66816         Fall back on chown if open failed with EACCES.
66817
66818         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
66819         Report an error at compile-time if only a 1-second nominal clock
66820         resolution is found.
66821
66822         * lib/lchmod.h: New file.
66823         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
66824         (make_dir_parents): Use lchown rather than chown, and
66825         lchmod rather than chmod.
66826
66827         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
66828         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
66829         "proc" reported by n0dalus.
66830
66831         * lib/mountlist.c: Include <limits.h>.
66832         (dev_from_mount_options)
66833         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
66834         New function.  It no longer assumes "dev=" has the System V meaning
66835         on Linux (since it doesn't).  It also parses "dev=" more carefully.
66836         (read_file_system_list)
66837         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
66838         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
66839         dev= in that case.
66840
66841         * lib/posixtm.h (PDS_PRE_2000): New macro.
66842         * lib/posixtm.c (year): Arg is now syntax_bits rather than
66843         allow_century.  All usages changed.  Reject dates outside the range
66844         1969-1999 if PDS_PRE_2000 is used.
66845
66846 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
66847
66848         Sync from coreutils.
66849         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
66850         (Time of day items): Mention the possibility of leap seconds.
66851         Problem reported by Dr. David Alan Gilbert.
66852
66853 2006-01-09  Jim Meyering  <jim@meyering.net>
66854
66855         Sync from coreutils.
66856
66857         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
66858
66859         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
66860
66861         * lib/modechange.c (mode_compile): Reject an invalid mode string
66862         that starts with an octal digit.  From Andreas Gruenbacher.
66863
66864         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
66865         and dup to open_safer and dup_safer, respectively.
66866         (openat_permissive): Fix typo in comment.
66867
66868         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
66869         "gettext.h"; either no longer needed or are guaranteed by openat.h.
66870         (_): Remove; no longer needed.
66871         (openat): Renamed from rpl_openat; no need for rpl_openat
66872         since openat.h renames openat for us.
66873         Replace most of the body with a call to openat_permissive,
66874         to avoid duplicate code.
66875         Port to (probably hypothetical) environments were mode_t is
66876         wider than int.
66877         (openat_permissive): Require mode arg, so that we can check
66878         types better.  Put it just after flags.  Change cwd failure
66879         indicator from pointer-to-bool to pointer-to-errno-value.
66880         All callers changed.
66881         Invoke openat_save_fail and/or openat_restore_fail if
66882         cwd_errno is null, so that openat can call us.
66883         (openat_permissive, fdopendir, fstatat, unlinkat):
66884         Simplify errno handling to avoid some duplicate code,
66885         as it's OK to set errno on success.
66886         * lib/openat.h: Revamp code so that function macros depend on
66887         __OPENAT_PREFIX only, not also on AT_FDCWD.
66888         (openat_ro): Remove.  Caller changed to use openat_permissive.
66889         (openat_permissive): Now a macro, if not a function.
66890         (openat_restore_fail, openat_save_fail): Now always functions,
66891         since mkdirat needs them even if __OPENAT_PREFIX is defined.
66892
66893         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
66894         and openat.c.
66895         * lib/mkdirat.c: Include openat-priv.h.
66896         Remove definitions of macros defined therein.
66897         * lib/openat.c: Likewise.
66898
66899         * lib/mkdirat.c (mkdirat): New file and function.
66900         * lib/openat.h (mkdirat): Declare.
66901
66902         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
66903
66904         * lib/openat.h (openat_permissive): Declare.
66905         (openat_ro): Define.
66906
66907         * lib/openat.c (EXPECTED_ERRNO): New macro.
66908         (openat_permissive): New function -- used in remove.c rewrite.
66909         (all functions): Set errno just before returning, only if there
66910         was an actual failure.
66911         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
66912
66913         Emulate openat-family functions using Linux's procfs, if possible.
66914         Idea and some code based on Ulrich Drepper's glibc changes.
66915
66916         * lib/openat.c: (BUILD_PROC_NAME): New macro.
66917         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
66918         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
66919         before falling back on save_cwd and restore_cwd.
66920         (fdopendir, fstatat, unlinkat): Likewise.
66921
66922         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
66923         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
66924
66925         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
66926         as second argument to va_arg.  Otherwise, some versions of gcc
66927         warn that `if this code is reached, the program will abort'.
66928
66929 2006-01-09  Jim Meyering  <jim@meyering.net>
66930
66931         Sync from coreutils.
66932         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
66933         Require openat-priv.h.
66934
66935 2006-01-09  Bruno Haible  <bruno@clisp.org>
66936
66937         * modules/strnlen (Include): Use strnlen.h.
66938
66939 2006-01-09  Bruno Haible  <bruno@clisp.org>
66940
66941         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
66942
66943 2006-01-09  Bruno Haible  <bruno@clisp.org>
66944
66945         * lib/sysexit_.h (EX_OK): New macro.
66946         Suggested by Martin Lambers <marlam@marlam.de>.
66947
66948 2006-01-09  Bruno Haible  <bruno@clisp.org>
66949
66950         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
66951         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
66952
66953 2006-01-09  Bruno Haible  <bruno@clisp.org>
66954
66955         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
66956         numbers.
66957
66958 2006-01-09  Bruno Haible  <bruno@clisp.org>
66959
66960         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
66961         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
66962         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
66963         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
66964
66965 2006-01-09  Bruno Haible  <bruno@clisp.org>
66966
66967         * build-aux/javacomp.sh.in: New file, moved from lib/.
66968         * modules/javacomp-script (Files): Update.
66969         (configure.ac): Add AC_CONFIG_FILES invocation.
66970         (EXTRA_DIST): Remove variable.
66971
66972         * build-aux/javaexec.sh.in: New file, moved from lib/.
66973         * modules/javaexec (Files): Update.
66974         (configure.ac): Add AC_CONFIG_FILES invocation.
66975         (EXTRA_DIST): Remove javaexec.sh.in.
66976
66977         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
66978         * modules/csharpcomp-script (Files): Update.
66979         (configure.ac): Add AC_CONFIG_FILES invocation.
66980         (EXTRA_DIST): Remove variable.
66981
66982         * build-aux/csharpexec.sh.in: New file, moved from lib/.
66983         * modules/csharpexec (Files): Update.
66984         (configure.ac): Add AC_CONFIG_FILES invocation.
66985         (EXTRA_DIST): Remove csharpexec.sh.in.
66986
66987 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
66988
66989         Sync from coreutils.
66990
66991         Add POSIX ACL support
66992         * lib/acl.h (copy_acl, set_acl): Add declarations.
66993         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
66994         systems other than Linux.
66995         (chmod_or_fchmod): New function: use fchmod when possible,
66996         and chmod otherwise.
66997         (file_has_acl): Add a POSIX ACL implementation, with a
66998         Linux-specific subcase.
66999         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
67000         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
67001         acls are unsupported.
67002         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
67003         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
67004         are unsupported.
67005
67006 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
67007
67008         Sync from coreutils.
67009         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
67010
67011 2006-01-07  Bruno Haible  <bruno@clisp.org>
67012
67013         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
67014         gl_EARLY.
67015
67016 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
67017
67018         * lib/strftime.c (tzname): Don't declare if it is already #defined.
67019         Problem reported for Mingw by Mark Junker.
67020
67021 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
67022
67023         * README: Gnulib normally doesn't generate a tarball.
67024
67025 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
67026
67027         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
67028         long int, not int, for nanosecond counts, so that people who are
67029         used to POSIX struct timespec won't be surprised.  Reported by Jim
67030         Meyering.
67031
67032 2005-12-28  Bruno Haible  <bruno@clisp.org>
67033
67034         * build-aux/config.rpath: Update from GNU gettext.
67035
67036 2005-12-16  Jim Meyering  <jim@meyering.net>
67037
67038         * modules/fprintftime: New module.
67039         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
67040
67041 2005-12-16  Jim Meyering  <jim@meyering.net>
67042
67043         * m4/fprintftime.m4: New file.
67044
67045 2005-12-16  Jim Meyering  <jim@meyering.net>
67046
67047         * lib/fprintftime.c, lib/fprintftime.h: New files.
67048
67049 2005-12-15  Simon Josefsson  <jas@extundo.com>
67050
67051         * modules/socklen (configure.ac): Fix M4 macro name, to align with
67052         new m4/socklen.m4.
67053
67054 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
67055
67056         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
67057         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
67058
67059 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
67060
67061         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
67062         * lib/argp-help.c (fill_in_uparams): Check if the constructed
67063         struct uparams is valid. Fall back to the default values if it is
67064         not.
67065
67066 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
67067
67068         * modules/argp (Files): Add argp-pin.c
67069         (Depends-on): dirname
67070         (lib_SOURCES): Add argp-pin.c
67071
67072 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
67073
67074         * m4/argp.m4:  Check if program_invocation_name and
67075         program_invocation_short_name are declared and define appropriate
67076         macros if they are not.
67077
67078 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
67079
67080         * lib/argp-help.c (__argp_base_name): New function
67081         (__argp_short_program_name): Rewrite using __argp_base_name
67082         * lib/argp-namefrob.h: Define program_invocation_name and
67083         program_invocation_short_name if requested
67084         (__argp_base_name): Add prototype
67085         * lib/argp-parse.c (argp_def): Use gettext wrappers
67086         (argp_default_parser): Use __argp_base_name
67087         * lib/argp-pin.c: New file. Defines program_invocation_name and
67088         program_invocation_short_name on systems that lack them.
67089
67090 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
67091
67092         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
67093         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
67094         porting problem reported by Georg Schwarz in
67095         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
67096
67097 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
67098
67099         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
67100         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
67101         porting problem reported by Georg Schwarz in
67102         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
67103
67104 2005-12-05  Bruno Haible  <bruno@clisp.org>
67105
67106         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
67107         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
67108         Reported by Mark Junker <mjscod@gmx.de>.
67109
67110 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
67111
67112         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
67113         Use implementation from Albert Chin, with some
67114         comments/corrections by Stepan Kasal and myself.
67115
67116 2005-12-02  Bruno Haible  <bruno@clisp.org>
67117
67118         * gnulib-tool (func_import): Accept GPLed build tool modules when
67119         --lgpl is given.
67120         * modules/csharpcomp-script: New file.
67121         * modules/csharpcomp: Depend on it.
67122         * modules/javacomp-script: New file.
67123         * modules/javacomp: Depend on it.
67124         Suggested by Simon Josefsson.
67125
67126 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
67127
67128         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
67129         statement, to work around an HP-UX 10.20 compiler bug reported by
67130         Peter O'Gorman.
67131
67132 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
67133
67134         * modules/savedir (Depends-on): Add openat.
67135
67136 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
67137
67138         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
67139         (uintmax_t) [defined uintmax_t]: Do not declare.
67140         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
67141         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
67142         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
67143         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
67144         sake of portability to weird hosts that C allows (though we don't
67145         know of any practical examples).
67146
67147         * lib/savedir.h (fdsavedir): New decl.
67148         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
67149         contains most of the former guts of savedir.
67150         (savedir): Use savedirstream.
67151         Include "openat.h".
67152
67153 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
67154
67155         * modules/obstack (Files): Add m4/ulonglong.m4.
67156         Problem reported by Davide Angelocola.
67157
67158 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
67159
67160         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
67161         coreutils no longer futzes with rounding modes.
67162
67163 2005-11-14  Jim Meyering  <jim@meyering.net>
67164
67165         * lib/mkstemp-safer.c: Include <config.h>, required for possible
67166         replacement of mkstemp.
67167
67168 2005-11-10  Simon Josefsson  <jas@extundo.com>
67169
67170         * lib/readline.c: Remove EOL.
67171
67172 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
67173
67174         * modules/gethrxtime (Depends-on): Add gettime.
67175
67176 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
67177
67178         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
67179         or gettimeofday; no longer needed.
67180
67181 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
67182
67183         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
67184         time business.
67185         (gethrxtime) [! (HAVE_NANOUPTIME
67186         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
67187         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
67188         our own approximation.
67189
67190 2005-11-08  Eric Blake  <ebb9@byu.net>
67191
67192         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
67193
67194 2005-11-08  Eric Blake  <ebb9@byu.net>
67195
67196         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
67197
67198 2005-11-04  Bruno Haible  <bruno@clisp.org>
67199
67200         * gnulib-tool: Implement --update mode.
67201
67202 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
67203
67204         Fix porting problem reported by Theodoros V. Kalamatianos.
67205         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
67206         Don't assume that futimes failing means we must fail.
67207
67208 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
67209
67210         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
67211         variables to suggest the intended function of the PATH_MAX check.
67212
67213 2005-10-30  Kean Johnston  <jkj@sco.com>
67214
67215         Trivial changes to support SCO systems.
67216         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
67217         as PATH_MAX.
67218         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
67219         where __ptr is null when no I/O is pending.
67220
67221 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
67222
67223         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
67224         leave errno alone.  Problem reported by Dmitry V. Levin.
67225
67226 2005-10-28  Simon Josefsson  <jas@extundo.com>
67227
67228         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
67229         Test more.
67230
67231         * tests/test-gc-md2.c, tests/test-md2.c: New files.
67232
67233         * modules/md2, modules/md2-tests: New files.
67234
67235 2005-10-28  Simon Josefsson  <jas@extundo.com>
67236
67237         * m4/inet_ntop.m4: More tests.
67238
67239         * m4/gc-md2.m4, md2.m4: New file.
67240
67241 2005-10-28  Simon Josefsson  <jas@extundo.com>
67242
67243         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
67244         "restrict" keywords, as per POSIX.  Protect the function
67245         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
67246         Don't use K&R prototypes.  Check the sprintf return values.
67247         Re-define EAFNOSUPPORT if not present.  Indent.
67248
67249         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
67250         suggested by Bruno Haible <bruno@clisp.org>.
67251
67252         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
67253
67254         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
67255
67256         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
67257         libgcrypt).
67258
67259         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
67260
67261         * lib/md2.h, lib/md2.c: New files.
67262
67263 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
67264
67265         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
67266         errno alone.  Problem reported by Frederic Jolliton.
67267
67268 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
67269
67270         * modules/verify (License): Change from GPL to LGPL.  This is a
67271         tiny module and there are apparently near-equivalents that are
67272         under the BSD license.
67273
67274 2005-10-24  Simon Josefsson  <jas@extundo.com>
67275
67276         * modules/sha1: Relicense to LGPL.
67277
67278 2005-10-24  Simon Josefsson  <jas@extundo.com>
67279
67280         * lib/md4.h: Shrink buffer size, now that we changed the type.
67281
67282 2005-10-23  Simon Josefsson  <jas@extundo.com>
67283
67284         * gnulib-tool (func_import): Fix --tests-base.
67285
67286 2005-10-22  Simon Josefsson  <jas@extundo.com>
67287
67288         * modules/arcfour (Depends-on): Need stdint.
67289
67290 2005-10-22  Simon Josefsson  <jas@extundo.com>
67291
67292         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
67293         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
67294
67295 2005-10-22  Simon Josefsson  <jas@extundo.com>
67296
67297         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
67298         suggested by Bruno Haible <bruno@clisp.org>.
67299
67300 2005-10-22  Simon Josefsson  <jas@extundo.com>
67301
67302         * lib/crc.h: Include stddef.h, for size_t.
67303
67304 2005-10-22  Simon Josefsson  <jas@extundo.com>
67305
67306         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
67307         arcfour_context struct (simplify test vector testing in GNU
67308         Shishi).
67309
67310 2005-10-21  Simon Josefsson  <jas@extundo.com>
67311
67312         * modules/des, modules/des-tests: New files.
67313
67314         * modules/gc-des, modules/gc-des-tests: New files.
67315
67316         * tests/test-des.c, tests/test-gc-des.c: New file.
67317
67318 2005-10-21  Simon Josefsson  <jas@extundo.com>
67319
67320         * modules/arctwo, modules/arctwo-tests: New files.
67321
67322         * tests/test-arctwo.c: New file.
67323
67324         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
67325
67326         * tests/test-gc-arctwo.c: New file.
67327
67328 2005-10-21  Simon Josefsson  <jas@extundo.com>
67329
67330         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
67331         Bruno Haible <bruno@clisp.org>.
67332
67333         * m4/gc-des.m4: New file.
67334
67335 2005-10-21  Simon Josefsson  <jas@extundo.com>
67336
67337         * m4/arctwo.m4: New file.
67338
67339         * m4/gc-arctwo.m4: New file.
67340
67341 2005-10-21  Simon Josefsson  <jas@extundo.com>
67342
67343         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
67344         block.
67345
67346 2005-10-21  Simon Josefsson  <jas@extundo.com>
67347
67348         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
67349         <bruno@clisp.org>.
67350
67351         * lib/hmac-sha1.c (hmac_sha1): Likewise.
67352
67353         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
67354         Bruno Haible <bruno@clisp.org>.
67355
67356         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
67357         <bruno@clisp.org>.
67358
67359 2005-10-21  Simon Josefsson  <jas@extundo.com>
67360
67361         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
67362
67363 2005-10-21  Simon Josefsson  <jas@extundo.com>
67364
67365         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
67366
67367 2005-10-21  Simon Josefsson  <jas@extundo.com>
67368
67369         * lib/des.h, lib/des.c: New files.
67370
67371         * lib/gc-gnulib.c: Support DES.c
67372
67373 2005-10-21  Simon Josefsson  <jas@extundo.com>
67374
67375         * lib/arctwo.h, lib/arctwo.c: New files.
67376
67377         * lib/gc-gnulib.c: Support ARCTWO.
67378
67379 2005-10-21  Simon Josefsson  <jas@extundo.com>
67380
67381         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
67382         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
67383
67384 2005-10-21  Simon Josefsson  <jas@extundo.com>
67385
67386         * gnulib-tool (func_import, func_create_testdir): Define automake
67387         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
67388         Makefile.am snippet),
67389         suggested by Bruno Haible <bruno@clisp.org>.
67390
67391         * modules/gc (Makefile.am): Use it.
67392
67393 2005-10-21  Bruno Haible  <bruno@clisp.org>
67394
67395         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
67396         patch.
67397
67398 2005-10-19  Simon Josefsson  <jas@extundo.com>
67399
67400         * tests/test-gc-rijndael.c: New file.
67401
67402         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
67403
67404 2005-10-19  Simon Josefsson  <jas@extundo.com>
67405
67406         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
67407         interface too.
67408
67409 2005-10-19  Simon Josefsson  <jas@extundo.com>
67410
67411         * tests/test-gc-arcfour.c: New file.
67412
67413         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
67414
67415 2005-10-19  Simon Josefsson  <jas@extundo.com>
67416
67417         * modules/gc-md4, modules/gc-md4-tests: New file.
67418
67419         * tests/test-gc-md4.c: New file.
67420
67421 2005-10-19  Simon Josefsson  <jas@extundo.com>
67422
67423         * m4/gc-md4.m4: New file.
67424
67425 2005-10-19  Simon Josefsson  <jas@extundo.com>
67426
67427         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
67428         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
67429         <kasal@ucw.cz>.
67430
67431 2005-10-19  Simon Josefsson  <jas@extundo.com>
67432
67433         * m4/gc-arcfour.m4: New file.
67434
67435         * m4/gc-rijndael.m4: New file.
67436
67437 2005-10-19  Simon Josefsson  <jas@extundo.com>
67438
67439         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
67440
67441 2005-10-19  Simon Josefsson  <jas@extundo.com>
67442
67443         * lib/gc-gnulib.c: Support ARCFOUR.
67444
67445 2005-10-19  Simon Josefsson  <jas@extundo.com>
67446
67447         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
67448         support.
67449
67450         * lib/gc.h: Add ECB enum type.
67451
67452         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
67453
67454 2005-10-18  Simon Josefsson  <jas@extundo.com>
67455
67456         * tests/test-md5.c: New file.
67457
67458         * modules/md5-tests: New file.
67459
67460 2005-10-18  Simon Josefsson  <jas@extundo.com>
67461
67462         * tests/test-md4.c: New file.
67463
67464         * modules/md4, modules/md4-tests: New files.
67465
67466 2005-10-18  Simon Josefsson  <jas@extundo.com>
67467
67468         * m4/md4.m4: New file.
67469
67470 2005-10-18  Simon Josefsson  <jas@extundo.com>
67471
67472         * lib/md4.h, lib/md4.c: New files, based on md5.?.
67473
67474 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
67475
67476         * gnulib-tool (func_create_testdir): Omit the second check whether
67477         BUILT_SOURCES in nonempty.
67478
67479 2005-10-17  Simon Josefsson  <jas@extundo.com>
67480
67481         * tests/test-rijndael.c: New file.
67482
67483 2005-10-17  Simon Josefsson  <jas@extundo.com>
67484
67485         * modules/sha1: Depend on stdint instead of md5.
67486
67487         * modules/md5: Depend on stdint, remove uint32_t.
67488
67489 2005-10-17  Simon Josefsson  <jas@extundo.com>
67490
67491         * modules/gc-sha1-tests: New file.
67492
67493         * tests/test-gc-sha1.c: New file.
67494
67495 2005-10-17  Simon Josefsson  <jas@extundo.com>
67496
67497         * m4/md5.m4: Remove call to uint32_t.m4.
67498
67499 2005-10-17  Simon Josefsson  <jas@extundo.com>
67500
67501         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
67502
67503         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
67504         md5.h.
67505
67506         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
67507
67508         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
67509
67510 2005-10-17  Simon Josefsson  <jas@extundo.com>
67511
67512         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
67513
67514 2005-10-17  Simon Josefsson  <jas@extundo.com>
67515
67516         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
67517
67518 2005-10-17  Simon Josefsson  <jas@extundo.com>
67519
67520         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
67521
67522         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
67523
67524 2005-10-17  Bruno Haible  <bruno@clisp.org>
67525
67526         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
67527         that it can also be used in a test.
67528
67529 2005-10-16  Bruno Haible  <bruno@clisp.org>
67530
67531         * gnulib-tool (func_emit_tests_Makefile_am): Also define
67532         TESTS_ENVIRONMENT, so that individual tests can augment it.
67533
67534         * gnulib-tool (func_create_testdir): Use an intermediate target for
67535         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
67536         macros, like $(ALLOCA_H), which cannot be passed through the command
67537         line.
67538
67539 2005-10-15  Simon Josefsson  <jas@extundo.com>
67540
67541         * modules/rijndael-tests: New file.
67542
67543         * modules/rijndael: New file.
67544
67545 2005-10-15  Simon Josefsson  <jas@extundo.com>
67546
67547         * m4/rijndael.m4: New file.
67548
67549 2005-10-15  Simon Josefsson  <jas@extundo.com>
67550
67551         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
67552
67553         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
67554
67555 2005-10-14  Simon Josefsson  <jas@extundo.com>
67556
67557         * tests/test-arcfour.c: New file.
67558
67559         * modules/arcfour, modules/arcfour-tests: New files.
67560
67561 2005-10-14  Simon Josefsson  <jas@extundo.com>
67562
67563         * m4/arcfour.m4: New file.
67564
67565 2005-10-14  Simon Josefsson  <jas@extundo.com>
67566
67567         * lib/arcfour.h, lib/arcfour.c: New files.
67568
67569 2005-10-14  Roland McGrath  <roland@redhat.com>
67570
67571         Import from libc.  [BZ #1331]
67572         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
67573         macro argument.
67574         Reported by Matej Vela <vela@debian.org>.
67575
67576 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
67577
67578         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
67579         include <wchar.h>; no longer needed.
67580
67581 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
67582
67583         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
67584
67585 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
67586         and  Ulrich Drepper  <drepper@redhat.com>
67587
67588         Import from libc.
67589         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
67590         instead of inline stream orientation test and two separate
67591         function calls.  Pay no attention to USE_IN_LIBIO.
67592
67593 2005-10-13  Simon Josefsson  <jas@extundo.com>
67594
67595         * modules/gc-hmac-md5-tests: New file.
67596
67597         * tests/test-gc-hmac-sha1.c: New file.
67598
67599         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
67600
67601         * modules/gc-hmac-md5-tests: New file.
67602
67603         * tests/test-gc-md5.c: New file.
67604
67605         * modules/gc-md5-tests: New file.
67606
67607 2005-10-13  Simon Josefsson  <jas@extundo.com>
67608
67609         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
67610         Move memory allocation outside of loop.
67611
67612 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
67613
67614         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
67615         intermediate directory is in a read-only file system.  Problem
67616         reported by Eric Blake.
67617
67618 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
67619
67620         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
67621
67622 2005-10-12  Simon Josefsson  <jas@extundo.com>
67623
67624         * tests/test-hmac-sha1.c: New file.
67625
67626         * modules/hmac-sha1-tests: New file.
67627
67628         * modules/hmac-sha1: New file.
67629
67630 2005-10-12  Simon Josefsson  <jas@extundo.com>
67631
67632         * modules/gc-sha1: New file.
67633
67634 2005-10-12  Simon Josefsson  <jas@extundo.com>
67635
67636         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
67637
67638         * tests/test-gc-pbkdf2-sha1.c: New file.
67639
67640 2005-10-12  Simon Josefsson  <jas@extundo.com>
67641
67642         * modules/gc-md5, modules/gc-hmac-md5: New files.
67643
67644         * modules/gc (Files): Remove md5, memxor and hmac files.
67645
67646 2005-10-12  Simon Josefsson  <jas@extundo.com>
67647
67648         * m4/gc-pbkdf2-sha1.m4: New file.
67649
67650         * m4/gc-hmac-sha1.m4: New file.
67651
67652         * m4/gc-sha1: New file.
67653
67654         * m4/hmac-sha1.m4: New file.
67655
67656 2005-10-12  Simon Josefsson  <jas@extundo.com>
67657
67658         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
67659
67660         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
67661
67662 2005-10-12  Simon Josefsson  <jas@extundo.com>
67663
67664         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
67665         suggested by Bruno Haible <bruno@clisp.org>.
67666
67667 2005-10-12  Simon Josefsson  <jas@extundo.com>
67668
67669         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
67670
67671 2005-10-12  Simon Josefsson  <jas@extundo.com>
67672
67673         * lib/gc-pbkdf2-sha1.c: New file.
67674
67675         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
67676
67677 2005-10-12  Simon Josefsson  <jas@extundo.com>
67678
67679         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
67680
67681         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
67682
67683 2005-10-12  Simon Josefsson  <jas@extundo.com>
67684
67685         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
67686         GC_USE_HMAC_MD5, respectively.
67687
67688         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
67689         (gc_md5): Fix typo.
67690
67691         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
67692
67693         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
67694
67695         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
67696
67697 2005-10-12  Bruno Haible  <bruno@clisp.org>
67698
67699         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
67700         Reported by Stepan Kasal <kasal@ucw.cz>.
67701
67702 2005-10-11  Simon Josefsson  <jas@extundo.com>
67703
67704         * tests/test-crc.c: New file.
67705
67706         * modules/crc, modules/crc-tests: New files.
67707
67708 2005-10-11  Simon Josefsson  <jas@extundo.com>
67709
67710         * m4/crc.m4: New file.
67711
67712 2005-10-11  Simon Josefsson  <jas@extundo.com>
67713
67714         * lib/gc.h: Add gc_hash and gc_hash_buffer.
67715
67716         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
67717
67718         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
67719
67720 2005-10-11  Simon Josefsson  <jas@extundo.com>
67721
67722         * lib/crc.h, lib/crc.c: New files.
67723
67724         * lib/gc.h (gc_hash_buffer): Add doc.
67725
67726 2005-10-11  Bruno Haible  <bruno@clisp.org>
67727
67728         * modules/c-strcasestr: New file.
67729         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
67730
67731 2005-10-11  Bruno Haible  <bruno@clisp.org>
67732
67733         * modules/c-strcase: New file.
67734         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
67735
67736 2005-10-11  Bruno Haible  <bruno@clisp.org>
67737
67738         * lib/strcasecmp.c: Include limits.h.
67739         (strcasecmp): Avoid integer overflow on exotic platforms.
67740         * lib/strncasecmp.c: Include limits.h.
67741         (strncasecmp): Avoid integer overflow on exotic platforms.
67742         Reported by Paul Eggert.
67743
67744 2005-10-11  Bruno Haible  <bruno@clisp.org>
67745
67746         * lib/c-strcasestr.h: New file, from GNU gettext.
67747         * lib/c-strcasestr.c: New file, from GNU gettext.
67748
67749 2005-10-11  Bruno Haible  <bruno@clisp.org>
67750
67751         * lib/c-strcase.h: New file, from GNU gettext.
67752         * lib/c-strcasecmp.c: New file, from GNU gettext.
67753         * lib/c-strncasecmp.c: New file, from GNU gettext.
67754
67755 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
67756
67757         * modules/mempcpy (License): GPL -> LGPL.
67758         * modules/strchrnul (License): Likewise.
67759         * modules/sysexits (License): Likewise.
67760
67761 2005-10-08  Simon Josefsson  <jas@extundo.com>
67762
67763         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
67764
67765 2005-10-07  Simon Josefsson  <jas@extundo.com>
67766
67767         * m4/memxor.m4: Remove gl_C_RESTRICT call.
67768
67769 2005-10-06  Simon Josefsson  <jas@extundo.com>
67770
67771         * tests/test-hmac-md5.c: New file.
67772
67773         * modules/hmac-md5-tests: New file.
67774
67775         * modules/hmac-md5: New file.
67776
67777 2005-10-06  Simon Josefsson  <jas@extundo.com>
67778
67779         * m4/hmac-md5.m4: New file.
67780
67781         * m4/memxor.m4: Require gl_C_RESTRICT.
67782
67783 2005-10-06  Simon Josefsson  <jas@extundo.com>
67784
67785         * lib/memxor.c (memxor): Avoid casts and warnings.
67786
67787 2005-10-06  Simon Josefsson  <jas@extundo.com>
67788
67789         * lib/hmac-md5.c: New file.
67790
67791         * lib/hmac.h: New file.
67792
67793 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
67794
67795         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
67796         promotes to int, not unsigned int, to catch the AIX 5.3
67797         compiler bug.
67798
67799 2005-10-05  Simon Josefsson  <jas@extundo.com>
67800
67801         * modules/memxor: New file.
67802
67803         * modules/iconv (Files): Move config.rpath to havelib, it is used
67804         there.
67805
67806         * modules/havelib (Files): Add config.rpath.
67807
67808 2005-10-05  Simon Josefsson  <jas@extundo.com>
67809
67810         * m4/memxor.m4: New file.
67811
67812 2005-10-05  Simon Josefsson  <jas@extundo.com>
67813
67814         * lib/memxor.c (memxor): Fix compiler error.
67815
67816         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
67817         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
67818
67819         * lib/memxor.h, lib/memxor.c: New files.
67820
67821         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
67822         we assume all systems have it, suggested by Jim Meyering
67823         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
67824         any systems lack sys/socket.h; mingw32 is known to lack it, but we
67825         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
67826         same reasons.
67827
67828 2005-10-05  Simon Josefsson  <jas@extundo.com>
67829
67830         * config/srclist.txt: Add glibc bug 1423 for md5.h.
67831
67832 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
67833
67834         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
67835         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
67836         needed, since the source code now assumes these .h files.
67837
67838 2005-10-05  Derek Price  <derek@ximbiot.com>
67839
67840         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
67841
67842 2005-10-05  Bruno Haible  <bruno@clisp.org>
67843
67844         * modules/stdint (License): Change to LGPL.
67845
67846 2005-10-04  Simon Josefsson  <jas@extundo.com>
67847
67848         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
67849         D. Baushke" <mdb@gnu.org>.
67850
67851 2005-10-04  Bruno Haible  <bruno@clisp.org>
67852
67853         * lib/verify.h (verify_true): Provide alternative definition for C++.
67854
67855 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
67856
67857         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
67858         (SSIZE_MAX): New macro, if not already defined.
67859         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
67860         than 2 GiB.
67861
67862 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
67863
67864         Sync from coreutils.
67865         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
67866         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
67867         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
67868         ULLONG_MAX doesn't work with 2.7.2.1.
67869
67870 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
67871
67872         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
67873         From Ben Pfaff.
67874
67875         * modules/exclude (Depends-on): Depend on verify.
67876         * modules/strtoimax (Depends-on): Likewise.
67877         * modules/utimecmp (Depends-on): Likewise.
67878
67879 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
67880
67881         * lib/exclude.c: Include verify.h.
67882         (verify): Remove.  All callers changed to use verify.h's version.
67883         * lib/strtoimax.c: Likewise.
67884         * lib/utimecmp.c: Likewis.e
67885
67886         Sync from coreutils.
67887         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
67888         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
67889         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
67890         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
67891         bother returning ENOSYS if settimeofday or stime fails; just let
67892         them return whatever errno they want to return.
67893         * lib/utimens.c: Include unistd.h, for dup2.
67894         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
67895         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
67896
67897 2005-10-02  Jim Meyering  <jim@meyering.net>
67898
67899         Sync from coreutils.
67900         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
67901         from glibc-2.2.5 that fails for read-only files.
67902
67903 2005-10-02  Jim Meyering  <jim@meyering.net>
67904
67905         Sync from coreutils.
67906         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
67907         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
67908         `#if HAVE_CONFIG_H'.
67909         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
67910         Remove AT_FDCWD test.
67911         Do not consume the fd unless successful.
67912         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
67913         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
67914         block, so that we don't even try to compile it if settimeofday is
67915         available.  This works around a compilation failure on OSF1 V5.1,
67916         due to stime requiring a `long int*' while tv_sec is `int'.
67917
67918 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
67919
67920         Sync from coreutils.
67921         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
67922         against `yes', rather than just testing for nonempty.
67923
67924 2005-10-01  Simon Josefsson  <jas@extundo.com>
67925
67926         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
67927         and Darwin.
67928
67929         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
67930         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
67931         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
67932         freeaddrinfo and gai_strerror are declared by the POSIX headers.
67933         Check if struct addrinfo is declared.
67934
67935 2005-10-01  Simon Josefsson  <jas@extundo.com>
67936
67937         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
67938         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
67939         AI_* and EAI_* definitions.  Protect function declarations.
67940
67941 2005-10-01  Jim Meyering  <jim@meyering.net>
67942
67943         Sync from coreutils.
67944
67945         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
67946         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
67947         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
67948         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
67949         in the inet and nsl libraries.  Required on Solaris 5.7.
67950
67951 2005-10-01  Jim Meyering  <jim@meyering.net>
67952
67953         Sync from coreutils.
67954         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
67955         in the inet and nsl libraries.  Required on Solaris 5.7.
67956
67957 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
67958
67959         * lib/getdelim.c (getdelim): Remove unused variables.
67960
67961 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
67962
67963         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
67964         so that the code works even with ancient cpp.  Portability problem
67965         with GCC 2.7.2.1 reported by Thomas M.Ott.
67966
67967 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
67968
67969         * modules/regex (Depends-on): Add strcase.
67970
67971         * modules/gethostname (Licence): Change from GPL to LGPL, since
67972         gethostname.c is a trivial implementation of a standard library
67973         function.
67974         * modules/poll (License): Change from GPL to LGPL, since it's
67975         derived from LGPL code.
67976
67977 2005-09-27  Jim Meyering  <jim@meyering.net>
67978
67979         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
67980         HAVE_CONFIG_H.
67981
67982         * lib/intprops.h (signed_type_or_expr__): Define.
67983         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
67984         for unsigned types.
67985
67986 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
67987
67988         * lib/verify.h (verify_expr): Remove, replacing with:
67989         (verify_true): New macro that returns true instead of void.
67990         (verify_type__): Remove.
67991         (verify): Use verify_true rather than verify_type__.
67992
67993 2005-09-26  Bruno Haible  <bruno@clisp.org>
67994
67995         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
67996         is necessary.
67997         (lib_SOURCES): Remove mbchar.c.
67998         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
67999         (Files): Add m4/mbrtowc.m4.
68000         * modules/mbiter: Likewise.
68001         * modules/mbuiter: Likewise.
68002
68003 2005-09-26  Bruno Haible  <bruno@clisp.org>
68004
68005         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
68006         compile mbchar.c if they are not both present.
68007         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
68008         * m4/mbiter.m4 (gl_MBITER): Likewise.
68009         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
68010         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
68011         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
68012
68013 2005-09-25  Jim Meyering  <jim@meyering.net>
68014
68015         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
68016         also uses socklen_t.
68017
68018 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
68019
68020         * lib/utimens.c (ENOSYS): Define if not already defined.
68021         (futimens): Support having a null PATH if the file descriptor
68022         is nonnegative.
68023
68024         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
68025         Remove.
68026         (__attribute): Define to empty unless GCC 3.1 or later.
68027         This works around a core dump on OpenBSD 3.4, which has GCC
68028         2.95.3, which dumps core when given __attribute__(()).  It also
68029         simplifies other tests, since we really don't want to bother with
68030         worrying about which ancient version of GCC supported what.
68031         Original problem reported by Yoann Vandoorselaere, with part of
68032         the fix suggested by Derek Price.
68033
68034 2005-09-24  Jim Meyering  <jim@meyering.net>
68035
68036         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
68037         so we can once again use a positive bitfield width of 1 -- now we
68038         don't have to explain why we were using a bitfield width of 2.
68039
68040 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
68041
68042         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
68043         and similarly for the other external symbols.  Problem reported
68044         by James Gallager.
68045
68046         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
68047         bug reported by Jim Meyering.
68048
68049         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
68050         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
68051         not needed, since socklen is a prerequisite module.
68052
68053 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
68054
68055         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
68056         Problem reported by Eric Blake.
68057         (getaddrinfo): Initialize se so that it's not garbage.
68058         Redo internal storage allocation so that it doesn't make unportable
68059         assumptions about alignment.
68060         Fix a memory leak.
68061
68062         * lib/utimens.c (futimens): Use futimesat if available.
68063         Prefer it to futimes since it doesn't have the futimes bug.
68064
68065         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
68066         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
68067         Instead, declare a function that returns a pointer to an array,
68068         and use verify_type__ to declare the size of the array.
68069         Problem and germ of a solution reported by Bruno Haible.
68070         (verify_type__): Use 2, not 1, for bitfield size, to avoid
68071         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
68072
68073 2005-09-23  Jim Meyering  <jim@meyering.net>
68074
68075         Sync from coreutils.
68076         Correct build failure (socklen_t not defined) on at least
68077         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
68078         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
68079
68080 2005-09-23  Jim Meyering  <jim@meyering.net>
68081
68082         * modules/getaddrinfo (Depends-on): Add socklen.
68083
68084 2005-09-23  Bruno Haible  <bruno@clisp.org>
68085
68086         * tests/test-verify.c: New file.
68087
68088 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
68089
68090         Sync from coreutils.
68091
68092         * modules/argmatch (Depends-on): Add verify.
68093         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
68094         unistd-safer.
68095         * modules/save-cwd (Depends-on): Likewise.
68096
68097         * modules/openat (Files): Add lib/openat-die.c.
68098         (Depends-on): Remove error, exitfail.
68099         Add dirname.
68100
68101         * modules/verify: New file.
68102         * MODULES.html.sh (Diagnostics <assert.h>): New section,
68103         with "verify" module.
68104
68105 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
68106
68107         Sync from coreutils.
68108
68109         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
68110         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
68111         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
68112         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
68113         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
68114         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
68115         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
68116         Don't bother checking for string.h, stdlib.h, unistd.h.
68117         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
68118         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
68119         module's job.
68120         * m4/jm-macros.m4 (gl_MACROS): Likewise.
68121         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
68122
68123         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
68124         (gl_GETDATE): Use it.
68125
68126         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
68127
68128 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
68129
68130         Sync from coreutils.
68131
68132         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
68133         stat-time.h.
68134         * lib/argmatch.h: Include verify.h
68135         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
68136         (ARGMATCH_ASSERT): Remove; unused.
68137         * lib/canonicalize.c: Assume STDC_HEADERS.
68138         * lib/exclude.c: Include "strcase.h".
68139         * lib/regex_internal.h [!defined _LIBC]: Likewise.
68140         * lib/getusershell.c: Include stdio--.h rather than stdio.h
68141         and stdio-safer.h.
68142         (getusershell): Call fopen, not fopen_safer.
68143         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
68144         Do not include unistd-safer.h.
68145         (save_cwd): Don't call fd_safer; no longer needed
68146         now that we include fcntl--.h.
68147
68148         * lib/getdate.y (relative_time): New type.
68149         (RELATIVE_TIME_0): New constant.
68150         (parser_control): Use relative_time instead of doing it ourselves.
68151         (%union): Add new relative_time rel member.
68152         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
68153         Now typeless.
68154         (relunit, relunit_snumber): Now of type rel.
68155         (zone, rel, relunit, get_date): Adjust to above changes.
68156
68157         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
68158         Do not include unistd-safer.h.
68159         (getloadavg): Don't call fd_safer; no longer needed
68160         now that we include fcntl--.h.
68161
68162         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
68163         (make_dir_parents): Treat ENOSYS like EEXIST.
68164
68165         Improve quality of diagnostics on restore_cwd failure.
68166         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
68167         (make_dir_parents): Last arg is now int * (for errno), not bool *.
68168         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
68169         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
68170         each time through the loop.  Do not diagnose restore_cwd failure;
68171         that is the caller's job (and perhaps the caller does not care).
68172
68173         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
68174         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
68175         If the file already exists but is not a directory, don't bother
68176         to try to make its parents.
68177         Close potential file descriptor leak if we can't chdir("/") (!).
68178         Don't always return true if chdir($PWD) fails; return true only
68179         if the requested action was done successfully (except for the
68180         chdir($PWD)).
68181         Don't log final directory unless we actually made it.
68182         Refactor to avoid duplicate code to fix up permissions.
68183         Don't attempt to fix up parent permissions if chdir($PWD) fails.
68184
68185         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
68186         to make it a bit faster and (I hope) clearer.
68187         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
68188         Fix bug in formats like %2N.
68189
68190         * lib/verify.h: New file.
68191
68192 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
68193
68194         Sync from coreutils.
68195         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
68196
68197 2005-09-22  Jim Meyering  <jim@meyering.net>
68198
68199         Sync from coreutils.
68200
68201         * m4/lstat.m4 (gl_FUNC_LSTAT):
68202         Use AC_LIBSOURCES to require lstat.c and lstat.h.
68203         Remove obsolete comment.
68204         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
68205         * m4/xstrtod.m4: Likewise.
68206
68207         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
68208
68209 2005-09-22  Jim Meyering  <jim@meyering.net>
68210
68211         Sync from coreutils.
68212
68213         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
68214
68215         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
68216         the .tm_year member, since otherwise gcc-4.0 would now warn about
68217         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
68218
68219         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
68220         order to avoid an unsuppressible warning from gcc on 64-bit systems.
68221
68222         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
68223         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
68224         when run in a time zone for which daylight savings time is in effect
68225         for the starting date.
68226
68227         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
68228         stop us from restricting permissions of just-created absolute-named
68229         directories.
68230         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
68231         to restore initial working directory.
68232         * lib/mkdir-p.c (make_dir_parents): New parameter:
68233         different_working_dir, to tell caller if/when we change the working
68234         directory and are unable to return to the initial one.
68235         * lib/mkdir-p.h (make_dir_parents): Update prototype.
68236         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
68237         `return false'.  This fixes a bug introduced on 2004-07-30.
68238
68239         * lib/openat.c (fdopendir): Be sure to close the supplied
68240         file descriptor before returning.  This makes our replacement
68241         implementation a little closer to Solaris's, where fdopendir
68242         ties the file descriptor to the returned DIR* pointer.
68243         * lib/openat.c (unlinkat): New function.
68244         * lib/openat.h (unlinkat): Add prototype.
68245         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
68246         (openat_restore_fail): Rename from openat_restore_die.
68247         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
68248
68249         Provide an alternative to exiting immediately upon save_cwd or
68250         restore_cwd failure.  Now, an application can arrange e.g.,
68251         to perform a longjump in that case.
68252         * lib/openat.c: Include dirname.h.
68253         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
68254         (rpl_openat, fdopendir, fstatat): Call openat_save_die
68255         and openat_restore_die rather than calling error directly.
68256         Don't include "error.h" or "exitfail.h"; they're no longer needed.
68257
68258         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
68259         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
68260         define.
68261
68262         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
68263         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
68264                             int utc, int nanoseconds);
68265         Background:
68266         date should not have to allocate a megabyte of virtual memory to
68267         handle a format argument like +%1048575T.  When implemented with
68268         strftime, it must allocate such a buffer, use strftime to fill it
68269         in, print it, then free it.
68270         With fprintftime, it simply prints everything and exits.
68271         With no need for memory allocation, that's one fewer way to fail.
68272         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
68273         optional field width, not before, so we accept %9:z, not %:9z.
68274         (my_strftime): Be sure to use L_('x') for literals.
68275
68276         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
68277         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
68278         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
68279         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
68280         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
68281         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
68282         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
68283         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
68284         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
68285         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
68286         * lib/xgethostname.c, lib/xreadlink.c:
68287         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
68288
68289         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
68290         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
68291         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
68292         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
68293         and don't include <sys/file.h>).
68294
68295 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
68296
68297         Sync from coreutils.
68298
68299         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
68300         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
68301         [!LDAV_DONE]: Avoid unused variable warning.
68302
68303 2005-09-21  Bruno Haible  <bruno@clisp.org>
68304
68305         * lib/unicodeio.h (unicode_to_mb): New declaration.
68306
68307 2005-09-20  Derek Price  <derek@ximbiot.com>
68308
68309         * lib/getaddrinfo.c: Don't include <netdb.h> included from
68310         getaddrinfo.h.
68311
68312 2005-09-20  Bruno Haible  <bruno@clisp.org>
68313
68314         * gnulib-tool: Remove trailing slashes from the values specified for
68315         --source-base, --m4-base, --tests-base, --aux-dir.
68316         Suggested by Simon Josefsson <jas@extundo.com>.
68317
68318 2005-09-20  Bruno Haible  <bruno@clisp.org>
68319
68320         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
68321         func_modules_to_filelist, func_import, func_create_testdir): Make all
68322         sorting results locale-independent, so that gnulib-cache.m4 doesn't
68323         change when gnulib-tool is invoked in a different locale.
68324
68325 2005-09-19  Simon Josefsson  <jas@extundo.com>
68326
68327         * m4/socklen.m4: Fix typo.
68328
68329 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68330
68331         Use a consistent style for including <config.h>.
68332         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
68333         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
68334         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
68335         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
68336         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
68337         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
68338         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
68339         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
68340         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
68341         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
68342         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
68343         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
68344         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
68345         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
68346         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
68347         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
68348         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
68349         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
68350         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
68351         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
68352         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
68353         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
68354         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
68355         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
68356         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
68357         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
68358         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
68359         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
68360         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
68361         lib/xstrtoumax.c, lib/yesno.c:
68362         Standardize inclusion of config.h.
68363         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
68364         lib/inttostr.h:  Removed inclusion of config.h from header files.
68365         * lib/inttostr.c:  Adjusted in-tree users.
68366         * lib/timespec.h: Remove superfluous warning to include config.h.
68367         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
68368         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
68369         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
68370         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
68371         config.h with HAVE_CONFIG_H.
68372
68373 2005-09-19  Jim Meyering  <jim@meyering.net>
68374
68375         * modules/pathmax (License): Change to LGPL.
68376
68377 2005-09-19  Derek Price  <derek@ximbiot.com>
68378
68379         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
68380
68381 2005-09-19  Bruno Haible  <bruno@clisp.org>
68382
68383         * gnulib-tool (import): Provide default for --tests-base.
68384
68385 2005-09-19  Bruno Haible  <bruno@clisp.org>
68386
68387         * doc/quote.texi: New file, extracted from gnulib.texi.
68388         * doc/ctime.texi: New file, extracted from gnulib.texi.
68389         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
68390         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
68391         * doc/gnulib.texi: Include them.
68392
68393 2005-09-18  Bruno Haible  <bruno@clisp.org>
68394
68395         Portability fix.
68396         * gnulib-tool (func_readlink): New function.
68397         (func_ln_if_changed): Use it.
68398
68399 2005-09-18  Bruno Haible  <bruno@clisp.org>
68400
68401         * gnulib-tool: Support --with-tests also with --import.
68402         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
68403         (func_import): Use variables $testsbase and $inctests. Emit a
68404         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
68405         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
68406         SUBDIRS += $testsdir.
68407         (func_create_testdir): Update.
68408
68409 2005-09-18  Bruno Haible  <bruno@clisp.org>
68410
68411         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
68412         instead of $dry_run.
68413         (func_cp_if_changed, func_mv_if_changed): Remove functions.
68414         (func_ln_if_changed): Don't handle dry-run here.
68415         (func_import): In dry-run mode, detect more precisely which actions
68416         would be performed, and don't use "...ing" verbs.
68417
68418 2005-09-18  Bruno Haible  <bruno@clisp.org>
68419
68420         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
68421         (func_import): Use join on two temporary files instead of three nested
68422         loops, in order to determine which files are new or old.
68423
68424 2005-09-18  Bruno Haible  <bruno@clisp.org>
68425
68426         * gnulib-tool (func_import): Comment out code that spits out the
68427         new files with --dry-run.
68428
68429 2005-09-18  Bruno Haible  <bruno@clisp.org>
68430
68431         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
68432
68433 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
68434
68435         * lib/stat-time.h: New file.
68436         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
68437         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
68438         in a different way.
68439         (timespec_cmp): New function.
68440         * lib/utimecmp.c: Include stat-time.h.
68441         (SYSCALL_RESOLUTION): Depend on whether various struct stat
68442         members exist, not on the obsolescent ST_MTIM_NSEC.
68443         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
68444
68445 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
68446
68447         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
68448
68449 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
68450
68451         * MODULES.html.sh (File system functions): Add stat-time.
68452         * modules/stat-time: New file.
68453         * modules/timespec (Files): Remove m4/st_mtim.m4; this
68454         is now done in a different way, by the stat-time module.
68455         * modules/utimecmp (Depends-on): Add stat-time.
68456
68457 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
68458
68459         * m4/st_mtim.m4: Remove.  Superseded by...
68460         * m4/stat-time.m4: New file.
68461         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
68462         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
68463
68464 2005-09-15  Derek Price  <derek@ximbiot.com>
68465
68466         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
68467
68468 2005-09-15  Derek Price  <derek@ximbiot.com>
68469
68470         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
68471         * lib/regex_internal.c: Ditto, using this...
68472         (__GNUC_PREREQ): ...new macro.
68473         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
68474         using...
68475         (__GNUC_PREREQ): ...this new macro.
68476
68477         * lib/strstr.h: Include string.h. Define strstr as a macro here.
68478
68479 2005-09-15  Derek Price  <derek@ximbiot.com>
68480             Paul Eggert  <eggert@cs.ucla.edu>
68481
68482         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
68483         changes, consolidating in...
68484         * lib/regex_internal.h: ...this file.
68485
68486 2005-09-13  Jim Meyering  <jim@meyering.net>
68487
68488         * lib/canon-host.c: Filter through gnu indent and reword comments
68489         slightly.
68490         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
68491
68492 2005-09-13  Derek Price  <derek@ximbiot.com>
68493
68494         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
68495         failure.
68496         Reported by Jim Meyering  <jim@meyering.net>.
68497
68498 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
68499
68500         * lib/base64.c: Typo.
68501         (base64_encode): Put b64str in initialized data section.
68502
68503 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
68504
68505         Merge glibc and coreutils changes into gnulib, plus a few
68506         extra fixes.
68507         * lib/md5.c: Use #error rather than a string.
68508         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
68509         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
68510         (__attribute__): Define to empty for non recent-GCC.
68511         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
68512         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
68513         Renamed from their non-__ counterparts, with new macros replacing
68514         them if not _LIBC.  Add __THROW attribute.
68515         (rol): Remove.
68516         (struct md5_ctx): Align buffer if using GCC.
68517         * lib/sha1.h (struct sha1_ctx): Likewise.
68518         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
68519         The old name was backwards.
68520         (NOTSWAP): Remove; not used.
68521         (rol): New macro, moved here from md5.h.
68522         (sha1_process_block): Remove a FIXME that doesn't make sense.
68523
68524 2005-09-12  Derek Price  <derek@ximbiot.com>
68525
68526         Return usable errors from canon-host.
68527         * lib/canon-host.h: New file.
68528         * lib/canon-host.c (canon_host): Wrap...
68529         (canon_host_r): ...this new function, which now relies exclusively on
68530         getaddrinfo.
68531         (ch_strerror): New function.
68532         (last_cherror): New global.
68533         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
68534         interface.
68535         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
68536         void *.
68537         (freeaddrinfo): Free ai->ai_canonname when set.
68538
68539 2005-09-12  Derek Price  <derek@ximbiot.com>
68540
68541         Make canon-host require getaddrinfo.
68542         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
68543         AC_LIBSOURCE canon-host.h.  Call...
68544         (gl_PREREQ_CANON_HOST): ...this new function, which requires
68545         gl_GETADDRINFO.
68546         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
68547
68548 2005-09-12  Derek Price  <derek@ximbiot.com>
68549
68550         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
68551         LGPL.
68552         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
68553
68554 2005-09-12  Derek Price  <derek@ximbiot.com>
68555
68556         * lib/gai_strerror.c: Include config.h when available.  Include
68557         getaddrinfo.h before other headers to test interface.
68558         Reported by Larry Jones <lawrence.jones@ugs.com>.
68559
68560 2005-09-12  Derek Price  <derek@ximbiot.com>
68561             Paul Eggert  <eggert@cs.ucla.edu>
68562
68563         * modules/glob (Files): Add glob-libc.h.
68564
68565 2005-09-12  Derek Price  <derek@ximbiot.com>
68566             Paul Eggert  <eggert@cs.ucla.edu>
68567
68568         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
68569         glob_.h, glob-libc.h.
68570         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
68571
68572 2005-09-12  Derek Price  <derek@ximbiot.com>
68573             Paul Eggert  <eggert@cs.ucla.edu>
68574
68575         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
68576         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
68577         protecting things that should be done only in gnulib contexts.
68578         * lib/glob_.h: New file, containing only the glob things needed for
68579         gnulib.
68580         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
68581         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
68582         (glob, globfree, glob_pattern_p): Now defined simply in terms of
68583         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
68584         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
68585         and to respect the namespace rules better.
68586
68587 2005-09-08  Simon Josefsson  <jas@extundo.com>
68588
68589         * modules/socklen: New file.
68590
68591 2005-09-08  Simon Josefsson  <jas@extundo.com>
68592
68593         * m4/socklen.m4: New file.
68594
68595 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
68596
68597         * modules/utimens (Files): Add m4/utimbuf.m4, since
68598         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
68599         Reported by Sergey Poznyakoff.
68600
68601 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
68602
68603         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
68604         definitions, since that's the preferred style in glibc.
68605         Fix a minor spacing issue, and update copyright notice to match
68606         glibc's.
68607
68608 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
68609
68610         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
68611
68612 2005-09-06  Simon Josefsson  <jas@extundo.com>
68613
68614         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
68615         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
68616
68617 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
68618
68619         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
68620         warning.
68621
68622 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
68623
68624         * config/srclist.txt: Add glibc bug 1302.
68625
68626 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
68627
68628         Change bitset word type from unsigned int to unsigned long int,
68629         as this has better performance on typical 64-bit hosts.
68630         Port bitset code to hosts with unusual word sizes.
68631         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
68632         (build_collating_symbol):
68633         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
68634         argument is a bitset.  This is merely a style issue, but it makes
68635         it clearer that an entire array is expected.
68636         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
68637         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
68638         Port to the case where bitset_word is not the same as unsigned int.
68639         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
68640         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
68641         Likewise.
68642         * lib/regexec.c (check_dst_limits_calc_pos_1,
68643         check_subexp_matching_top):
68644         (build_trtable, group_nodes_into_DFAstates):
68645         Likewise.
68646         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
68647         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
68648         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
68649         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
68650         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
68651         * lib/regcomp.c (optimize_subexps, lower_subexp):
68652         Work even if bitset_word has holes in its bitwise representation.
68653         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
68654         * lib/regexec.c (check_dst_limits_calc_pos_1,
68655         check_subexp_matching_top):
68656         Likewise.
68657         * lib/regex_internal.c (re_string_reconstruct):
68658         Don't assume UCHAR_MAX == 255.
68659         * lib/regex_internal.h (bitset_set_all): Likewise.
68660         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
68661         All uses changed.
68662         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
68663         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
68664         All uses changed.
68665         (BITSET_WORD_MAX): New macro.
68666         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
68667         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
68668         (bitset_empty, bitset_copy):
68669         Prefer sizeof (bitset) to multiplying it out ourselves.
68670         (bitset_not_merge): Remove; unused.
68671         (bitset_contain): Return bool, not unsigned int with one bit on.
68672         All callers changed.
68673         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
68674         alignment than re_node_set; do this by defining a new internal
68675         type struct dests_alloc and using it to allocate memory.
68676
68677 2005-09-05  Bruno Haible  <bruno@clisp.org>
68678
68679         * gnulib-tool (func_import): Fix comparison in handling of symbolic
68680         links.
68681
68682 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
68683
68684         * modules/size_max (Makefile.am): Add size_max.h
68685
68686 2005-09-04  Derek Price  <derek@ximbiot.com>
68687
68688         * gnulib-tool (func_import): Fix reversed $symbolic logic.
68689
68690 2005-09-03  Simon Josefsson  <jas@extundo.com>
68691
68692         * gnulib-tool: Fix typo.
68693
68694 2005-09-03  Simon Josefsson  <jas@extundo.com>
68695
68696         * config/srclist.txt: Add glibc bug 1293.
68697
68698 2005-09-03  Derek Price  <derek@ximbiot.com>
68699
68700         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
68701         From Larry Jones <lawrence.jones@ugs.com>.
68702
68703 2005-09-02  Simon Josefsson  <jas@extundo.com>
68704
68705         * modules/socklen: New file.
68706
68707 2005-09-02  Simon Josefsson  <jas@extundo.com>
68708
68709         * modules/havelib: New module.
68710
68711         * modules/gettext, modules/iconv, modules/lock, modules/readline:
68712         Use havelib.
68713
68714 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
68715
68716         Check for arithmetic overflow when calculating sizes, to prevent
68717         some buffer-overflow issues.  These patches are conservative, in the
68718         sense that when I couldn't determine whether an overflow was possible,
68719         I inserted a run-time check.
68720         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
68721         macros.
68722         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
68723         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
68724         (re_xnrealloc, re_x2nrealloc): New inline functions.
68725         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
68726         parse_bracket_exp):
68727         (build_equiv_class, build_charclass): Check for arithmetic overflow
68728         in size expression calculations.
68729         * lib/regex_internal.c (re_string_realloc_buffers):
68730         (build_wcs_upper_buffer, re_node_set_add_intersect):
68731         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
68732         (re_dfa_add_node, register_state): Likewise.
68733         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
68734         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
68735         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
68736         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
68737
68738 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
68739
68740         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
68741         m4/ulonglong.m4.  Problem reported by Martin Lambers.
68742
68743 2005-09-02  Bruno Haible  <bruno@clisp.org>
68744
68745         Support for lib vs. lib64 distinction on biarch platforms.
68746         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
68747         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
68748         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
68749
68750 2005-09-02  Bruno Haible  <bruno@clisp.org>
68751
68752         * gnulib-tool (import): In the other first-use case, provide defaults
68753         as well.
68754
68755 2005-09-02  Bruno Haible  <bruno@clisp.org>
68756
68757         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
68758         patches not yet found in the latest gettext release.
68759
68760 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
68761
68762         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
68763         to avoid a collision with bits/local_lim.h in glibc.
68764         All uses changed.  Problem reported by Dmitry V. Levin in
68765         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
68766
68767         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
68768         bugs in int versus size_t comparisons.
68769         (re_string_context_at): Fix bug where the code assumed that
68770         Idx is signed.
68771
68772         Use bool where appropriate.
68773         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
68774         All callers changed.
68775         (calc_eclosure_iter): Likewise, for ROOT arg.
68776         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
68777         (build_charclass_op): Likewise, for NON_MATCH arg.
68778         * lib/regex_internal.c (re_string_allocate, re_string_construct):
68779         (re_string_construct_common): Likewise, for ICASE arg.
68780         * lib/regexec.c (re_search_2_stub, re_search_stub):
68781         Likewise, for RET_LEN arg.
68782         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
68783         (set_regs): Likewise, for FL_BACKTRACK arg.
68784         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
68785         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
68786         (calc_eclosure_iter, parse_bracket_exp):
68787         Use bool for internal variables that are booleans.
68788         * lib/regexec.c (re_search_internal, check_matching,
68789         proceed_next_node):
68790         (set_regs, build_sifted_states, sift_states_bkref):
68791         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
68792         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
68793         (find_collation_sequence_value):
68794         Likewise.
68795         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
68796         (re_node_set_compare):
68797         Return bool, not int. All callers changed.
68798         * lib/regexec.c (check_halt_node_context, check_dst_limits):
68799         (build_trtable, check_node_accept): Likewise.
68800         * lib/regex_internal.h: Include stdbool.h.
68801
68802         Fix bugs uncovered when converting to bool.
68803         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
68804         failure instead of charging ahead blindly.
68805         * lib/regex_internal.c (register_state): Likewise.
68806         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
68807         for freeing internal storage.
68808         (group_nodes_into_DFA_states): Use unsigned int, not int, for
68809         bitset pieces used as boolean, to avoid undefined behavior
68810         on hosts that do int overflow checking.
68811
68812 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
68813
68814         * config/srclist.txt: Add glibc bugs 1285-1287.
68815
68816 2005-09-01  Jim Meyering  <jim@meyering.net>
68817
68818         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
68819         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
68820         Require gl_STAT_MACROS, too.
68821
68822 2005-09-01  Bruno Haible  <bruno@clisp.org>
68823
68824         * gnulib-tool (import): In the first-use case, provide defaults.
68825
68826 2005-09-01  Bruno Haible  <bruno@clisp.org>
68827
68828         * gnulib-tool (func_import): Remove the .tmp files.
68829
68830 2005-09-01  Bruno Haible  <bruno@clisp.org>
68831
68832         * gnulib-tool (func_import): Fix handling of symbolic links.
68833
68834 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
68835
68836         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
68837         old glibc regex code mishandles strings longer than 2**31 bytes.
68838         This patch fixes this when the regex code is used in gnulib
68839         (i.e., outside glibc).
68840
68841         This patch should not affect the use of the regex code inside
68842         glibc.  No doubt this problem also needs to be handled for glibc
68843         as well, but the result will be an incompatible change to the
68844         glibc ABI, and the old ABI will have to be supported too.  That
68845         can be the the subject for another patch.
68846
68847         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
68848         governing whether the rest of this patch is active.  By default,
68849         the macro is disabled and the patch has no effect.
68850         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
68851         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
68852         (struct re_pattern_buffer, re_search, re_search_2, re_match):
68853         (re_match_2, re_set_registers): Use the new types.
68854         * lib/regex_internal.h (Idx, re_hashval_t): New types.
68855         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
68856         New macros.
68857         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
68858         (re_string_context_at, bin_tree_t, re_dfastate_t):
68859         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
68860         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
68861         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
68862         (re_string_char_size_at, re_string_wchar_at):
68863         (re_string_elem_size_at):
68864         Use the new types and macros to port to 64-bit hosts.
68865         Use unsigned types for internal values, so that the code
68866         mostly works even for arrays larger than SSIZE_MAX.
68867         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
68868         (search_duplicated_node, calc_eclosure_iter, fetch_number):
68869         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
68870         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
68871         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
68872         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
68873         (calc_inveclosure, parse_dup_op, build_range_exp):
68874         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
68875         (fetch_number, create_token_tree, mark_opt_subexp):
68876         Likewise.
68877         * lib/regex_internal.c (re_string_construct_common,
68878         create_ci_newstate):
68879         (create_cd_newstate, re_string_allocate, re_string_construct):
68880         (re_string_realloc_buffers, build_wcs_upper_buffer):
68881         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
68882         (re_string_reconstruct, re_string_peek_byte_case):
68883         (re_string_fetch_byte_case, re_string_context_at):
68884         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
68885         (re_node_set_init_copy, re_node_set_add_intersect):
68886         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
68887         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
68888         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
68889         (re_acquire_state, re_acquire_state_context, register_state):
68890         Likewise.
68891         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
68892         search_cur_bkref_entry):
68893         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
68894         (re_search_internal, re_search_2_stub, re_search_stub)
68895         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
68896         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
68897         (update_cur_sifted_state, check_dst_limits):
68898         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
68899         (check_subexp_limits, sift_states_bkref, merge_state_array):
68900         (check_subexp_matching_top, get_subexp, get_subexp_sub):
68901         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
68902         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
68903         (expand_bkref_cache, check_node_accept_bytes):
68904         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
68905         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
68906         (acquire_init_state_context, check_halt_node_context):
68907         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
68908         (sift_states_backward, clean_state_log_if_needed):
68909         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
68910         (find_recover_state, transit_state_sb, transit_state_mb):
68911         (transit_state_bkref, build_trtable, match_ctx_clean):
68912         Likewise.
68913         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
68914         to work around an assumption that REG_MISSING is negative.
68915
68916         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
68917         (seek_collating_symbol_entry) [defined _LIBC]:
68918         (lookup_collation_sequence_value) [defined _LIBC]:
68919         (build_range_exp, build_collating_symbol) [defined _LIBC]:
68920         Use prototypes rather than old-style function definitions.
68921         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
68922         (transit_state_sb) [0]:
68923         (find_collation_sequence_value) [defined _LIBC]: Likewise.
68924
68925         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
68926         rm_eo.
68927
68928         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
68929         (optimize_subexps, lower_subexp):
68930         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
68931         since the signed shift might overflow.  Use 1u<<31 instead.
68932         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
68933         Likewise.
68934         * lib/regexec.c (check_dst_limits_calc_pos_1,
68935         check_subexp_matching_top): Likewise.
68936
68937         * lib/regcomp.c (optimize_subexps, lower_subexp):
68938         Use CHAR_BIT rather than 8, for clarity.
68939         * lib/regexec.c (check_dst_limits_calc_pos_1):
68940         (check_subexp_matching_top): Likewise.
68941         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
68942         have to worry about portability issues when shifting it left.
68943         Remove no-longer-needed test for table_size > 0.
68944         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
68945         in a word, as the resulting behavior is undefined.
68946         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
68947         in one case, a <= should have been an <, and in another case the
68948         whole test was missing.
68949         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
68950         the standard name CHAR_BIT.
68951         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
68952         this is not true on one's complement and signed-magnitude hosts.
68953
68954         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
68955         next_last_offset.
68956         (struct re_dfa_t): Remove unused member states_alloc.
68957         * lib/regcomp.c (init_dfa): Don't initialize unused members.
68958
68959 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
68960
68961         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
68962         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
68963         and large-file glibc and in 32-bit large-file Solaris.
68964
68965 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
68966
68967         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
68968         lengths fit in regoff_t; this isn't true if regoff_t is the same
68969         width as size_t.
68970         * lib/regex.c (re_search_internal): 5th arg is LAST_START
68971         (= START + RANGE) instead of RANGE.  This avoids overflow
68972         problems when regoff_t is the same width as size_t.
68973         All callers changed.
68974         (re_search_2_stub): Check for overflow when adding the
68975         sizes of the two strings.
68976         (re_search_stub): Check for overflow when adding START
68977         to RANGE; if it occurs, substitute the extreme value.
68978
68979 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
68980
68981         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
68982
68983 2005-08-31  Jim Meyering  <jim@meyering.net>
68984
68985         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
68986         a pointer-to-const.
68987         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
68988         (register_state): Likewise.
68989         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
68990         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
68991         (group_nodes_into_DFAstates): Likewise.
68992
68993 2005-08-31  Jim Meyering  <jim@meyering.net>
68994
68995         * check-module: Add a FIXME comment.
68996
68997 2005-08-31  Eric Blake  <ebb9@byu.net>
68998
68999         * modules/unistd-safer (Files): Add unistd--.h.
69000         * modules/stdio-safer (Files): Add stdio--.h.
69001
69002 2005-08-31  Derek Price  <derek@ximbiot.com>
69003
69004         * lib/getdelim.c (getdelim): Return EOF on EOF.
69005         Reported by Larry Jones <lawrence.jones@ugs.com>.
69006
69007 2005-08-31  Bruno Haible  <bruno@clisp.org>
69008
69009         Avoid unnecessary diffs in the generated lib/Makefile.am.
69010         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
69011         the generated files.
69012         (func_import): Don't set cmd.
69013
69014 2005-08-31  Bruno Haible  <bruno@clisp.org>
69015
69016         * lib/strstr.c: Include <stddef.h>, for NULL.
69017         * lib/strcasestr.c: Likewise.
69018         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
69019
69020 2005-08-31  Bruno Haible  <bruno@clisp.org>
69021
69022         * gnulib-tool: New option --macro-prefix.
69023         (func_import): Use macro_prefix.
69024         (import): Handle option --macro-prefix.
69025
69026 2005-08-31  Bruno Haible  <bruno@clisp.org>
69027
69028         * gnulib-tool (import): Rename most ac_* variables to cached_*.
69029         Also use new variables cached_lgpl, cached_libtool.
69030
69031 2005-08-31  Bruno Haible  <bruno@clisp.org>
69032
69033         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
69034         always instantiating them.
69035
69036 2005-08-31  Bruno Haible  <bruno@clisp.org>
69037
69038         * gnulib-tool (func_import): Read the previous cached settings
69039         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
69040         earlier added by gnulib but are now dropped. Warn when a gnulib file
69041         overwrites a non-gnulib file.
69042
69043 2005-08-31  Bruno Haible  <bruno@clisp.org>
69044
69045         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
69046         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
69047         projects that don't keep autogenerated files in CVS. Put into
69048         actioncmd only the specified modules, not the transitive closure.
69049
69050 2005-08-31  Bruno Haible  <bruno@clisp.org>
69051
69052         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
69053         Create directories that shall be filled.
69054         (import): Don't look for gl_* macros in configure.ac. Recurse across
69055         all directories containing a gnulib-cache.m4 files, if meaningful.
69056
69057 2005-08-31  Bruno Haible  <bruno@clisp.org>
69058
69059         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
69060         (import): Set seen_libtool when we see gl_LIBTOOL.
69061
69062 2005-08-31  Bruno Haible  <bruno@clisp.org>
69063
69064         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
69065         declaration macro definitions from generated gnulib.m4.
69066
69067 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
69068
69069         * lib/iconvme.h: Add prototype for iconv_alloc.
69070
69071 2005-08-29  Simon Josefsson  <jas@extundo.com>
69072
69073         * lib/iconvme.c: Fix errno.
69074
69075 2005-08-29  Bruno Haible  <bruno@clisp.org>
69076
69077         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
69078         that it works when the directory contains spaces.
69079
69080 2005-08-29  Bruno Haible  <bruno@clisp.org>
69081
69082         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
69083
69084 2005-08-29  Bruno Haible  <bruno@clisp.org>
69085
69086         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
69087         Emit more advice.
69088
69089 2005-08-29  Bruno Haible  <bruno@clisp.org>
69090         and Stepan Kasal  <kasal@ucw.cz>
69091
69092         * check-module: If more parameters are given, check each of them
69093         separately; add more exceptions, as noted by Jim Meyering.
69094         (check_module): New procedure.
69095         (%exempt_header): Now contains all exceptions.
69096
69097 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
69098
69099         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
69100
69101 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
69102
69103         * lib/iconvme.c: Split iconv_string into iconv_alloc.
69104
69105 2005-08-28  Bruno Haible  <bruno@clisp.org>
69106
69107         * m4/gnulib-tool.m4: New file.
69108
69109 2005-08-27  Jim Meyering  <jim@meyering.net>
69110
69111         * modules/unistd-safer (Files): Add pipe-safer.c.
69112         * modules/fcntl-safer (Files): Add creat-safer.c.
69113
69114 2005-08-27  Jim Meyering  <jim@meyering.net>
69115
69116         * m4/stdlib-safer.m4: New file.  From coreutils.
69117         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
69118         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
69119         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
69120         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
69121         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
69122
69123 2005-08-27  Jim Meyering  <jim@meyering.net>
69124
69125         * lib/fopen-safer.c: Merge minor changes from coreutils.
69126         * lib/dup-safer.c: Likewise.
69127         * lib/fd-safer.c: Likewise.
69128
69129         Merge from coreutils.
69130         * lib/stdio--.h: New file.
69131         * lib/stdlib--.h: New file.
69132         * lib/mkstemp-safer.c: New file.
69133
69134         GNU tar needs these.
69135         * lib/pipe-safer.c: New file.
69136         * lib/creat-safer.c: New file.
69137         * lib/fcntl--.h (creat): Define to creat_safer.
69138         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
69139         * lib/unistd--.h (pipe): Define to pipe_safer.
69140         * lib/unistd-safer.h: Declare pipe_safer.
69141
69142 2005-08-26  Simon Josefsson  <jas@extundo.com>
69143
69144         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
69145         Haible <bruno@clisp.org>.
69146
69147 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
69148
69149         * lib/regex_internal.h: Remove all references to
69150         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
69151         or better.
69152         (bitset_not, bitset_merge, bitset_not_merge):
69153         (bitset_mask, re_string_allocate, re_string_construct):
69154         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
69155         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
69156         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
69157         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
69158         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
69159         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
69160         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
69161         (re_acquire_state_context):
69162         Remove unnecessary forward decls.
69163         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
69164         Put __attribute at function definition,
69165         now that the function decl has been removed.
69166         * lib/regex_internal.c (re_string_peek_byte_case):
69167         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
69168         Likewise.
69169
69170 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
69171
69172         * m4/regex.m4: Add AC_PREREQ(2.50).
69173         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
69174
69175 2005-08-25  Simon Josefsson  <jas@extundo.com>
69176
69177         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
69178         __fsetlocking.
69179
69180 2005-08-25  Simon Josefsson  <jas@extundo.com>
69181
69182         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
69183         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
69184         GLIBC specific code.
69185
69186 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
69187
69188         Make regex safe for g++.  This fixes one real bug (an "err"
69189         that should have been "*err").  g++ problem reported by
69190         Sam Steingold.
69191         * lib/regex_internal.h (re_calloc): New macro, consistent with
69192         re_malloc etc.  All callers of calloc changed to use re_calloc.
69193         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
69194         not int.  All callers changed.
69195         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
69196         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
69197         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
69198         (find_recover_state): Change "err" to "*err"; this fixes what
69199         appears to be a real bug.
69200         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
69201         versus int.
69202
69203 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
69204
69205         * modules/regex (Depends-on): Add malloc, since the code
69206         assumes that !malloc(0) means failure.
69207
69208 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
69209
69210         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
69211
69212         alloca modernization/simplification for regex.
69213         * lib/regex.c: Remove portability cruft for alloca.  This no longer
69214         needs to be at the start of the file, and can be moved into
69215         regex_internal.h and simplified.
69216         * lib/regex_internal.h: Include <alloca.h>.
69217         (__libc_use_alloca) [!defined _LIBC]: New macro.
69218         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
69219         now works outside glibc.
69220
69221 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
69222
69223         * config/srclist.txt: Add glibc bugs 1241, 1245.
69224
69225 2005-08-25  Jim Meyering  <jim@meyering.net>
69226
69227         * lib/open-safer.c: Include <config.h>.
69228         Otherwise, we'd lose LARGEFILE support in any file using
69229         e.g. "fcntl--.h"
69230
69231 2005-08-25  Bruno Haible  <bruno@clisp.org>
69232
69233         * m4/minmax.m4: Require autoconf 2.52.
69234         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
69235         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
69236         alternatives of translit over the alphabet.
69237         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
69238
69239 2005-08-24  Simon Josefsson  <jas@extundo.com>
69240
69241         * tests/test-getpass.c: New file.
69242
69243 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
69244
69245         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
69246         for GNU regex features.
69247
69248 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
69249
69250         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
69251         * lib/regex.h (regerror): Likewise.
69252
69253         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
69254         requires this.  (The code never needed it.)
69255
69256         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
69257         All uses of recently-renamed identifiers changed to use the new,
69258         POSIX-compliant names.  The code will build and run just fine
69259         without these changes, but it's better to eat our own dog food
69260         and use the standard-conforming names.
69261
69262         * lib/regex.h: Fix a multitude of POSIX name space violations.
69263         These changes have an effect only for programs that define
69264         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
69265         do not change anything for programs compiled in the normal way.
69266         Also, there is no effect on the ABI.
69267
69268         (_REGEX_SOURCE): New macro.
69269         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
69270         defined and _GNU_SOURCE is not; this fixes a name space violation.
69271
69272         Rename the following macros to obey POSIX requirements.
69273         The old names are still visible as macros if _REGEX_SOURCE is defined.
69274         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
69275         RE_BACKSLASH_ESCAPE_IN_LISTS.
69276         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
69277         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
69278         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
69279         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
69280         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
69281         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
69282         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
69283         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
69284         (REG_INTERVALS): renamed from RE_INTERVALS.
69285         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
69286         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
69287         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
69288         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
69289         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
69290         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
69291         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
69292         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
69293         RE_UNMATCHED_RIGHT_PAREN_ORD.
69294         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
69295         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
69296         (REG_DEBUG): renamed from RE_DEBUG.
69297         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
69298         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
69299         unusual, since we can't clash with the POSIX REG_ICASE.
69300         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
69301         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
69302         (REG_NO_SUB): renamed from RE_NO_SUB.
69303         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
69304         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
69305         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
69306         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
69307         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
69308         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
69309         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
69310         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
69311         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
69312         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
69313         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
69314         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
69315         RE_SYNTAX_POSIX_MINIMAL_BASIC.
69316         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
69317         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
69318         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
69319         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
69320         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
69321         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
69322         (REG_FIXED): Renamed from REGS_FIXED.
69323         (REG_NREGS): Renamed from RE_NREGS.
69324
69325         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
69326         of other REG_* macros, since POSIX says the user is allowed to
69327         #undef these macros selectively.
69328
69329         (reg_errcode_t): Update comment stating what other tables need
69330         to be consistent.
69331
69332         Rename the following enum values to obey POSIX requirements.
69333         The old names are still visible as macros.
69334         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
69335         is not defined, since GNU is supposed to be a superset of POSIX as
69336         much as possible, and since we want reg_errcode_t to be a signed
69337         type for implementation consistency.
69338         (_REG_NOERROR): Renamed from REG_NOERROR.
69339         (_REG_NOMATCH): Renamed from REG_NOMATCH.
69340         (_REG_BADPAT): Renamed from REG_BADPAT.
69341         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
69342         (_REG_ECTYPE): Renamed from REG_ECTYPE.
69343         (_REG_EESCAPE): Renamed from REG_EESCAPE.
69344         (_REG_ESUBREG): Renamed from REG_ESUBREG.
69345         (_REG_EBRACK): Renamed from REG_EBRACK.
69346         (_REG_EPAREN): Renamed from REG_EPAREN.
69347         (_REG_EBRACE): Renamed from REG_EBRACE.
69348         (_REG_BADBR): Renamed from REG_BADBR.
69349         (_REG_ERANGE): Renamed from REG_ERANGE.
69350         (_REG_ESPACE): Renamed from REG_ESPACE.
69351         (_REG_BADRPT): Renamed from REG_BADRPT.
69352         (_REG_EEND): Renamed from REG_EEND.
69353         (_REG_ESIZE): Renamed from REG_ESIZE.
69354         (_REG_ERPAREN): Renamed from REG_ERPAREN.
69355         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
69356         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
69357         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
69358         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
69359
69360         (_REG_RE_NAME, _REG_RM_NAME): New macros.
69361         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
69362         changed.  But support the old name if the new one is not defined
69363         and if _REGEX_SOURCE.
69364
69365         Change the following member names in struct re_pattern_buffer.
69366         The old names are still supported if !_REGEX_SOURCE.
69367         The new names are always supported, regardless of _REGEX_SOURCE.
69368         (re_buffer): Renamed from buffer.
69369         (re_allocated): Renamed from allocated.
69370         (re_used): Renamed from used.
69371         (re_syntax): Renamed from syntax.
69372         (re_fastmap): Renamed from fastmap.
69373         (re_translate): Renamed from translate.
69374         (re_can_be_null): Renamed from can_be_null.
69375         (re_regs_allocated): Renamed from regs_allocated.
69376         (re_fastmap_accurate): Renamed from fastmap_accurate.
69377         (re_no_sub): Renamed from no_sub.
69378         (re_not_bol): Renamed from not_bol.
69379         (re_not_eol): Renamed from not_eol.
69380         (re_newline_anchor): Renamed from newline_anchor.
69381
69382         Change the following member names in struct re_registers.
69383         The old names are still supported if !_REGEX_SOURCE.
69384         The new names are always supported, regardless of _REGEX_SOURCE.
69385         (rm_num_regs): Renamed from num_regs.
69386         (rm_start): Renamed from start.
69387         (rm_end): Renamed from end.
69388
69389         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
69390         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
69391         Prepend __ to parameter names.
69392
69393         Undo yesterday's changes.
69394
69395 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
69396
69397         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
69398         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
69399         lib/regex.c.
69400
69401 2005-08-24  Jim Meyering  <jim@meyering.net>
69402
69403         Sync from coreutils.
69404         * m4/fcntl-safer.m4: New file.
69405
69406         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
69407         and object files for this module.
69408
69409 2005-08-24  Jim Meyering  <jim@meyering.net>
69410
69411         Sync from coreutils.
69412         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
69413
69414 2005-08-24  Jim Meyering  <jim@meyering.net>
69415
69416         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
69417         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
69418
69419 2005-08-24  Jim Meyering  <jim@meyering.net>
69420
69421         * modules/fcntl-safer: New module.
69422         * modules/fts (Depends-on): Add fcntl-safer.
69423         * MODULES.html.sh (File descriptor based Input/Output):
69424         Add fcntl-safer.
69425
69426 2005-08-24  Bruno Haible  <bruno@clisp.org>
69427
69428         Support for unit test modules.
69429         * modules/README: Mention tests modules.
69430         * modules/TEMPLATE-TESTS: New file.
69431         * gnulib-tool: New options --extract-tests-module, --with-tests and
69432         --tests-base (unused for the moment).
69433         (testsbase, inctests): New variables.
69434         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
69435         (func_verify_module): Exclude TEMPLATE-TESTS.
69436         (func_verify_nontests_module, func_verify_tests_module): New functions.
69437         (func_get_dependencies): Add implicit dependency for tests modules.
69438         (func_get_tests_module): New function.
69439         (func_modules_transitive_closure): When --with-tests was specified,
69440         include the unit tests as well, unless explicitly avoided.
69441         (func_emit_lib_Makefile_am): Ignore the tests modules here.
69442         (func_emit_tests_Makefile_am): New function.
69443         (func_create_testdir): When --with-tests was specified, emit a
69444         tests/ directory.
69445         * MODULES.html.sh (Future developments): Update.
69446
69447 2005-08-24  Bruno Haible  <bruno@clisp.org>
69448
69449         * modules/tls-tests: New file.
69450         * tests/test-tls.c: New file, from GNU gettext.
69451
69452 2005-08-24  Bruno Haible  <bruno@clisp.org>
69453
69454         * modules/lock-tests: New file.
69455         * tests/test-lock.c: New file, from GNU gettext.
69456
69457 2005-08-24  Bruno Haible  <bruno@clisp.org>
69458
69459         * lib/lock.h: Add multiple inclusion guard.
69460         * lib/tls.h: Add multiple inclusion guard.
69461
69462 2005-08-24  Bruno Haible  <bruno@clisp.org>
69463
69464         * gnulib-tool: Add support for the --aux-dir option to
69465         --create-testdir, --create-megatestdir, --test, --megatest.
69466         (func_create_testdir, func_create_megatestdir): Optionally emit a
69467         AC_CONFIG_AUX_DIR directive.
69468         (create-testdir, create-megatestdir, test, megatest): Provide a
69469         default value for $auxdir.
69470
69471 2005-08-24  Bruno Haible  <bruno@clisp.org>
69472
69473         * gnulib-tool (import): Use compound statement instead of subshell
69474         where possible.
69475
69476 2005-08-24  Bruno Haible  <bruno@clisp.org>
69477
69478         * gnulib-tool (import): Change --aux-dir default to "build-aux".
69479
69480 2005-08-24  Bruno Haible  <bruno@clisp.org>
69481
69482         * gnulib-tool (func_version): Update.
69483
69484 2005-08-24  Bruno Haible  <bruno@clisp.org>
69485
69486         * gnulib-tool (func_import, func_create_testdir,
69487         func_create_megatestdir): Quote all autoconf macro arguments.
69488
69489 2005-08-24  Bruno Haible  <bruno@clisp.org>
69490
69491         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
69492         option --force, because --force causes the aclocal.m4 of each
69493         subdirectory to be newer than the corresponding config.h.in.
69494
69495 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
69496
69497         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
69498         All contents moved to gl_REGEX.
69499         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
69500         assume that it does.
69501
69502 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
69503
69504         * lib/regex.h (REG_NOSYS)
69505         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
69506         Define, since POSIX requires it as of 2001.
69507         (_REG_ENOSYS)
69508         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
69509         New private symbol, used to keep the enum signed in all cases.
69510         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
69511         Youngman in
69512         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
69513
69514         * lib/regex_internal.c (re_string_skip_chars, register_state):
69515         (calc_state_hash):
69516         Remove forward decls; no longer needed now that we use prototypes.
69517         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
69518         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
69519         (clean_state_log_if_needed): Likewise.
69520
69521 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
69522
69523         * config/srclist.txt: Add glibc bugs 1231-1233.
69524
69525 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
69526
69527         Fix problems reported by Sam Steingold in
69528         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
69529         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
69530         assumed that reg_errcode_t is a signed type, which is not
69531         necessarily true if _XOPEN_SOURCE is not defined.
69532         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
69533         since some compilers warn about it otherwise.
69534
69535 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
69536
69537         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
69538         (init_word_char, create_initial_state, duplicate_node_closure):
69539         (fetch_token, peek_token_bracket, build_range_exp):
69540         (build_collating_symbol): Remove forward decls; no longer needed
69541         now that we use prototypes.
69542
69543         * lib/regcomp.c:
69544         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
69545         (re_compile_fastmap_iter, regcomp, regerror, regfree):
69546         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
69547         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
69548         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
69549         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
69550         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
69551         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
69552         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
69553         (build_range_exp, build_collating_symbol, parse_bracket_exp):
69554         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
69555         (build_charclass, build_charclass_op, fetch_number, create_tree):
69556         (create_token_tree, mark_opt_subexp, duplicate_tree):
69557         Use prototypes rather than old-style definitions.
69558
69559         * lib/regex_internal.c:
69560         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
69561         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
69562         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
69563         (re_string_reconstruct, re_string_peek_byte_case):
69564         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
69565         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
69566         (re_node_set_init_copy, re_node_set_add_intersect):
69567         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
69568         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
69569         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
69570         (re_acquire_state, re_acquire_state_context, register_state):
69571         (create_ci_newstate, create_cd_newstate, free_state):
69572         Likewise.
69573         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
69574         re_search_2):
69575         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
69576         (re_search_internal, prune_impossible_nodes):
69577         (acquire_init_state_context, check_matching, static):
69578         (check_halt_node_context, check_halt_state_context, proceed_next_node):
69579         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
69580         (update_regs, sift_states_backward, build_sifted_states):
69581         (clean_state_log_if_needed, merge_state_array):
69582         (update_cur_sifted_state, add_epsilon_src_nodes):
69583         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
69584         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
69585         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
69586         (find_recover_state, check_subexp_matching_top, transit_state_mb):
69587         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
69588         (check_arrival, check_arrival_add_next_nodes):
69589         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
69590         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
69591         (check_node_accept_bytes, check_node_accept, extend_buffers):
69592         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
69593         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
69594         (sift_ctx_init):
69595         Likewise.
69596
69597         * lib/regex_internal.h:
69598         (re_string_allocate, re_string_construct, re_string_reconstruct):
69599         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
69600         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
69601         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
69602         (re_string_context_at, re_string_peek_byte_case):
69603         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
69604         is defined, since we now use prototypes always.
69605
69606         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
69607         C89 or better.  All uses removed.
69608
69609 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
69610
69611         * config/srclist.txt: Add glibc bugs 1220-1227.
69612
69613 2005-08-20  Jim Meyering  <jim@meyering.net>
69614
69615         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
69616         of unused local, dfa.
69617
69618 2005-08-20  Bruno Haible  <bruno@clisp.org>
69619
69620         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
69621
69622 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
69623
69624         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
69625         (re_node_set_insert_last, re_dfa_add_node):
69626         Rename local variables to avoid GCC shadowing warnings.
69627
69628 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
69629
69630         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
69631         [defined lint]: Suppress bogus uninitialized-variable warnings.
69632
69633         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
69634         and let the caller return REG_ESPACE if out of space.  This
69635         removes an uninitialied-variable warning with GCC 4.0.1, and also
69636         avoids taking the address of a local variable.  All callers
69637         changed.
69638
69639 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
69640
69641         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
69642         $LIBCSRC/posix/regexec.c.
69643         Add glibc bug 1217 for regcomp.c.
69644
69645 2005-08-19  Jim Meyering  <jim@meyering.net>
69646
69647         * lib/regexec.c (proceed_next_node): Redo local variables to
69648         avoid GCC shadowing warnings.
69649
69650 2005-08-18  Bruno Haible  <bruno@clisp.org>
69651
69652         * lib/strstr.c (strstr): Fix return value in multibyte case.
69653         * lib/strcasestr.c (strcasestr): Likewise.
69654
69655 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
69656
69657         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
69658
69659 2005-08-17  Jim Meyering  <jim@meyering.net>
69660
69661         Make the %s format (seconds since the epoch) work for a negative
69662         number and when used with a zero-padded field width, e.g. %015s.
69663
69664         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
69665         label so that it precedes the code to set `digits'.  Otherwise,
69666         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
69667         print `00-22'.  Now, it prints `-0022', as it should.
69668
69669 2005-08-17  Bruno Haible  <bruno@clisp.org>
69670
69671         * modules/strstr (Files): Add m4/mbrtowc.m4.
69672         (Depends-on): Add mbuiter.
69673
69674 2005-08-17  Bruno Haible  <bruno@clisp.org>
69675
69676         * modules/strcasestr: New file.
69677         * MODULES.html.sh (String handling, based on ANSI C 89): Add
69678         strcasestr.
69679
69680 2005-08-17  Bruno Haible  <bruno@clisp.org>
69681
69682         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
69683
69684 2005-08-17  Bruno Haible  <bruno@clisp.org>
69685
69686         * modules/mbuiter: New file.
69687         * MODULES.html.sh (Extended multibyte and wide character utilities):
69688         Add mbuiter.
69689
69690 2005-08-17  Bruno Haible  <bruno@clisp.org>
69691
69692         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
69693         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
69694
69695 2005-08-17  Bruno Haible  <bruno@clisp.org>
69696
69697         * m4/strcasestr.m4: New file.
69698
69699 2005-08-17  Bruno Haible  <bruno@clisp.org>
69700
69701         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
69702         * lib/strstr.c: Completely rewritten, with multibyte locale support.
69703
69704 2005-08-17  Bruno Haible  <bruno@clisp.org>
69705
69706         * lib/strcasestr.h: New file.
69707         * lib/strcasestr.c: New file.
69708
69709 2005-08-17  Bruno Haible  <bruno@clisp.org>
69710
69711         * lib/strcasecmp.c: Use mbuiter.h.
69712
69713 2005-08-17  Bruno Haible  <bruno@clisp.org>
69714
69715         * lib/mbuiter.h: New file.
69716
69717 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
69718
69719         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
69720         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
69721         and gl_GETOPT are both invoked via different paths (as happens
69722         with GNU tar CVS because it uses both argp and getopt), the former
69723         wins.
69724
69725 2005-08-16  Bruno Haible  <bruno@clisp.org>
69726
69727         * modules/tls: New file.
69728         * MODULES.html.sh (Multithreading): Add tls.
69729
69730 2005-08-16  Bruno Haible  <bruno@clisp.org>
69731
69732         * modules/strnlen1: New file.
69733         * MODULES.html.sh (String handling): Add strnlen1.
69734
69735 2005-08-16  Bruno Haible  <bruno@clisp.org>
69736
69737         * modules/strcase (Files): Add m4/mbrtowc.m4.
69738         (Depends-on): Add strnlen1, mbchar.
69739
69740 2005-08-16  Bruno Haible  <bruno@clisp.org>
69741
69742         * modules/mbiter: New file.
69743         * MODULES.html.sh (Extended multibyte and wide character utilities):
69744         Add mbiter.
69745
69746 2005-08-16  Bruno Haible  <bruno@clisp.org>
69747
69748         * modules/mbfile: New file.
69749         * MODULES.html.sh (Extended multibyte and wide character utilities):
69750         Add mbfile.
69751
69752 2005-08-16  Bruno Haible  <bruno@clisp.org>
69753
69754         * modules/mbchar: New file.
69755         * MODULES.html.sh (Extended multibyte and wide character utilities):
69756         New section.
69757
69758 2005-08-16  Bruno Haible  <bruno@clisp.org>
69759
69760         * m4/tls.m4: New file, from GNU gettext.
69761
69762 2005-08-16  Bruno Haible  <bruno@clisp.org>
69763
69764         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
69765         always.
69766         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
69767
69768 2005-08-16  Bruno Haible  <bruno@clisp.org>
69769
69770         * m4/mbiter.m4: New file.
69771
69772 2005-08-16  Bruno Haible  <bruno@clisp.org>
69773
69774         * m4/mbfile.m4: New file.
69775
69776 2005-08-16  Bruno Haible  <bruno@clisp.org>
69777
69778         * m4/mbchar.m4: New file.
69779
69780 2005-08-16  Bruno Haible  <bruno@clisp.org>
69781
69782         * lib/tls.h: New file, from GNU gettext.
69783         * lib/tls.c: New file, from GNU gettext.
69784
69785 2005-08-16  Bruno Haible  <bruno@clisp.org>
69786
69787         * lib/strnlen1.h: New file.
69788         * lib/strnlen1.c: New file.
69789
69790 2005-08-16  Bruno Haible  <bruno@clisp.org>
69791
69792         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
69793         (mbi_init): Update.
69794         (mbi_avail, mbi_advance): Let the iteration end before the terminating
69795         NUL byte, not after it.
69796
69797 2005-08-16  Bruno Haible  <bruno@clisp.org>
69798
69799         * lib/strcase.h (strcasecmp): Add note in comments.
69800         * lib/strncasecmp.c: Use code from strcasecmp.c.
69801         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
69802         (strcasecmp): Work correctly in multibyte locales.
69803
69804 2005-08-16  Bruno Haible  <bruno@clisp.org>
69805
69806         * lib/mbiter.h: New file.
69807
69808 2005-08-16  Bruno Haible  <bruno@clisp.org>
69809
69810         * lib/mbfile.h: New file.
69811
69812 2005-08-16  Bruno Haible  <bruno@clisp.org>
69813
69814         * lib/mbchar.h: New file.
69815         * lib/mbchar.c: New file.
69816
69817 2005-08-16  Bruno Haible  <bruno@clisp.org>
69818
69819         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
69820         the valid ones. Makes the comparison operations transitive:
69821         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
69822         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
69823
69824 2005-08-15  Simon Josefsson  <jas@extundo.com>
69825
69826         * modules/ssize_t (License): Change to 'unlimited'.
69827
69828         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
69829
69830 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
69831
69832         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
69833         Add comments for each pending glibc patch.
69834
69835 2005-08-15  Bruno Haible  <bruno@clisp.org>
69836
69837         * lib/regex.h (__restrict_arr): Don't define to __restrict if
69838         __cplusplus is defined.
69839
69840 2005-08-14  Jim Meyering  <jim@meyering.net>
69841
69842         Sync from coreutils.
69843
69844         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
69845         Use the hash-table-based cycle-detection code not just when
69846         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
69847         Reported by James Youngman in
69848         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
69849         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
69850         FTS_TIGHT_CYCLE_CHECK.
69851         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
69852         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
69853         once again.
69854         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
69855         * lib/fts.c (fd_safer): Remove decl.
69856         Include fcntl--.h rather than unistd-safer.h
69857         (fts_safe_changedir): Don't call fd_safer; no longer needed
69858         now that we include fcntl--.h.
69859
69860 2005-08-12  Simon Josefsson  <jas@extundo.com>
69861
69862         * modules/getndelim2: Use ssize_t module.
69863         * modules/getnline: Likewise.
69864         * modules/safe-read: Likewise.
69865         * modules/xreadlink: Likewise.
69866
69867         * modules/ssize_t: New file.
69868
69869 2005-08-12  Simon Josefsson  <jas@extundo.com>
69870
69871         * m4/readline.m4: Look for termcap, curses or ncurses if required.
69872
69873 2005-08-12  Simon Josefsson  <jas@extundo.com>
69874
69875         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
69876         ssize_t.
69877
69878 2005-08-12  Simon Josefsson  <jas@extundo.com>
69879
69880         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
69881         readline, getdelim and check_version.
69882         (Support for systems lacking ISO C 99: Sizes of integer types):
69883         Add size_max.
69884
69885 2005-08-12  Bruno Haible  <bruno@clisp.org>
69886
69887         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
69888
69889 2005-08-11  Simon Josefsson  <jas@extundo.com>
69890
69891         * modules/readline: New file.
69892
69893         * modules/strnlen (Files): Add strnlen.h.
69894
69895 2005-08-11  Simon Josefsson  <jas@extundo.com>
69896
69897         * m4/readline.m4: New file.
69898
69899 2005-08-11  Simon Josefsson  <jas@extundo.com>
69900
69901         * lib/readline.h, readline.c: New file.
69902
69903 2005-08-11  Simon Josefsson  <jas@extundo.com>
69904
69905         * doc/gnulib.texi (Initial import, Finishing touches): Mention
69906         gl_AVOID.
69907
69908 2005-08-11  Bruno Haible  <bruno@clisp.org>
69909
69910         * lib/strnlen.h (strnlen): Change parameter name to match comment.
69911
69912 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
69913
69914         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
69915
69916 2005-08-10  Simon Josefsson  <jas@extundo.com>
69917
69918         * tests/test-iconvme.c: New file.
69919
69920 2005-08-10  Simon Josefsson  <jas@extundo.com>
69921
69922         * m4/strnlen.m4: New file.
69923
69924         * m4/strndup.m4: Don't check for strnlen declaration, done in
69925         strnlen.m4.
69926
69927 2005-08-10  Simon Josefsson  <jas@extundo.com>
69928
69929         * lib/strndup.c: Use strnlen.h.
69930
69931         * lib/strnlen.h: New file.
69932
69933 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
69934
69935         * README: Typos.
69936
69937 2005-08-02  Simon Josefsson  <jas@extundo.com>
69938
69939         * modules/readline: New file.
69940
69941 2005-08-02  Simon Josefsson  <jas@extundo.com>
69942
69943         * modules/getdelim: New file.
69944
69945         * modules/getline: Rewrite, don't use getndelim2.
69946
69947 2005-08-02  Simon Josefsson  <jas@extundo.com>
69948
69949         * m4/getline.m4: Separate out getdelim stuff into separate module.
69950
69951         * m4/getdelim.m4: New file.
69952
69953 2005-08-02  Simon Josefsson  <jas@extundo.com>
69954
69955         * lib/getline.h, getline.c: Rewrite.
69956
69957         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
69958
69959 2005-07-31  Bruno Haible  <bruno@clisp.org>
69960
69961         * lib/lock.h (gl_lock_initializer): New macro.
69962         (gl_lock_define_initialized): Use it.
69963         (gl_rwlock_initializer): New macro.
69964         (gl_rwlock_define_initialized): Use it.
69965         (gl_recursive_lock_initializer): New macro.
69966         (gl_recursive_lock_define_initialized): Use it.
69967
69968 2005-07-30  Karl Berry  <karl@gnu.org>
69969
69970         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
69971         Report from Ben Pfaff, regarding getopt.
69972
69973 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
69974
69975         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
69976         normal way.
69977         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
69978         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
69979         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
69980         (gl_GETOPT): Use the new macros.  Most of the implementation
69981         is moved to the new macros.  This is for programs like Emacs
69982         that don't want all the functionality of gl_GETOPT.
69983
69984 2005-07-26  Bruno Haible  <bruno@clisp.org>
69985
69986         * m4/lock.m4: Update from GNU gettext.
69987
69988 2005-07-26  Bruno Haible  <bruno@clisp.org>
69989
69990         * lib/lock.h: Update from GNU gettext.
69991         * lib/lock.c: Update from GNU gettext.
69992
69993 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
69994
69995         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
69996         obsolescent AC_TRY_RUN.  Include the default includes files, for
69997         'exit'.
69998
69999 2005-07-24  Bruno Haible  <bruno@clisp.org>
70000
70001         * modules/visibility: New file.
70002         * MODULES.html.sh (Misc): Add visibility.
70003
70004 2005-07-24  Bruno Haible  <bruno@clisp.org>
70005
70006         * m4/visibility.m4: New file.
70007
70008 2005-07-24  Bruno Haible  <bruno@clisp.org>
70009
70010         * doc/visibility.texi: New file.
70011
70012 2005-07-22  Bruno Haible  <bruno@clisp.org>
70013
70014         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
70015         $(ALLOCA_H), redundant through BUILT_SOURCES.
70016         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
70017         redundant through BUILT_SOURCES.
70018         * modules/byteswap (Makefile.am): Remove explicit dependency on
70019         $(BYTESWAP_H), redundant through BUILT_SOURCES.
70020         * modules/fnmatch (Makefile.am): Remove explicit dependency on
70021         $(FNMATCH_H), redundant through BUILT_SOURCES.
70022         * modules/getopt (Makefile.am): Remove explicit dependency on
70023         $(GETOPT_H), redundant through BUILT_SOURCES.
70024         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
70025         redundant through BUILT_SOURCES.
70026         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
70027         redundant through BUILT_SOURCES.
70028         * modules/stdbool (Makefile.am): Remove explicit dependency on
70029         $(STDBOOL_H), redundant through BUILT_SOURCES.
70030         * modules/stdint (Makefile.am): Remove explicit dependency on
70031         $(STDINT_H), redundant through BUILT_SOURCES.
70032         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
70033         Remove explicit dependency on $(SYSEXITS_H).
70034         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
70035
70036 2005-07-18  Simon Josefsson  <jas@extundo.com>
70037
70038         * lib/check-version.c (check_version): Accept identical versions too.
70039
70040 2005-07-18  Bruno Haible  <bruno@clisp.org>
70041
70042         * modules/lock: New file.
70043         * MODULES.html.sh (Multithreading): New section.
70044
70045 2005-07-18  Bruno Haible  <bruno@clisp.org>
70046
70047         * m4/lock.m4: New file, from GNU gettext.
70048
70049 2005-07-18  Bruno Haible  <bruno@clisp.org>
70050
70051         * lib/lock.h: New file, from GNU gettext.
70052         * lib/lock.c: New file, from GNU gettext.
70053
70054 2005-07-18  Bruno Haible  <bruno@clisp.org>
70055
70056         * lib/lock.h (gl_once_t): New type.
70057         (gl_once_define, gl_once): New macros.
70058         * lib/lock.c (fresh_once): New variable.
70059         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
70060         functions.
70061
70062 2005-07-16  Simon Josefsson  <jas@extundo.com>
70063
70064         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
70065         workaround, suggested by Bruno.
70066
70067 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
70068
70069         * modules/xalloc (Depends-on): Add xalloc-die.
70070         * modules/xvasprintf (Depends-on): Add xalloc-die.
70071
70072 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
70073
70074         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
70075         with a minor change.
70076
70077 2005-07-15  Bruno Haible  <bruno@clisp.org>
70078
70079         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
70080         When using lib/poll.c, define poll as rpl_poll.
70081
70082 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
70083
70084         * modules/argp (Depends-on): Remove unlocked-io.
70085
70086 2005-07-14  Derek Price  <derek@ximbiot.com>
70087
70088         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
70089         for glob symlink bug.
70090
70091 2005-07-14  Bruno Haible  <bruno@clisp.org>
70092
70093         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
70094         Instead, test for *_unlocked function declarations directly.
70095
70096 2005-07-11  Simon Josefsson  <jas@extundo.com>
70097
70098         * modules/size_max: New file.
70099
70100         * modules/xsize: Depend on size_max module for size_max.m4.
70101
70102 2005-07-11  Simon Josefsson  <jas@extundo.com>
70103
70104         * lib/size_max.h: New file.
70105
70106 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
70107
70108         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
70109         copyright symbol and the year.
70110         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
70111         (version_etc_va): Use parameterized copyright notice.
70112         Reword to conform to the current GNU coding standards.
70113
70114 2005-07-11  Karl Berry  <karl@gnu.org>
70115
70116         * doc/gnulib.texi (Quoting): new node.
70117         (Initial import): more info, from Patrice.
70118
70119 2005-07-11  Bruno Haible  <bruno@clisp.org>
70120
70121         * gnulib-tool (func_usage): Document option --avoid.
70122         (Command line options): Handle --avoid.
70123         (func_acceptable): New function.
70124         (func_modules_transitive_closure): Use it.
70125
70126 2005-07-11  Bruno Haible  <bruno@clisp.org>
70127
70128         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
70129         Reported by Jim Meyering.
70130
70131 2005-07-10  Bruno Haible  <bruno@clisp.org>
70132
70133         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
70134         Needed when size_t is smaller than 'unsigned int'.
70135         Reported by Paul Eggert.
70136
70137 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
70138
70139         * modules/argp (Depends-on): Add unlocked-io
70140
70141 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
70142
70143         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
70144         block of defines.
70145
70146 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
70147
70148         * config/srclist.txt: Comment out regcomp.c, since we have a porting
70149         fix now.
70150
70151 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
70152         and Paul Eggert  <eggert@cs.ucla.edu>
70153
70154         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
70155         in wint_t, not wchar_t.  Remove now-unnecessary cast.
70156
70157 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
70158
70159         * modules/regex (Files): Add lib/regex_internal.c,
70160         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
70161         (Depends-on): Add extensions.
70162         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
70163
70164 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
70165
70166         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
70167         pathconf.
70168         * m4/same.m4 (gl_SAME): Likewise.
70169         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
70170
70171         * m4/regex.m4: Adjust to new libc regex implementation.
70172         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
70173         all the .c and .h parts of (the new) regex.
70174         Quote the m4 stuff better.
70175         Check for RE_ICASE bug of old gnulib.
70176         Check for REG_STARTEND of recent libc.
70177         Rename local variables from jm_* to gl_*.
70178         Quote operand of "test -f".
70179         Say "recent enough" version of libc, not "version 2".
70180         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
70181         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
70182         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
70183         Remove check for btowc, isascii.
70184         Require AM_LANGINFO_CODESET.
70185
70186 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
70187
70188         * lib/regex.c, regex.h: Sync from libc.
70189         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
70190         * lib/regexec.c:
70191         New files, synced from libc, except that regex_internal.h
70192         currently has a small porting fix.
70193
70194 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
70195
70196         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
70197         regex_internal.c, regexec.c.
70198         Add regex_internal.h too, but as a comment, since the libc version
70199         is currently broken in gnulib mode.
70200
70201 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
70202
70203         Support programs like Emacs that use gnulib but not gettext.
70204         * MODULES.html.sh (Internationalization functions): Add gettext-h.
70205         * modules/gettext-h: New file.
70206         * modules/gettext (Files): Remove lib/gettext.h.
70207         (Depends-on): Add gettext-h.
70208         (Makefile.am): Remove lib_SOURCES.
70209         * modules/argmatch, modules/c-stack, modules/closeout:
70210         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
70211         * modules/execute, modules/file-type, modules/getaddrinfo:
70212         * modules/getopt, modules/human, modules/javacomp:
70213         * modules/javaexec, modules/mkdir-p, modules/obstack:
70214         * modules/openat, modules/pagealign_alloc, modules/pipe:
70215         * modules/quotearg, modules/regex, modules/rpmatch:
70216         * modules/unicodeio, modules/userspec, modules/version-etc:
70217         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
70218         * modules/xsetenv:
70219         Depend on gettext-h, not gettext.
70220
70221 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
70222
70223         * gnulib-tool (func_import): Add support for 'public domain' license.
70224         * modules/alloca, modules/atexit, modules/memmove:
70225         Now public domain, not GPL.
70226         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
70227         * modules/realloc, modules/strerror, modules/strtod:
70228         Now LGPL, not GPL.
70229
70230 2005-07-05  Bruno Haible  <bruno@clisp.org>
70231
70232         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
70233         autoconf CVS. Needed for mingw.
70234
70235 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
70236
70237         Remove the dependency of the strftime module on the tzset module.
70238         * modules/strftime (Depends-on): Remove dependency on tzset.
70239
70240 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
70241
70242         Remove the dependency of the strftime module on the tzset module.
70243         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
70244         gl_FUNC_TZSET_CLOBBER.
70245
70246 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
70247
70248         Remove the dependency of the strftime module on the tzset module.
70249         * lib/strftime.c (my_strftime)
70250         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
70251         Copy the input structure, to work around some of the bug with
70252         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
70253         Solaris releases, you should also use the tzset module, but we won't
70254         require it as a dependency any more since we don't want LGPLed code
70255         to depend on GPLed code.
70256
70257 2005-07-02  Jim Meyering  <jim@meyering.net>
70258
70259         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
70260         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
70261         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
70262         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
70263
70264 2005-07-02  Jim Meyering  <jim@meyering.net>
70265
70266         * lib/backupfile.c (backup_args): Change a `0' to NULL.
70267
70268 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
70269
70270         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
70271         declares only 'struct timespec;' (!).
70272
70273 2005-07-01  Jim Meyering  <jim@meyering.net>
70274
70275         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
70276         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
70277         * lib/save-cwd.c, tempname.c:
70278         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
70279         and don't include <sys/file.h>).
70280
70281 2005-06-29  Jim Meyering  <jim@meyering.net>
70282
70283         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
70284         type name.  Use the variable name instead.
70285         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
70286         Likewise.
70287
70288 2005-06-28  Simon Josefsson  <jas@extundo.com>
70289
70290         * modules/check-version (Files): Add check-version.m4.
70291
70292 2005-06-28  Simon Josefsson  <jas@extundo.com>
70293
70294         * m4/check-version.m4: New file, suggested by Jim Meyering
70295         <jim@meyering.net>.
70296
70297 2005-06-28  Simon Josefsson  <jas@extundo.com>
70298
70299         * lib/check-version.h, lib/check-version.c: New files.
70300
70301 2005-06-28  Simon Josefsson  <jas@extundo.com>
70302
70303         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
70304         collision with global variable.  Better indentation.  Don't
70305         increment buffer pointer beyond buffer end.  Based on comments
70306         from Paul Eggert <eggert@cs.ucla.edu>.
70307
70308         * lib/base64.h: Indent.
70309
70310 2005-06-28  Simon Josefsson  <jas@extundo.com>
70311
70312         * doc/gnulib.texi (Library version handling): New section.
70313
70314 2005-06-28  Jim Meyering  <jim@meyering.net>
70315
70316         * check-module (find_included_lib_files): Hard-code another
70317         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
70318         but modules/fts-lgpl (correctly) does not list those files.
70319
70320         * modules/canonicalize (Files): Add lib/pathmax.h.
70321
70322 2005-06-25  Simon Josefsson  <jas@extundo.com>
70323
70324         * modules/check-version: New file.
70325
70326 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
70327
70328         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
70329         initializer of struct addrinfo, as an indication that we don't
70330         care how many members the structure has.
70331
70332 2005-06-24  Derek Price  <derek@ximbiot.com>
70333         and Bruno Haible  <bruno@clisp.org>
70334
70335         Remove stat module & update lstat.
70336         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
70337         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
70338         * m4/stat.m4: Remove this file.
70339
70340 2005-06-24  Derek Price  <derek@ximbiot.com>
70341         and Bruno Haible  <bruno@clisp.org>
70342
70343         Remove stat module & update lstat.
70344         * lib/stat.c: Remove this file...
70345         (slash_aware_lstat): ...moving this content and its support...
70346         * lib/lstat.c (rpl_lstat): ...into here.
70347         * lib/lstat.h: New file.
70348
70349 2005-06-24  Derek Price  <derek@ximbiot.com>
70350         and Bruno Haible  <bruno@clisp.org>
70351
70352         Remove stat module & update lstat.
70353         * config/srclist.txt (libc sources): Remove stat.
70354
70355 2005-06-24  Derek Price  <derek@ximbiot.com>
70356         and Bruno Haible  <bruno@clisp.org>
70357
70358         Remove stat module & update lstat.
70359         * MODULES.html.sh (stat): Remove.
70360         * MODULES.html: Regenerated.
70361         * modules/lstat (Description): Correct function name.
70362         (Files): Add "lstat.h".
70363         (Depends-on): Remove stat, add xalloc, stat-macros.
70364         * modules/stat: Remove this file.
70365         (Include): Add "lstat.h", remove <sys/stat.h>.
70366
70367 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
70368
70369         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
70370         (ranged_convert): Don't save conversion in a temporary struct.
70371         This causes a warning with GCC 4.0.0, and anyway in the typical
70372         case it's not worth the extra 100 bytes or so of code.
70373         (ranged_convert, __mktime_internal): When calling a function via a
70374         pointer P, use P () rather than (*P) (), as we now assume C89 or
70375         better.
70376
70377 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
70378
70379         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
70380         "who -r" failed to give output.  Problem reported by Tim Waugh.
70381
70382         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
70383         (xcalloc): Use it to avoid needless tests.
70384         Problem reported by Jim Meyering.
70385
70386 2005-06-20  Derek Price  <derek@ximbiot.com>
70387
70388         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
70389         unnecessary for Autoconfs > 2.59c.
70390
70391 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
70392
70393         * lib/argp.h (__option_is_short): Check upper limit of
70394         __key. Isprint() requires its argument to have the value
70395         of an unsigned char or EOF.
70396
70397 2005-06-16  Jim Meyering  <jim@meyering.net>
70398
70399         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
70400         when either N or S is zero.
70401
70402 2005-06-16  Derek Price  <derek@ximbiot.com>
70403
70404         * m4/bison.m4: Declare YACC & YFLAGS precious.
70405
70406 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
70407
70408         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
70409         multibyte string or pattern, fall back on unibyte matching.
70410         Problem reported by James Youngman.
70411
70412 2005-06-08  Bruno Haible  <bruno@clisp.org>
70413
70414         * modules/csharpcomp: New file.
70415         * MODULES.html.sh (C#): Add csharpcomp.
70416
70417 2005-06-08  Bruno Haible  <bruno@clisp.org>
70418
70419         * m4/csharpcomp.m4: New file, from GNU gettext.
70420
70421 2005-06-08  Bruno Haible  <bruno@clisp.org>
70422
70423         * lib/csharpcomp.h: New file, from GNU gettext.
70424         * lib/csharpcomp.c: New file, from GNU gettext.
70425         * lib/csharpcomp.sh.in: New file, from GNU gettext.
70426
70427 2005-06-08  Bruno Haible  <bruno@clisp.org>
70428
70429         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
70430         warning on mingw.
70431
70432 2005-06-07  Derek Price  <derek@ximbiot.com>
70433
70434         Sync from CVS.
70435         * lib/glob_.h: Indent nested #ifdef.
70436
70437 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
70438
70439         Sync from coreutils.
70440         Use "file name" when talking about file names, instead of "filename"
70441         or "path", as per the GNU coding standards.
70442         * lib/mkdir-p.c: Renamed from makepath.c.
70443         (make_dir_parents): Renamed from make_path.  All callers changed.
70444         * lib/mkdir-p.h: Likewise.  All includers changed.
70445         * lib/filenamecat.c: Renamed from path-concat.c.
70446         (file_name_concat): Renamed from path_concat.  All callers changed.
70447         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
70448         * lib/filenamecat.h: Likewise.  All includers changed.
70449         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
70450         in comments or local variable names.
70451         * lib/basename.c: Likewise.
70452         * lib/canonicalize.c, canonicalize.h: Likewise.
70453         * lib/dirname.c, dirname.h: Likewise.
70454         * lib/euidaccess.c: Likewise.
70455         * lib/exclude.c: Likewise
70456         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
70457         * lib/fsusage.c, fsuage.h: Likewise.
70458         * lib/fts.c, fts_.h: Likewise.
70459         * lib/getcwd.c: Likewise.
70460         * lib/getloadavg.c: Likewise.
70461         * lib/mkstemp.c: Likewise.
70462         * lib/mountlist.c, mountlist.h: Likewise.
70463         * lib/openat.c, openat.h: Likewise.
70464         * lib/readlink-stub.c: Likewise.
70465         * lib/readutmp.c, readutmp.h: Likewise.
70466         * lib/rename.c: Likewise.
70467         * lib/rmdir.c: Likewise.
70468         * lib/same.c: Likewise.
70469         * lib/savedir.c: Likewise.
70470         * lib/stripslash.c: Likewise.
70471         * lib/tempname.c: Likewise.
70472         * lib/xreadlink.c: Likewise.
70473         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
70474         All uses changed.
70475         * lib/exclude.h: Likewise.
70476
70477         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
70478         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
70479         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
70480         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
70481         * lib/pathmax.h: Include <limits.h> unconditionally, since other
70482         files have been getting away with it for years (MORE/BSD 4.3
70483         is extinct now).
70484         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
70485         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
70486
70487         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
70488         Define to 256, not 255, as per modern POSIX.
70489
70490 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
70491
70492         Sync from coreutils.
70493         Use "file name" when talking about file names, instead of "filename"
70494         or "path", as per the GNU coding standards.
70495         * MODULES.html.sh: mkdir-p renamed from makepath.
70496         filenamecat renamed from path-concat.
70497         * modules/filenamecat: Renamed from modules/path-concat.
70498         (Files): filenamecat.h and filenamecat.c renamed from
70499         path-concat.h and path-concat.c.
70500         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
70501         (Include): filenamecat.h, not path-concat.h.
70502         * modules/mkdir-p: Renamed from modules/makepath.
70503         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
70504         makepath.c.
70505         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
70506         (Include): mkdir-p.h, not makepath.h.
70507
70508 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
70509
70510         Sync from coreutils.
70511         * m4/mkdir-p.m4: Renamed from makepath.m4.
70512         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
70513         Rename files from makepath.c to mkdir-p.c, and from
70514         makepath.h to mkdir-p.h.
70515         * m4/filenamecat.m4: Renamed from path-concat.m4.
70516         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
70517         Rename files from path-concat.c to filenamecat.c,
70518         and from path-concat.h to filenamecat.h.
70519         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
70520         "file name" in local variables or comments.
70521         * m4/rename.m4: Likewise.
70522
70523 2005-06-01  Bruno Haible  <bruno@clisp.org>
70524
70525         * modules/csharpexec: New file.
70526         * MODULES.html.sh (C#): New section.
70527
70528 2005-06-01  Bruno Haible  <bruno@clisp.org>
70529
70530         * m4/csharp.m4: New file, from GNU gettext.
70531         * m4/csharpexec.m4: New file, from GNU gettext.
70532
70533 2005-06-01  Bruno Haible  <bruno@clisp.org>
70534
70535         * lib/csharpexec.h: New file, from GNU gettext.
70536         * lib/csharpexec.c: New file, from GNU gettext.
70537         * lib/csharpexec.sh.in: New file, from GNU gettext.
70538
70539 2005-05-31  Derek Price  <derek@ximbiot.com>
70540             Paul Eggert  <eggert@cs.ucla.edu>
70541
70542         Sync from cvs.
70543         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
70544
70545 2005-05-31  Derek Price  <derek@ximbiot.com>
70546             Paul Eggert  <eggert@cs.ucla.edu>
70547
70548         Sync from cvs.
70549         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
70550
70551 2005-05-29  Derek Price  <derek@ximbiot.com>
70552
70553         * config/srclist.txt (glob_.h, glob.c): Add these files.
70554
70555 2005-05-29  Derek Price  <derek@ximbiot.com>
70556
70557         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
70558         * modules/glob: New file.
70559         * modules/getlogin_r: Add link to POSIX spec in description.
70560
70561 2005-05-29  Derek Price  <derek@ximbiot.com>
70562             Paul Eggert  <eggert@cs.ucla.edu>
70563
70564         * m4/glob.m4: New file.
70565
70566 2005-05-29  Derek Price  <derek@ximbiot.com>
70567             Paul Eggert  <eggert@cs.ucla.edu>
70568
70569         * lib/glob_.h, lib/glob.c: New files.
70570
70571 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
70572
70573         * modules/fts (Files): Remove m4/inttypes-pri.m4.
70574         * modules/fts-lgpl (Depends-on): Remove gettext.
70575
70576 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
70577
70578         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
70579         and don't require gt_INTTYPES_PRI.
70580
70581 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
70582
70583         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
70584
70585         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
70586         the configuration hassle isn't worth it.
70587         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
70588         (LONGEST_MODIFIER, PRIuMAX): Remove.
70589
70590 2005-05-27  Bruno Haible  <bruno@clisp.org>
70591
70592         * lib/getlogin_r.h: Remove second include of <stddef.h>.
70593
70594 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
70595
70596         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
70597         _POSIX_PTHREAD_SEMANTICS for Solaris.
70598
70599 2005-05-25  Derek Price  <derek@ximbiot.com>
70600
70601         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
70602
70603 2005-05-25  Derek Price  <derek@ximbiot.com>
70604             Paul Eggert  <eggert@cs.ucla.edu>
70605
70606         * modules/getlogin_r, m4/getlogin_r.m4: New files.
70607         * lib/getlogin_r.c, getlogin_r.h: New files.
70608
70609 2005-05-25  Bruno Haible  <bruno@clisp.org>
70610             Derek Price  <derek@ximbiot.com>
70611
70612         * lib/getlogin_r.h: Simplify API documentation.
70613
70614 2005-05-23  Derek Price  <derek@ximbiot.com>
70615
70616         * modules/minmax (Files): Add m4/minmax.m4.
70617         (configure.ac): Add gl_MINMAX.
70618
70619 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
70620
70621         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
70622         so that unistd-safer.h (GPL'ed code) need not be included.
70623
70624 2005-05-22  Bruno Haible  <bruno@clisp.org>
70625
70626         * m4/minmax.m4: New file.
70627         Based on a patch by Derek Price <derek@ximbiot.com>.
70628
70629 2005-05-22  Bruno Haible  <bruno@clisp.org>
70630
70631         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
70632         (INT64_MIN): Fix definition.
70633         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
70634
70635         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
70636         NEED_SIGNED_INT_TYPES.
70637
70638         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
70639         HAVE_SYSTEM_INTTYPES.
70640
70641 2005-05-22  Bruno Haible  <bruno@clisp.org>
70642
70643         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
70644         Also include <sys/param.h> if it defines MIN, MAX.
70645         Based on a patch by Derek Price <derek@ximbiot.com>.
70646
70647 2005-05-21  Jim Meyering  <jim@meyering.net>
70648
70649         * modules/fts (Files): Add m4/inttypes-pri.m4.
70650         (Depends-on): Add lstat and remove gettext.  Alphabetize.
70651
70652 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
70653
70654         New fts module.
70655         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
70656         (setup_dir, free_dir): New functions.
70657         (enter_dir, leave_dir): Define trivial
70658         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
70659         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
70660         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
70661         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
70662         Move to fts-cycle.c.
70663         (fts_open): Use setup_dir.
70664         (fts_close): Use free_dir.
70665         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
70666         This adds a label and some gotos, but the alternatives were messier.
70667         Check for memory allocation failure when entering a dir.
70668         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
70669         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
70670         (FTS): New member fts_cycle, that is a union that contains the
70671         old active_dir_ht and cycle_state.  All uses changed to mention
70672         fts_cycle.ht and fts_cycle.state.
70673         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
70674         fts.c, with the following changes:
70675         (setup_dir, free_dir): New functions.
70676         (enter_dir): Now returns bool.  Return true if successful, false
70677         if memory exhausted.  All callers changed.
70678         Do not bother partly cleaning up on
70679         memory allocation failure; that is free_dir's job.
70680         However, free ad if hash_insert fails, to avoid memory leak.
70681         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
70682         fts->fts_options to see which union member to use.
70683
70684 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
70685
70686         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
70687         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
70688
70689 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
70690
70691         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
70692
70693 2005-05-20  Jim Meyering  <jim@meyering.net>
70694
70695         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
70696         Now a macro, to pacify GCC.
70697
70698 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
70699
70700         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
70701         of -1.
70702
70703 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
70704
70705         * lib/chown.c (rpl_chown): Return -1 on failure.
70706
70707 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
70708
70709         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
70710         Don't check for stddef.h.
70711         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
70712         don't use its results.
70713         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
70714         since we include them unconditionally.  Don't require
70715         AM_STDBOOL_H, since stdbool is a prerequisite.
70716         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
70717         since we assume C89 or better.
70718         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
70719         as we don't use their results.
70720         Don't check for fchdir, memmove, memset, strrchr, as we use
70721         them unconditionally.
70722         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
70723         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
70724
70725 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
70726
70727         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
70728         Include <stddef.h> unconditionally, since we assume C89 now.
70729         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
70730         * lib/fts.c: Include fts_.h first, to check interface.
70731         Do not include intprops.h; no longer needed.
70732         Include cycle-check.h and hash.h, since fts_.h no longer does.
70733         Remove unnecessary casts of closedir to void.
70734         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
70735         decide whether to decrement nlinks.
70736         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
70737         (FTS): Use struct hash_table * instead of Hash_table, so that
70738         we no longer need to include hash.h here.
70739
70740 2005-05-18  Jim Meyering  <jim@meyering.net>
70741
70742         * modules/dirfd (License): Change to LGPL.  Most of the code
70743         is already in the public domain.
70744
70745 2005-05-18  Jim Meyering  <jim@meyering.net>
70746
70747         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
70748         Reported by Yoann Vandoorselaere.
70749
70750 2005-05-17  Jim Meyering  <jim@meyering.net>
70751
70752         * m4/fts.m4: New file, from coreutils.
70753
70754 2005-05-17  Jim Meyering  <jim@meyering.net>
70755
70756         * lib/fts.c, lib/fts_.h: New files, from coreutils.
70757
70758 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
70759
70760         Sync from coreutils.
70761         * m4/unlinkdir.m4: New file.
70762
70763 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
70764
70765         Sync from coreutils.
70766         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
70767         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
70768         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
70769         White space changes only.
70770         * lib/makepath.c (make_path): Port to hosts where leading "//" is
70771         special.
70772         * lib/yesno.c: Include getline.h, not ctype.h.
70773         (yesno): Don't remove leading white space; POSIX doesn't allow it.
70774         Use getline to remove arbitrary restriction on response length.
70775
70776 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
70777
70778         * config/srclist-update: Spell out "Street" in FSF postal
70779         mail address; this is the style the FSF seems to prefer.
70780
70781         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
70782         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
70783         this updates FSF postal mail address.
70784
70785         Sync from coreutils.
70786         * modules/unlinkdir: New file.
70787         * modules/yesno (Depends-on): Add getline.
70788         * MODULES.html.sh (File system functions): Add unlinkdir.
70789
70790 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
70791
70792         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
70793         lib/strsep.h:
70794         Change the initial comment to refer to GPL, not LGPL.
70795         gnulib-tool will change it to LGPL as needed.
70796
70797         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
70798         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
70799         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
70800         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
70801         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
70802         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
70803         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
70804         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
70805         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
70806         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
70807         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
70808         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
70809         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
70810         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
70811         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
70812         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
70813         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
70814         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
70815         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
70816         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
70817         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
70818         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
70819         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
70820         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
70821         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
70822         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
70823         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
70824         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
70825         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
70826         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
70827         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
70828         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
70829         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
70830         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
70831         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
70832         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
70833         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
70834         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
70835         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
70836         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
70837         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
70838         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
70839         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
70840         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
70841         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
70842         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
70843         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
70844         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
70845         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
70846         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
70847         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
70848         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
70849         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
70850         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
70851         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
70852         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
70853         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
70854         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
70855         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
70856         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
70857         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
70858         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
70859         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
70860         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
70861         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
70862         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
70863         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
70864         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
70865         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
70866         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
70867         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
70868         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
70869         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
70870         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
70871         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
70872         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
70873         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
70874         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
70875         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
70876         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
70877         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
70878         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
70879         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
70880         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
70881         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
70882         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
70883         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
70884         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
70885         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
70886         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
70887         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
70888         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
70889         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
70890         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
70891         lib/yesno.c, lib/yesno.h:
70892         Update FSF postal mail address.
70893
70894 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
70895
70896         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
70897         tests/test-memmem.c, tests/test-stpncpy.c:
70898         Update FSF postal mail address.
70899
70900 2005-05-13  Bruno Haible  <bruno@clisp.org>
70901
70902         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
70903         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
70904         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
70905         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
70906         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
70907         Add support for 64-bit integers in the MSVC compiler.
70908
70909 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
70910
70911         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
70912
70913 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
70914
70915         * gnulib-tool (func_import): Sort and uniquify recommended includes.
70916
70917 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
70918
70919         * doc/getdate.texi (General date syntax): Don't say that date
70920         date --iso-8601=ns generates acceptable dates; it doesn't yet.
70921         Problem reported by Nic Ferrier.
70922
70923 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
70924
70925         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
70926         specified in ai_socktype. Fix invalid ai_protocol
70927         check. ai_protocol is usually set to 0 or depending on
70928         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
70929         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
70930         ai_socktype / ai_protocol in the returned addrinfo structure.
70931
70932 2005-05-10  Simon Josefsson  <jas@extundo.com>
70933
70934         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
70935         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
70936
70937 2005-05-10  Karl Berry  <karl@gnu.org>
70938
70939         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
70940         (from http://www.gnu.org/licenses).
70941         * doc/COPYING.LIB: also rename to COPYING.LESSER.
70942         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
70943         fdl.texi suffices.
70944
70945 2005-05-10  Karl Berry  <karl@gnu.org>
70946
70947         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
70948         (COPYING.DOC): remove.
70949
70950         * config/srclist-update: new FSF address.
70951
70952 2005-05-10  Derek Price  <derek@ximbiot.com>
70953
70954         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
70955         possible.
70956
70957 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
70958             Bruno Haible  <bruno@clisp.org>
70959
70960         * modules/inet_ntop: New file.
70961         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
70962         inet_ntop.
70963
70964 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
70965             Bruno Haible  <bruno@clisp.org>
70966
70967         * m4/inet_ntop.m4: New file.
70968
70969 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
70970             Bruno Haible  <bruno@clisp.org>
70971
70972         * lib/inet_ntop.h: New file.
70973         * lib/inet_ntop.c: New file, from glibc with modifications.
70974
70975 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
70976
70977         * modules/time_r (License): Change to LGPL.
70978         * modules/extensions (License): Change to LGPL.  Actually,
70979         the license is more permissive than that, but currently gnulib-tool
70980         doesn't know how to handle more-permissive licenses.
70981
70982         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
70983         Problem reported by Dave Love.
70984
70985 2005-05-08  Jim Meyering  <jim@meyering.net>
70986
70987         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
70988         blank.
70989
70990 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
70991
70992         * modules/argmatch (Depends-on): Add stdbool.
70993         * modules/backupfile (Depends-on): Likewise.
70994         * modules/chdir-long (Depends-on): Likewise.
70995         * modules/closeout (Depends-on): Likewise.
70996         * modules/cycle-check (Depends-on): Likewise.
70997         * modules/dirname (Depends-on): Likewise.
70998         * modules/fnmatch (Depends-on): Likewise.
70999         * modules/fsusage (Depends-on): Likewise.
71000         * modules/fwriteerror (Depends-on): Likewise.
71001         * modules/getcwd (Depends-on): Likewise.
71002         * modules/getloadavg (Depends-on): Likewise.
71003         * modules/hard-locale (Depends-on): Likewise.
71004         * modules/makepath (Depends-on): Likewise.
71005         * modules/mountlist (Depends-on): Likewise.
71006         * modules/nanosleep (Depends-on): Likewise.
71007         * modules/posixtm (Depends-on): Likewise.
71008         * modules/quotearg (Depends-on): Likewise.
71009         * modules/readtokens (Depends-on): Likewise.
71010         * modules/readtokens0 (Depends-on): Likewise.
71011         * modules/readutmp (Depends-on): Likewise.
71012         * modules/save-cwd (Depends-on): Likewise.
71013         * modules/strftime (Depends-on): Likewise.
71014         * modules/userspec (Depends-on): Likewise.
71015         * modules/utimecmp (Depends-on): Likewise.
71016         * modules/xgetcwd (Depends-on): Likewise.
71017         * modules/xnanosleep (Depends-on): Likewise.
71018         * modules/xstrtod (Depends-on): Likewise.
71019         * modules/yesno (Depends-on): Likewise.
71020
71021 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
71022
71023         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
71024         needless checks.
71025
71026 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
71027
71028         Merge from coreutils.  Among other things,
71029         add bulletproofing for cases where stdin, stdout, or stderr are closed.
71030         * lib/fd-safer.c: New file.
71031         * lib/fcntl-safer.h, open-safer.c: Remove.
71032         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
71033         * lib/dup-safer.c: Include unistd-safer.h first.
71034         Don't include errno.h.
71035         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
71036         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
71037         * lib/file-type.c: Rely on file-type.h change.
71038         * lib/getloadavg.c: Include unistd-safer.h.
71039         (getloadavg): Use safer open.
71040         * lib/getusershell.c: Include "stdio-safer.h".
71041         (getusershell): Use safer fopen.
71042         * lib/long-options.c (long_options): Use NULL rather than 0.
71043         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
71044         'free'.
71045         * lib/modechange.c: Likewise.
71046         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
71047         (MODE_DONE): New constant.
71048         (struct mode_change): Remove 'next' member.
71049         (make_node_op_equals): New function; like the old one of the
71050         same name, except it allocates an array.
71051         (mode_compile, mode_create_from_ref): Use it.
71052         (mode_compile): Allocate result as an array, not a linked list.
71053         Parse octal string ourself, so that we catch mistakes like "+0".
71054         (mode_adjust): Arg is an array, not a linked list.
71055         * lib/modechange.c: Include stat-macros.h, xalloc.h.
71056         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
71057         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
71058         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
71059         Remove.  This is now stat-macros.h's job.
71060         (talloc): Remove.  All callers replaced by xalloc, so that
71061         our invokers don't have to worry about reporting memory failures.
71062         (make_node_op_equals): Remove.
71063         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
71064         New constants.
71065         (struct mode_change): Moved here from modechange.h.
71066         (mode_append_entry): Remove.
71067         (mode_compile): Remove MASKED_OPS arg, since it encouraged
71068         apps to have incorrect behavior.  Use simpler algorithm for head
71069         and tail.  Don't futz with umask; that's now the job of mode_adjust.
71070         Detect more invalid usages rather than having somewhat-random behavior.
71071         Don't insert an "a=" action, as that leads to incorrect behavior.
71072         (mode_compile, mode_create_from_ref): Return NULL on error instead
71073         of an enum, since now there's only one way to have an error.  All
71074         callers changed.
71075         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
71076         at the correct time.  Simplify calculation of "+u" and its ilk.
71077         Don't mishandle "+X".
71078         (mode_free): Remove "register" and localize decls.
71079         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
71080         (struct mode_change): Move to modechange.c; callers don't
71081         need to see this stuff.
71082         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
71083         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
71084         (mode_change, mode_adjust): Reflect the new signatures noted above.
71085         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
71086         that might redefine system include files.
71087         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
71088         (my_usleep): Use NULL rather than (void *) 0.
71089         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
71090         Use siginterrupt to specify that system calls should be interrupted.
71091         (rpl_nanosleep): Move initialization of suspended closer to call of
71092         my_usleep.
71093         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
71094         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
71095         (desirable_utmp_entry): New function.
71096         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
71097         using x2nrealloc, to simplify logic.
71098         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
71099         size calculation.  Do not assume utmp file is a regular file.
71100         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
71101         (READ_UTMP_CHECK_PIDS): New constant.
71102         * lib/save-cwd.c: Include unistd-safer.h.
71103         (save_cwd): Use fd_safer.
71104         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
71105         [!_LIBC] Include "stat-macros.h" instead.
71106         * lib/unistd-safer.h (fd_safer): New decl.
71107
71108 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
71109
71110         * modules/getloadavg (Depends-on): Add unistd-safer.
71111         * modules/getusershell (Depends-on): Add stdio-safer.
71112         * modules/lstat (Depends-on): Remove xalloc.
71113         * modules/mkstemp (Depends-on): Add stat-macros.
71114         * modules/modechange (Depends-on): Remove xstrtol.
71115         Add stat-macros, xalloc.
71116         * modules/save-cwd (Depends-on): Add unistd-safer.
71117         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
71118         * modules/unistd-safer (Files): Add lib/fd-safer.c
71119         (Makefile.am): Remove lib_SOURCES.
71120
71121         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
71122         Remove fcntl-safer; unistd-safer supersedes it.
71123
71124 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
71125
71126         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
71127         AC_HEADER_STAT.
71128         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
71129         (gl_PREREQ_CHOWN): Remove.
71130         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
71131         it.  Don't require AC_HEADER_STAT.
71132         (gl_PREREQ_LSTAT): Remove.
71133         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
71134         Don't require AC_HEADER_STAT.
71135         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
71136         (gl_PREREQ_RMDIR): Remove.
71137         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
71138         mention stat-macros.h or AC_HEADER_STAT, since we'll make
71139         the stat-macros module a prerequisite.
71140         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
71141         * m4/filemode.m4 (gl_FILEMODE): Likewise.
71142         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
71143         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
71144         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
71145         variable names.
71146         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
71147         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
71148         variable prefixes.
71149         * m4/fcntl-safer.m4: Remove.
71150         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
71151         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
71152         Invoke gl_PREREQ_FD_SAFER.
71153         (gl_PREREQ_FD_SAFER): New macro.
71154         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
71155         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
71156         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
71157         Remove duplicate call to AC_LIBOBJ(readutmp).
71158         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
71159
71160         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
71161         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
71162
71163 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
71164
71165         * MODULES.html.sh (Misc): Add byteswap.
71166
71167 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
71168
71169         * modules/getcwd (Depends-on): Add extensions.
71170         * modules/openat (Depends-on): Likewise.
71171
71172 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
71173
71174         * modules/byteswap: New file.
71175
71176 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
71177
71178         * m4/byteswap.m4: New file.
71179
71180 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
71181
71182         * lib/byteswap_.h: New file.
71183
71184 2005-04-25  Karl Berry  <karl@gnu.org>
71185
71186         * m4/gettext.m4: Update from GNU gettext 0.14.4.
71187
71188 2005-04-25  Albert Chin  <china@thewrittenword.com>
71189
71190         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
71191         Toolkit C bug.
71192
71193 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
71194
71195         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
71196         (func_ln_if_changed): Remove forcibly for no error message
71197         in case file does not exist.
71198
71199 2005-04-19  Simon Josefsson  <jas@extundo.com>
71200
71201         * gnulib-tool (Options): Make --symlink mean --symbolic.
71202
71203 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
71204
71205         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
71206
71207 2005-04-16  Simon Josefsson  <jas@extundo.com>
71208
71209         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
71210
71211 2005-04-15  Simon Josefsson  <jas@extundo.com>
71212
71213         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
71214
71215 2005-04-15  Simon Josefsson  <jas@extundo.com>
71216
71217         * gnulib-tool: Rename --symlink to --symbolic.
71218
71219 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
71220
71221         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
71222         symbolic links to files instead of copying/moving.  Add --aux-dir,
71223         specifying directory relative --dir where auxiliary build tools
71224         are placed.
71225
71226 2005-04-14  Bruno Haible  <bruno@clisp.org>
71227
71228         * modules/allocsa (License): Change to LGPL.
71229         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
71230
71231 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
71232
71233         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
71234         that "UTC +1 second" continues to work.  Problem reported
71235         by Dmitry V. Levin.
71236         (relunit_snumber): New rule.
71237         (relunit): Use it.
71238
71239 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
71240
71241         * lib/getdate.y (universal_time_zone_table): New constant.
71242         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
71243         universal_time_zone_table.
71244         (lookup_zone): Prefer universal_time_zone_table to
71245         local_time_zone_table, so that "GMT" time stamps are allowed in
71246         London during the summer.  Problem reported by Ian Abbott.
71247
71248 2005-04-12  Jim Meyering  <jim@meyering.net>
71249
71250         * lib/human.c (humblock): Set *options even when returning due to
71251         xstrtoumax conversion failure.  Thanks to a used-uninitialized
71252         warning from gcc-4.
71253
71254 2005-04-09  Jim Meyering  <jim@meyering.net>
71255
71256         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
71257         -Wuninitialized: initialize tm0.tm_year.
71258
71259 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
71260
71261         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
71262         count, since there's no maximum.  All uses changed.
71263         Add member dsts_seen.
71264         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
71265         not being INT_MAX.
71266         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
71267         Use pc_rels_seen to decide whther a date is absolute.
71268
71269         * lib/getdate.y (number): Don't overwrite year.
71270         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
71271         check.
71272
71273 2005-04-02  Simon Josefsson  <jas@extundo.com>
71274
71275         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
71276         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
71277
71278 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
71279
71280         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
71281         where no absolute path name can be longer than PATH_MAX.
71282
71283 2005-03-27  Jim Meyering  <jim@meyering.net>
71284
71285         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
71286
71287 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
71288
71289         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
71290         "one's complement" -> "ones' complement" in comment, as per Knuth.
71291         "value of type" -> "type or expression" in comment.
71292         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
71293
71294 2005-03-26  Jim Meyering  <jim@meyering.net>
71295
71296         Comment nits.
71297         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
71298         Correct typos: s/or/of/.
71299
71300 2005-03-26  Jim Meyering  <jim@meyering.net>
71301
71302         * modules/check-include-files: Move to ../ and rename to...
71303         * check-module: ...this.
71304
71305 2005-03-25  Jim Meyering  <jim@meyering.net>
71306
71307         * modules/xvasprintf (Files): Add xalloc.h.
71308
71309 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
71310
71311         * modules/gettext (Files): config/config.rpath ->
71312         build-aux/config.rpath
71313         * modules/iconv (Files): Likewise.
71314         Problem reported by Oskar Liljeblad.
71315
71316 2005-03-23  Jim Meyering  <jim@meyering.net>
71317
71318         * modules/check-include-files: New script to check for
71319         missing dependencies, multiple includes, etc.
71320
71321         * modules/c-strtold (Depends-on): Add xalloc.
71322         * modules/c-strtod (Depends-on): Add xalloc.
71323         * modules/hash (Depends-on): Add xalloc.
71324         (Files): Remove lib/xalloc.h.
71325
71326         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
71327         * modules/userspec (Files): Add lib/inttostr.h.
71328
71329 2005-03-23  Jim Meyering  <jim@meyering.net>
71330
71331         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
71332
71333 2005-03-22  Jim Meyering  <jim@meyering.net>
71334
71335         * modules/stat-macros: New module.
71336         * modules/canonicalize, modules/euidaccess, modules/file-type,
71337         * modules/filemode, modules/lchown, modules/makepath,
71338         * modules/rmdir, modules/stat: Depend on new stat-macros module
71339         rather than listing lib/stat-macros.h manually.
71340         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
71341
71342 2005-03-22  Jim Meyering  <jim@meyering.net>
71343
71344         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
71345
71346 2005-03-22  Bruno Haible  <bruno@clisp.org>
71347
71348         * config/srclist.txt: Replace target directory 'config' with
71349         'build-aux'.
71350         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
71351         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
71352         ../build-aux/.
71353
71354 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
71355
71356         * modules/chdir-long (Depends-on): Add mempcpy.
71357
71358         * modules/acl, modules/backupfile, modules/c-strtod,
71359         modules/c-strtold, modules/canon-host, modules/canonicalize,
71360         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
71361         modules/exclude, modules/exitfail, modules/file-type,
71362         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
71363         modules/getdate, modules/getline, modules/getpagesize,
71364         modules/getpass, modules/getugroups, modules/group-member,
71365         modules/hard-locale, modules/hash, modules/human, modules/idcache,
71366         modules/inttostr, modules/long-options, modules/makepath,
71367         modules/md5, modules/memcasecmp, modules/memcoll,
71368         modules/modechange, modules/mountlist, modules/path-concat,
71369         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
71370         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
71371         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
71372         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
71373         modules/strftime, modules/strndup, modules/strverscmp,
71374         modules/timespec, modules/unlocked-io, modules/userspec,
71375         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
71376         modules/yesno:
71377         Remove lib_SOURCES line from Makefile.am section, as this is now
71378         done automatically by the corresponding Autoconf macro.
71379
71380 2005-03-21  Jim Meyering  <jim@meyering.net>
71381
71382         Changes imported from coreutils.
71383
71384         * lib/cycle-check.c: Don't include xalloc.h.
71385
71386         * lib/path-concat.c: Don't include assert.h.
71387         (path_concat): Remove assertion that would have triggered
71388         for ABASE starting with more than one slash.
71389         Reported by Andreas Schwab.
71390
71391         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
71392         properly when ABASE is an absolute file name.
71393         Correct the description of this function.
71394         Include <assert.h>.
71395         Add an assertion and a test driver.
71396         This fixes a bug introduced on 2004-07-02.
71397         Andreas Schwab reported the resulting failure of cp --parents:
71398         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
71399
71400 2005-03-21  Jim Meyering  <jim@meyering.net>
71401
71402         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
71403         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
71404
71405 2005-03-21  Jim Meyering  <jim@meyering.net>
71406         and  Paul Eggert  <eggert@cs.ucla.edu>
71407
71408         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
71409         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
71410         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
71411         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
71412         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
71413         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
71414         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
71415         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
71416         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
71417         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
71418         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
71419         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
71420         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
71421         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
71422         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
71423         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
71424         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
71425         for these modules.
71426
71427 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
71428
71429         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
71430         (which shouldn't happen), generate nothing instead of returning 0
71431         immediately, so that nstrftime (NULL, ...) doesn't return 0.
71432
71433 2005-03-16  Bruno Haible  <bruno@clisp.org>
71434
71435         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
71436         HAVE_LONGLONG_64BIT.
71437
71438 2005-03-16  Bruno Haible  <bruno@clisp.org>
71439
71440         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
71441         HAVE_LONGLONG_64BIT.
71442
71443 2005-03-16  Bruno Haible  <bruno@clisp.org>
71444
71445         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
71446         HAVE_LONGLONG_64BIT.
71447
71448 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
71449
71450         * lib/strftime.c (my_strftime): Prepend space to format so that we can
71451         reliably distinguish strftime failure from empty output on POSIX
71452         hosts.
71453
71454 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
71455
71456         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
71457         (iconv_string): Don't guess a size-zero buffer, as that might cause
71458         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
71459         result would be 'too large', where 'too large' is (heuristically)
71460         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
71461         overflow concerns.  This will prevent some unwanted malloc failures
71462         when the inputs are very large.
71463
71464 2005-03-15  Karl Berry  <karl@gnu.org>
71465
71466         * config/srclist.txt (config.rpath): from gettext.
71467         * config/config.rpath: update.
71468
71469 2005-03-15  Bruno Haible  <bruno@clisp.org>
71470
71471         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
71472         to 'negate'.
71473
71474         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
71475         variable.
71476
71477         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
71478         results.
71479
71480 2005-03-14  Simon Josefsson  <jas@extundo.com>
71481
71482         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
71483         <fx@gnu.org>.
71484
71485 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
71486
71487         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
71488         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
71489         intprops.h.
71490         * lib/strtol.c: Likewise.
71491
71492 2005-03-14  Jim Meyering  <jim@meyering.net>
71493
71494         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
71495         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
71496         to be nonzero so that we (and caller) can detect the difference
71497         between a valid zero-length expansion and an error return, even
71498         when the underlying strftime fails before writing anything into
71499         that location.
71500
71501 2005-03-14  Bruno Haible  <bruno@clisp.org>
71502
71503         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
71504         Update from GNU gettext 0.14.3.
71505
71506 2005-03-10  Jim Meyering  <jim@meyering.net>
71507
71508         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
71509
71510 2005-03-10  Jim Meyering  <jim@meyering.net>
71511
71512         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
71513         so that this module works on systems without fchdir.
71514
71515 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
71516
71517         Factor int-properties macros into a single file, except for
71518         glibc-related files.
71519         * lib/intprops.h: New file.
71520         * lib/getloadavg.c: Include it instead of limits.h.
71521         (INT_STRLEN_BOUND): Remove.
71522         * lib/human.c: Include intprops.h.
71523         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
71524         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
71525         302/1000.
71526         * lib/inttostr.h: Include intprops.h instead of limits.h.
71527         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
71528         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
71529         for consistency with intprops.h.
71530         (time_t_is_integer, twos_complement_arithmetic): Use them.
71531         * lib/sig2str.h: Include <signal.h>, intprops.h.
71532         (INT_STRLEN_BOUND): Remove.
71533         * lib/strftime.c (TYPE_SIGNED): Remove.
71534         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
71535         * lib/strtol.c: Adjust comments to match intprops.h.
71536         * lib/userspec.c: Include intprops.h.
71537         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
71538         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
71539         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
71540         instead of rolling our own expressions.
71541         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
71542
71543         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
71544         instead of int.
71545         (my_strftime): Do not mishandle years close to INT_MAX, by doing
71546         the right thing even if adding 1900 would overflow.  Similarly
71547         for tm_mon + 1 and tm_yday + 1.
71548         Make %Y always equivalent to %C%y, and similarly for %G and %g.
71549         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
71550         (DO_SIGNED_NUMBER): New macro.
71551         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
71552
71553 2005-03-07  Bruno Haible  <bruno@clisp.org>
71554
71555         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
71556
71557 2005-03-07  Bruno Haible  <bruno@clisp.org>
71558
71559         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
71560
71561 2005-03-04  Derek R. Price  <derek@ximbiot.com>
71562
71563         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
71564         (func_import): Only replace files via --import when they have actually
71565         changed.
71566
71567 2005-03-03  Derek R. Price  <derek@ximbiot.com>
71568
71569         * m4/mmap-anon.m4: New file.
71570         * m4/pagealign_alloc.m4: New file.
71571
71572 2005-03-03  Derek R. Price  <derek@ximbiot.com>
71573             Bruno Haible  <bruno@clisp.org>
71574
71575         * modules/pagealign_alloc: New file.
71576         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
71577
71578 2005-03-03  Derek R. Price  <derek@ximbiot.com>
71579             Bruno Haible  <bruno@clisp.org>
71580
71581         * lib/pagealign_alloc.h: New file.
71582         * lib/pagealign_alloc.c: New file.
71583
71584 2005-03-03  Bruno Haible  <bruno@clisp.org>
71585
71586         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
71587         Use an all-permissive copyright notice, recommended by RMS.
71588
71589 2005-03-02  Bruno Haible  <bruno@clisp.org>
71590
71591         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
71592         of AIX, the replacement has to be done only after <string.h> is
71593         included, therefore not in config.h. stpncpy.h does the replacement,
71594         and stpncpy.c uses it.
71595
71596 2005-03-02  Bruno Haible  <bruno@clisp.org>
71597
71598         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
71599         stpncpy.c uses it.
71600
71601 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
71602
71603         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
71604         The workaround isn't strictly needed for POSIX conformance, and
71605         it's too much of a pain to configure and maintain.  We'll ask
71606         people to fix their kernels instead.
71607         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
71608         (NANOSLEEP_BUG_WORKAROUND): Remove.
71609         (xnanosleep): Remove the workaround.
71610
71611 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
71612
71613         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
71614         Reported by Derek Price.
71615         (Include): Add "timespec.h".
71616
71617         * modules/xnanosleep (Depends-on): Remove gethrxtime.
71618
71619 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
71620
71621         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
71622         to detect nanosleep bug.
71623
71624 2005-03-01  Bruno Haible  <bruno@clisp.org>
71625
71626         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
71627
71628 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
71629
71630         * modules/gethrxtime: New file.
71631         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
71632         (Depends-on): Add gethrxtime.
71633         (configure.ac): Add gl_XNANOSLEEP.
71634         (Makefile.am): Remove lib_SOURCES line.
71635
71636 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
71637
71638         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
71639         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
71640
71641 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
71642
71643         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
71644         * lib/timespec.h (gettime): Return void, since it always
71645         succeeds now.  All uses changed.
71646         * lib/gettime.c (gettime): Likewise.
71647         [HAVE_NANOTIME]: Prefer nanotime.
71648         Assume gettimeofday succeeds, as POSIX requires.
71649         Assime time () succeeds, since other code already does.
71650         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
71651         (timespec_subtract): Remove.
71652         (NANOSLEEP_BUG_WORKAROUND): New constant.
71653         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
71654         things considerably.  Use it only on GNU/Linux hosts, since the
71655         workaround shouldn't be needed elsewhere.
71656
71657 2005-02-24  Bruno Haible  <bruno@clisp.org>
71658
71659         * modules/gettext (Files): Add m4/glibc2.m4.
71660
71661 2005-02-24  Bruno Haible  <bruno@clisp.org>
71662
71663         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
71664         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
71665         * m4/progtest.m4:
71666         Update from GNU gettext 0.14.2.
71667         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
71668
71669 2005-02-24  Bruno Haible  <bruno@clisp.org>
71670
71671         * lib/localcharset.c: Update from GNU gettext 0.14.2.
71672         * lib/config.charset: Update from GNU gettext 0.14.2.
71673
71674 2005-02-24  Bruno Haible  <bruno@clisp.org>
71675
71676         * lib/gettext.h: Update from GNU gettext 0.14.2.
71677
71678 2005-02-23  Simon Josefsson  <jas@extundo.com>
71679
71680         * m4/iconvme.m4: New file.
71681
71682 2005-02-23  Jim Meyering  <jim@meyering.net>
71683
71684         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
71685         change.
71686         Thanks to Bruno Haible for catching it.
71687
71688 2005-02-22  Simon Josefsson  <jas@extundo.com>
71689
71690         * modules/iconvme: New file.
71691
71692         * MODULES.html.sh: Add iconvme.
71693
71694 2005-02-22  Simon Josefsson  <jas@extundo.com>
71695
71696         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
71697
71698 2005-02-22  Simon Josefsson  <jas@extundo.com>
71699
71700         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
71701
71702 2005-02-22  Jim Meyering  <jim@meyering.net>
71703
71704         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
71705         s/ifndef/ifdef/.
71706
71707 2005-02-20  Neil Conway  <neilc@samurai.com>
71708
71709         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
71710         returned by OSX/Darwin if the specified buffer is not large
71711         enough for the hostname.
71712
71713 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
71714
71715         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
71716         pass it to _help, otherwise the latter coredumps trying to
71717         dereference state.root_argp.
71718
71719 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
71720
71721         * modules/chdir-long (Depends-on): Add memrchr.
71722         * modules/memrchr (Files): Add lib/memrchr.h.
71723         (Include): "memrchr.h".
71724
71725 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
71726
71727         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
71728
71729 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
71730
71731         * lib/memrchr.h: New file.
71732         * lib/chdir-long.c: Include it.
71733         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
71734         Don't bother including stddef.h.
71735
71736 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
71737
71738         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
71739         inclusion.
71740         Include <sys/types.h>, for dev_t.
71741         (ME_DUMMY, ME_REMOTE): Move from here....
71742         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
71743         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
71744         Dmitry V. Levin.
71745         Include mountlist.h first, to test the interface.
71746
71747 2005-01-29  Bruno Haible  <bruno@clisp.org>
71748
71749         * lib/progname.c (program_name): Initialize.
71750         Needed when linking statically on MacOS X.
71751
71752 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
71753
71754         Sync from coreutils.
71755         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
71756         (Depends-on): Add c-strtod.
71757         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
71758
71759 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
71760
71761         Sync from coreutils.
71762         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
71763
71764         Remove files that are specific to coreutils.
71765         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
71766
71767 2005-01-28  Bruno Haible  <bruno@clisp.org>
71768
71769         * modules/javacomp: New file.
71770         * MODULES.html.sh (Java): Add javacomp.
71771
71772 2005-01-28  Bruno Haible  <bruno@clisp.org>
71773
71774         * m4/javacomp.m4: New file, from GNU gettext.
71775
71776 2005-01-28  Bruno Haible  <bruno@clisp.org>
71777
71778         * lib/javacomp.sh.in: New file, from GNU gettext.
71779         * lib/javacomp.h: New file, from GNU gettext.
71780         * lib/javacomp.c: New file, from GNU gettext.
71781
71782 2005-01-26  Simon Josefsson  <jas@extundo.com>
71783
71784         * lib/gai_strerror.c: Use GPL in header.
71785
71786 2005-01-26  Bruno Haible  <bruno@clisp.org>
71787
71788         * modules/javaexec: New file.
71789         * MODULES.html.sh (Java): Add javaexec.
71790
71791 2005-01-26  Bruno Haible  <bruno@clisp.org>
71792
71793         * m4/javaexec.m4: New file, from GNU gettext.
71794
71795 2005-01-26  Bruno Haible  <bruno@clisp.org>
71796
71797         * lib/javaexec.sh.in: New file, from GNU gettext.
71798         * lib/javaexec.h: New file, from GNU gettext.
71799         * lib/javaexec.c: New file, from GNU gettext.
71800
71801 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
71802
71803         * modules/lchown (Depends-on): Remove lchown.h
71804
71805 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
71806
71807         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
71808         must be defined if the header file was not found, in order
71809         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
71810
71811 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
71812
71813         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
71814         initializers for struct pentry_state.
71815         (__argp_error): Check return value of __asprintf
71816         (__argp_failure): Translate error message
71817
71818         * lib/argp-parse.c: Removed braces around the expansion of N_()
71819
71820 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
71821
71822         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
71823         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
71824         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
71825         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
71826         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
71827         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
71828         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
71829         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
71830         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
71831         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
71832         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
71833         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
71834         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
71835         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
71836         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
71837         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
71838         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
71839         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
71840         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
71841         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
71842         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
71843         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
71844         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
71845         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
71846         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
71847         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
71848         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
71849         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
71850         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
71851         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
71852         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
71853         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
71854         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
71855         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
71856         xstrtol.m4, xstrtoumax.m4, yesno.m4:
71857         Use an all-permissive copyright notice, recommended by RMS.
71858
71859 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
71860
71861         * modules/chdir-long (Depends-on): Remove mempcpy.
71862
71863 2005-01-21  Jim Meyering  <jim@meyering.net>
71864
71865         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
71866         same value as for Solaris 9.
71867
71868         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
71869         component length.  This included changing the parameter to be
71870         of type `char *' rather than `char const *'.
71871         * lib/chdir-long.h (chdir_long): Update prototype.
71872
71873         * lib/openat.c (fdopendir, fstatat): New functions.
71874         * lib/openat.h: Include headers required for use of DIR and struct
71875         stat.
71876         [AT_SYMLINK_NOFOLLOW]: Define.
71877         (fdopendir, fstatat): Add prototypes.
71878
71879 2005-01-21  Bruno Haible  <bruno@clisp.org>
71880
71881         * modules/classpath: New file.
71882         * MODULES.html.sh (Java): Add classpath.
71883
71884 2005-01-21  Bruno Haible  <bruno@clisp.org>
71885
71886         * lib/classpath.h: New file, from GNU gettext.
71887         * lib/classpath.c: New file, from GNU gettext.
71888
71889 2005-01-20  Simon Josefsson  <jas@extundo.com>
71890
71891         * modules/version-etc-fsf: New file.
71892
71893 2005-01-20  Simon Josefsson  <jas@extundo.com>
71894
71895         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
71896         * lib/version-etc.c: Remove version_etc_copyright.
71897         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
71898         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
71899
71900 2005-01-20  Simon Josefsson  <jas@extundo.com>
71901
71902         * lib/base64.h (isbase64): Add.
71903
71904         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
71905         using a unsigned prototype, don't inline.
71906         (base64_decode): Use it.
71907
71908 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
71909
71910         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
71911         it.
71912
71913 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
71914
71915         * lib/save-cwd.c (save_cwd): Remove code to support the case
71916         where fchdir is missing or flaky.
71917
71918 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
71919
71920         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
71921
71922 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
71923
71924         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
71925         AC_LIBSOURCES now does this.
71926         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
71927         with new ullong_max module.
71928
71929 2005-01-19  Bruno Haible  <bruno@clisp.org>
71930
71931         * modules/sh-quote: New file.
71932         * MODULES.html.sh (Executing programs): Add sh-quote.
71933
71934 2005-01-19  Bruno Haible  <bruno@clisp.org>
71935
71936         * lib/sh-quote.h: New file, from GNU gettext.
71937         * lib/sh-quote.c: New file, from GNU gettext.
71938
71939 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
71940
71941         Merge from coreutils.
71942         * m4/ullong_max.m4: New file.
71943         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
71944         (gl_MACROS): Assume localeconv exists.
71945
71946 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
71947
71948         Merge changes from coreutils, as described below in several
71949         changelogs dated today.
71950
71951         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
71952         (O_DIRECTORY): Remove; not needed here, since "." must be
71953         a directory.  All uses removed.
71954         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
71955         universal on Suns, and we also need to test for IRIX.
71956         Revamp code to use 'if' rather than '#if'.
71957         Avoid unnecessary comparison of cwd->desc to 0.
71958
71959         * lib/utimens.c (futimens): Robustify the previous patch, by checking
71960         for known valid error numbers rather than observed invalid ones.
71961
71962 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
71963
71964         * modules/ullong_max: New file.
71965
71966         * modules/chdir-long, modules/openat: New files.
71967         * modules/save-cwd (Depends-on): Depend on chdir-long.
71968         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
71969
71970 2005-01-18  Jim Meyering  <jim@meyering.net>
71971
71972         Merge from coreutils.
71973         * m4/chdir-long.m4, m4/openat.m4: New files.
71974         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
71975         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
71976         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
71977         is sane and DOES follow symlinks.  Besides, testing 20 different
71978         systems found no broken chown implementations.
71979         Prompted by a change in rsync's copy of this macro.
71980         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
71981
71982         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
71983
71984         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
71985         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
71986         NULL-means-set-to-current-time semantics.
71987         Remove temporary file immediately, rather than waiting
71988         for configure's at-exit trap code to do it.
71989
71990 2005-01-18  Jim Meyering  <jim@meyering.net>
71991
71992         * lib/version-etc.c (version_etc_copyright): Update copyright date.
71993
71994         * lib/utimens.c (futimens): Account for the fact that futimes
71995         can also fail with errno == ENOSYS or errno == ENOENT.
71996         Patch from Dmitry V. Levin.
71997
71998         Change the name of the robust chdir function from chdir to chdir_long.
71999         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
72000         (restore_cwd): Use chdir_long, not chdir.
72001         * lib/chdir-long.c: Renamed from chdir.c.
72002         * lib/chdir-long.h: Renamed from chdir.h.
72003         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
72004         Hurd.
72005
72006 2005-01-18  Bruno Haible  <bruno@clisp.org>
72007
72008         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
72009         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
72010         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
72011         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
72012         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
72013         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
72014         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
72015         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
72016         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
72017         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
72018         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
72019         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
72020         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
72021         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
72022         Use an all-permissive copyright notice, recommended by RMS.
72023
72024 2005-01-18  Bob Proulx  <bob@proulx.com>
72025
72026         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
72027         simplify offsetof() macro construct to avoid compile failure with
72028         native HP-UX 11.0 ANSI C compiler.
72029
72030 2005-01-17  Bruno Haible  <bruno@clisp.org>
72031
72032         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
72033         redundant because stpncpy.m4 takes care of it.
72034
72035 2005-01-17  Bruno Haible  <bruno@clisp.org>
72036
72037         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
72038
72039 2005-01-17  Bruno Haible  <bruno@clisp.org>
72040
72041         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
72042         used.
72043
72044 2005-01-17  Bruno Haible  <bruno@clisp.org>
72045
72046         * lib/fwriteerror.h (fwriteerror): Change specification to include
72047         fclose.
72048         * lib/fwriteerror.c: Include <stdbool.h>.
72049         (fwriteerror): At the end, close the file stream. Record whether
72050         stdout was already closed.
72051
72052 2005-01-17  Bruno Haible  <bruno@clisp.org>
72053
72054         * lib/execute.c (environ): Declare if needed.
72055         * lib/pipe.c (environ): Likewise.
72056         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
72057
72058 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
72059
72060         * modules/argp: Depend on vsnprintf
72061
72062 2005-01-10  Jim Meyering  <jim@meyering.net>
72063
72064         * modules/closeout (Depends-on): Add atexit.
72065
72066 2005-01-06  Bruno Haible  <bruno@clisp.org>
72067
72068         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
72069
72070 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
72071
72072         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
72073         definitions to be after all include files, to avoid collisions.
72074         Problem reported by Bob Proulx.
72075
72076 2005-01-04  Jim Meyering  <jim@meyering.net>
72077
72078         Changes imported from coreutils.
72079         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
72080         as the mkstemp template, use a temporary directory and an
72081         8.3-friendly template to avoid trouble on systems like DJGPP.
72082         Reported by Juan M. Guerrero via Stepan Kasal.
72083         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
72084         close. Remove the temporary directory right away, rather than waiting
72085         for configure's at-exit trap code to do it.
72086         Suggestion from Stepan Kasal.
72087
72088 2005-01-01  Simon Josefsson  <jas@extundo.com>
72089
72090         * gnulib-tool: Print #include directives when --import'ing.
72091
72092 2004-12-28  Simon Josefsson  <jas@extundo.com>
72093
72094         * tests/test-base64.c: Include required header files.  Remove
72095         unused variables.
72096
72097 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
72098
72099         * modules/error (Depends-on): Remove gettext.
72100
72101 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
72102
72103         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
72104         not needed.  This removes a dependency on the gettext module.
72105         [defined _LIBC]: Do not include <libintl.h>; not needed.
72106
72107 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
72108
72109         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
72110         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
72111
72112 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
72113
72114         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
72115         HAVE_DECL_STRTOLD.
72116
72117 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
72118
72119         * modules/getdate (Depends-on): Remove alloca-opt.
72120
72121 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
72122
72123         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
72124
72125 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
72126
72127         * lib/argp-parse.c: Include <stddef.h>.
72128         (alignof, alignto): New macros.
72129         (parser_init): Don't assume that void * is aligned sufficiently
72130         for struct option.
72131
72132         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
72133         need to extend the stack.
72134         (YYINITDEPTH): New macro, so that the initial stack isn't overly
72135         large.
72136
72137 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
72138
72139         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
72140
72141 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
72142
72143         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
72144         (2004-10-24) change.  Apparently this was a false alarm.
72145
72146         * modules/getdate: Depend on alloca-opt, not alloca.
72147
72148 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
72149
72150         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
72151         Remove now-obsolete comment about AIX.
72152         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
72153         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
72154         (YYMAXDEPTH): New macro.
72155
72156 2004-12-18  Simon Josefsson  <jas@extundo.com>
72157
72158         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
72159
72160 2004-12-18  Bruno Haible  <bruno@clisp.org>
72161
72162         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
72163
72164 2004-12-18  Bruno Haible  <bruno@clisp.org>
72165
72166         * lib/fatal-signal.c (fatal_signals): Make non-const.
72167         (init_fatal_signals): New function.
72168         (uninstall_handlers, install_handlers): Ignore signals that were set to
72169         SIG_IGN.
72170         (at_fatal_signal): Call init_fatal_signals.
72171         (init_fatal_signal_set): Likewise. Ignore signals that were set to
72172         SIG_IGN.
72173         Reported by Paul Eggert.
72174
72175 2004-12-18  Bruno Haible  <bruno@clisp.org>
72176
72177         * doc/alloca.texi: New file.
72178         * doc/alloca-opt.texi: New file.
72179
72180 2004-12-17  Jim Meyering  <jim@meyering.net>
72181
72182         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
72183         Otherwise, install-sh could exit with improper exit status when
72184         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
72185
72186 2004-12-16  Simon Josefsson  <jas@extundo.com>
72187
72188         * tests/test-base64.c: Add license.
72189
72190 2004-12-15  Stepan Kasal  <address@hidden>
72191
72192         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
72193
72194 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
72195
72196         * modules/getcwd (Files): Add m4/d-ino.m4.
72197         Suggested by Mark D. Baushke.
72198
72199 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
72200
72201         * lib/getdate.y (textint): New member "negative".
72202         (time_zone_hhmm): New function.
72203         Expect 14 shift-reduce conflicts, not 13.
72204         (o_colon_minutes): New rule.
72205         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
72206         (yylex): Set the "negative" member of signed numbers.
72207
72208 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
72209
72210         * doc/getdate.texi (Time of day items, Time zone items):
72211         Describe new formats +00:00, UTC+00:00.
72212
72213 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
72214
72215         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
72216         spurious "-l"s.  Problem reported by Stepan Kasal.
72217
72218 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
72219
72220         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
72221         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
72222
72223 2004-12-04  Simon Josefsson  <jas@extundo.com>
72224
72225         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
72226         Vandoorselaere <yoann@prelude-ids.org>.
72227
72228 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
72229
72230         Changes imported from coreutils.
72231         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
72232         exist.
72233         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
72234
72235 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
72236
72237         Changes imported from coreutils.
72238         * lib/hard-locale.c: Assume <locale.h> exists.
72239         Include "strdup.h".
72240         (GLIBC_VERSION): New macro.
72241         (hard_locale): Assume setlocale exists.
72242         Rewrite to avoid #ifdef.
72243         Use strdup rather than malloc + strcpy.
72244         * lib/human.c: Assume <locale.h> exists.
72245         (human_readable): Assume localeconv exists.
72246
72247 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
72248
72249         * modules/hard-locale (Depends-on): Add strdup.
72250
72251 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
72252
72253         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
72254         convert T2, not T.  (Imported from libc.)
72255
72256 2004-11-30  Simon Josefsson  <jas@extundo.com>
72257
72258         * modules/restrict (License): Change to LGPL.
72259
72260 2004-11-30  Simon Josefsson  <jas@extundo.com>
72261
72262         * m4/restrict.m4: Add copyright and copying conditions.
72263
72264 2004-11-30  Simon Josefsson  <jas@extundo.com>
72265
72266         * m4/base64.m4: New file.
72267
72268 2004-11-30  Simon Josefsson  <jas@extundo.com>
72269
72270         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
72271         base64.
72272
72273         * tests/test-base64.c: New file.
72274
72275         * modules/base64: New file.
72276
72277 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
72278
72279         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
72280         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
72281
72282         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
72283
72284 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
72285
72286         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
72287         (__getcwd.c): Don't restore errno; glibc doesn't.
72288         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
72289         first, falling back to our code only if its results look suspicious.
72290         Ensure that the resulting buffer is only as large as necessary.
72291
72292         * lib/readutmp.c: Include readutmp.h first.
72293         Include <errno.h>, since readutmp.h no longer does that.
72294         * lib/readutmp.h: Don't include <errno.h>,
72295         <sys/param.h>, <time.h>; not needed to establish interface.
72296         (errno): Remove decl.
72297         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
72298         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
72299         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
72300
72301 2004-11-28  Simon Josefsson  <jas@extundo.com>
72302
72303         * lib/base64.h, base64.c: New file.
72304
72305 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
72306
72307         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
72308
72309 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
72310
72311         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
72312         (Depends-on): Remove pathmax, same.  Add mempcpy.
72313         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
72314         (Makefile.am): Append getcwd.h to lib_SOURCES.
72315         (Include): Add getcwd.h.
72316         (Maintainer): Change from Jim Meyering to "all, glibc",
72317         since getdate now uses intended-for-glibc code.
72318         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
72319         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
72320
72321 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
72322
72323         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
72324         HP's ANSI C compiler.
72325         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
72326         Declaring int functions causes warnings on some modern systems and
72327         shouldn't be needed to compile on ancient ones.
72328         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
72329         defined.
72330
72331         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
72332         with the following changes.
72333         (__set_errno): Parenthesize properly.
72334         Include <stdbool.h>.
72335         (MIN, MAX, MATCHING_INO): New macros.
72336         (__getcwd): Define with prototype, not K&R form.
72337         Use heuristics to allocate default buffer on stack if possible.
72338         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
72339         behavior, and to avoid the PATH_MAX limit when computing
72340         ../../../../...
72341         Use MATCHING_INO to compare inode number to file.
72342         Check for arithmetic overflow in size calculations.
72343         Fix bug in reallocation of dot array that caused getcwd to fail
72344         on directories nested deeper than 75.
72345         Be more careful about saving errno on error.
72346         Do not use realloc; use only free+malloc, as this is a bit
72347         more flexible and avoids a needless copy operation.
72348         Do not inspect st_dev and st_ino for symbolic links; POSIX
72349         doesn't specify the latter.
72350         Check for closedir errors.
72351         Avoid needless casts.
72352         Use "#ifdef weak_alias" around weak_alias, to be like other
72353         glibc code.
72354         The following changes to getcwd.c have effect only when used in
72355         gnulib; they have no effect inside glibc proper.
72356         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
72357         as alloca isn't used.
72358         (alloca, __alloca): Likewise.
72359         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
72360         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
72361         unconditionally, as gnulib assumes C89 or better.
72362         Do not include <sys/param.h>.
72363         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
72364         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
72365         better.
72366         (NULL) [!defined NULL]: Remove; we assume C89 or better.
72367         Include <dirent.h> in a way that is compatible with modern Autoconf.
72368         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
72369         New macros, if not already defined.
72370         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
72371         Use "_LIBC", not "defined _LIBC", for consistency.
72372         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
72373         a mempcpy module.
72374         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
72375         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
72376         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
72377         credit only to Jim Meyering and adjust the copyright dates.
72378         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
72379         <stdlib.h>, <unistd.h>, "pathmax.h".
72380         Instead, include "xgetcwd.h" (first) and "getcwd.h".
72381         (INITIAL_BUFFER_SIZE): Remove.
72382         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
72383
72384 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
72385
72386         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
72387         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
72388         Use the _ONCE methods, for efficiency.
72389         Check for fcntl.h.  In test program, include <errno.h>
72390         and <fcntl.h> if available.  Remove old K&R cruft from
72391         test program.  Check for common errors in GNU/Linux,
72392         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
72393         don't do AC_LIBOBJ, as that's getcwd.m4's job.
72394         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
72395         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
72396         name accordingly.
72397         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
72398         accommodate new getcwd.c.
72399         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
72400         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
72401         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
72402         that's all we need now.
72403
72404 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
72405
72406         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
72407         argp-parse.c depends on getopt internals, that means we should
72408         always use our getopt, to be on the safe side.
72409         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
72410         order not to spoil the result of an eventual previous invocation
72411         of gl_GETOPT_SUBSTITUTE.
72412
72413 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
72414
72415         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
72416         redefinition warnings. To avoid them, include the defines
72417         in `#if !defined __need_getopt ... #endif'. The only place
72418         where __getopt_argv_const is used is in definitions
72419         of getopt_long and getopt_long_only below, which are as well
72420         protected by `#ifndef __need_getopt'.
72421         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
72422         __need_getopt after including <stdio.h> and <unistd.h> These
72423         headers might have defined it.
72424
72425 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
72426
72427         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
72428
72429 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
72430
72431         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
72432         (futimens): New function, which uses futimes if available.
72433         (futimens, utimens): Support timespec==NULL, with same semantics
72434         as utime and utimens.
72435         * lib/utimens.h (futimens): New decl.
72436
72437 2004-11-23  Jim Meyering  <jim@meyering.net>
72438
72439         * lib/getopt_.h: Remove trailing blanks.
72440
72441 2004-11-23  Jim Meyering  <jim@meyering.net>
72442
72443         * lib/__fpending.c: Add comment.
72444
72445 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
72446
72447         * modules/canonicalize (Depends-on): Add xreadlink.
72448         Problem reported by James Youngman.
72449
72450 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
72451
72452         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
72453         New macros.
72454         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
72455         optopt): Use them instead of invoking ## directly; otherwise, the
72456         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
72457
72458 2004-11-19  Bruno Haible  <bruno@clisp.org>
72459
72460         * lib/strtok_r.c: Move comments from here...
72461         * lib/strtok_r.h: ... to here.
72462
72463 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
72464
72465         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
72466         implementations that mishandle size_t overflow.
72467
72468 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
72469
72470         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
72471         might fail.  Problem reported by Yoann Vandoorselaere.
72472         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
72473         implementations that mishandle size_t overflow.
72474
72475 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
72476
72477         * modules/canon-host (Depends-on): Add strdup.
72478
72479 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
72480
72481         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
72482
72483 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
72484
72485         * lib/canon-host.c: Include "strdup.h".
72486         (canon_host): Use getaddrinfo if available, so that IPv6 works.
72487         Use strdup instead of malloc/strcpy to duplicate strings.
72488
72489         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
72490         (human_space_before_unit): New constant.
72491         * lib/human.c (human_readable): Support it.
72492
72493         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
72494         (xgetcwd): Set errno correctly when failing.
72495         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
72496         the failure is actually due to a PATH_MAX problem.
72497
72498         Further getopt changes to make it more likely that glibc will
72499         buy the changes back.
72500         * lib/getopt.c (POSIXLY_CORRECT): New constant.
72501         (getopt): Use it, so to preserve glibc semantic
72502         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
72503         when compiling for libc.
72504         * lib/getopt_.h (__getopt_argv_const): Bring it back.
72505         (getopt_long, getopt_long_only): Use it.
72506
72507         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
72508         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
72509         (getopt): Argv is now char * const *, as per standard.
72510         (_getopt_internal_r, _getopt_internal): Argv is now char **,
72511         not char *__getopt_argv_const *.
72512         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
72513         _getopt_long_only_r): Likewise.
72514         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
72515         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
72516         _getopt_long_r, _getopt_long_only_r): Likewise.
72517         * lib/getopt_.h (__getopt_argv_const): Remove.
72518         (getopt): Argv is now char * const *, as per standard.
72519
72520         * lib/getdate.y (tORDINAL): New token.
72521         (day, relunit): Allow it for relative times.
72522         (relative_time_table): Use tORDINAL for ordinals.
72523
72524 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
72525
72526         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
72527         Document that "second" isn't allowed as an ordinal number.
72528
72529 2004-11-16  Jim Meyering  <jim@meyering.net>
72530
72531         * modules/closeout (Depends-on): Add fpending.
72532
72533 2004-11-15  Jim Meyering  <jim@meyering.net>
72534
72535         * lib/closeout.c: Include "__fpending.h" once again.
72536         Include <stdbool.h>.
72537         (close_stdout): Don't fail just because stdout was closed initially,
72538         since some programs don't write to stdout in the normal course of
72539         operation (other than --version and --help), and we don't want this
72540         function to make e.g. `touch file >&-' fail.
72541         But do fail if it was closed and someone has tried to write to it.
72542         E.g., `printf foo >&-' must fail.
72543
72544 2004-11-13  Jim Meyering  <jim@meyering.net>
72545
72546         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
72547
72548 2004-11-12  Simon Josefsson  <jas@extundo.com>
72549
72550         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
72551         small doc fix is still pending.
72552
72553 2004-11-11  Simon Josefsson  <jas@extundo.com>
72554
72555         * modules/strtok_r: New file.
72556
72557         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
72558         strtok_r.
72559
72560 2004-11-11  Simon Josefsson  <jas@extundo.com>
72561
72562         * m4/strtok_r.m4: New file.
72563
72564         * m4/getopt.m4: Replace opterr.
72565
72566 2004-11-11  Simon Josefsson  <jas@extundo.com>
72567
72568         * lib/strtok_r.h, strtok_r.c: New file.
72569
72570 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
72571
72572         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
72573         of replacing opterr, getopt, etc.  This should handle the
72574         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
72575
72576 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
72577
72578         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
72579         we can stop lying to compilers about the constness of argv when we
72580         are compiled outside glibc.
72581         (getopt, getopt_long, getopt_long_only): Use it.
72582         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
72583         _getopt_internal, getopt): Likewise.
72584         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
72585         _getopt_long_only_r): Likewise.
72586         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
72587         _getopt_long_r, _getopt_long_only_r): Likewise.
72588
72589         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
72590         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
72591         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
72592         the other external symbols.
72593         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
72594         declaration, since the above renaming now works around collisions.
72595
72596 2004-11-11  Jim Meyering  <jim@meyering.net>
72597
72598         * lib/linebreak.c: Remove trailing blanks.
72599         * lib/alloca_.h: Likewise.
72600         * lib/acosl.c: Likewise.
72601         * lib/euidaccess.c: Likewise.
72602         * lib/allocsa.h: Likewise.
72603
72604 2004-11-10  Simon Josefsson  <jas@extundo.com>
72605
72606         * m4/getaddrinfo.m4: New file.
72607
72608 2004-11-10  Simon Josefsson  <jas@extundo.com>
72609
72610         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
72611
72612 2004-11-10  Simon Josefsson  <jas@extundo.com>
72613
72614         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
72615         getaddrinfo.
72616
72617         * modules/getaddrinfo: New file.
72618
72619 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
72620
72621         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
72622
72623 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
72624
72625         * lib/mktime.c (SHR): New macro, which is a portable
72626         substitute for >> that should work even on Crays.
72627         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
72628         Problem reported by Mark D. Baushke in
72629         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
72630         * lib/getdate.y (SHR): Likewise.
72631         (tm_diff): Use it.
72632         * lib/strftime.c (SHR): Likewise.
72633         (tm_diff): Use it.
72634         * lib/quotearg.c (struct quoting_options): Use unsigned int for
72635         quote_these_too, so that right shifts are well defined.  All uses
72636         changed.
72637
72638 2004-11-10  Jim Meyering  <jim@meyering.net>
72639
72640         Ensure that no close failure goes unreported.
72641         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
72642         return early when it seems there's nothing to flush.
72643         Don't include __fpending.h.
72644
72645 2004-11-10  Jim Meyering  <jim@meyering.net>
72646
72647         * modules/closeout (Depends-on): Remove fpending.
72648
72649 2004-11-10  Jim Meyering  <jim@meyering.net>
72650
72651         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
72652
72653 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
72654
72655         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
72656         gl_FUNC_STRFTIME.
72657         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
72658         and AC_REQUIRE when possible, to avoid duplicate checks.
72659         Check for <wchar.h>.
72660
72661 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
72662
72663         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
72664
72665 2004-11-09  Bruno Haible  <bruno@clisp.org>
72666
72667         * m4/sockpfaf.m4: New file.
72668
72669 2004-11-05  Bruno Haible  <bruno@clisp.org>
72670
72671         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
72672         Reported by Mark D. Baushke <mdb@cvshome.org>.
72673
72674 2004-11-04  Bruno Haible  <bruno@clisp.org>
72675
72676         2004-09-11  Bruno Haible  <bruno@clisp.org>
72677                 * allocsa.valgrind: New file.
72678         2004-02-06  Bruno Haible  <bruno@clisp.org>
72679                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
72680                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
72681                 Reported by Christopher Seip <chris.seip@hp.com>.
72682
72683 2004-11-04  Bruno Haible  <bruno@clisp.org>
72684
72685         * modules/allocsa (Files): Add lib/allocsa.valgrind.
72686         (Makefile.am): Distribute it.
72687
72688 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
72689
72690         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
72691         with errno == ERANGE if the buffer is too small.
72692         Problem reported by Mark D. Baushke.
72693
72694 2004-11-03  Albert Chin  <china@thewrittenword.com>
72695             Paul Eggert  <eggert@cs.ucla.edu>
72696
72697         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
72698         equivalent, substitute $ac_type for equivalent type rather than
72699         blindly using uint32_t *always* which won't work if uint32_t is not
72700         available.  Define _UINT32_T to work around typedef of uint32_t if
72701         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
72702         2.5.1.
72703
72704 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
72705
72706         * m4/jm-macros.m4: Sync from coreutils.
72707         (gl_MACROS): Check for mbrlen, for pathchk.
72708         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
72709
72710 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
72711
72712         * lib/xreadlink.c (MAXSIZE): New macro.
72713         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
72714         size does not exceed MAXSIZE.  Avoid cast.
72715         As suggested by Mark D. Baushke in
72716         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
72717         if readlink fails with buffer size just under MAXSIZE, try again
72718         with MAXSIZE.
72719
72720 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
72721
72722         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
72723
72724 2004-11-02  Derek R. Price  <derek@ximbiot.com>
72725         and  Paul Eggert  <eggert@cs.ucla.edu>
72726
72727         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
72728         (get_date): Overparenthesize to avoid GCC warning.
72729
72730 2004-11-02  Bruno Haible  <bruno@clisp.org>
72731
72732         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
72733         returns void.
72734
72735 2004-11-02  Bruno Haible  <bruno@clisp.org>
72736
72737         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
72738         function returns void.
72739
72740 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
72741
72742         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
72743         fflush_unlocked, flockfile, funlockfile, funlockfile,
72744         fputs_unlocked, putc_unlocked.
72745
72746 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
72747
72748         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
72749         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
72750         already declared.
72751
72752 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
72753
72754         * modules/getdate (Files): Add doc/getdate.texi.
72755         (Depends-on): Add setenv, xalloc.
72756
72757 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
72758
72759         * lib/getdate.y: Add support for TZ="foo" within a date string.
72760         Fix some bugs near time_t boundaries.  Reject dates with
72761         out-of-range components, e.g., "Sept 31".
72762         Include <stdlib.h>, "setenv.h", "xalloc.h".
72763         (ISDIGIT_LOCALE): Remove; unused.
72764         Note that the TZ and time functions used here are not reentrant.
72765         (mktime_ok, get_tz): New functions.
72766         (TZBUFSIZE): New constant.
72767         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
72768         This requires that we sometimes generate our own TZ="XXX..." setting.
72769
72770 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
72771
72772         * doc/getdate.texi: New file, from coreutils with modifications for
72773         the new TZ parsing.
72774
72775 2004-10-27  Derek R. Price  <derek@ximbiot.com>
72776
72777         * lib/mktime.c (not_equal_tm): Remove redundant check.
72778
72779 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
72780
72781         * modules/regex (lib_SOURCES): Add regex.c.
72782         Reported by James Youngman in
72783         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
72784
72785 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
72786
72787         * lib/getdate.y: Use Bison 1.875 features, and some minor
72788         code cleanups.  This change does not affect semantics.
72789         Don't include <stdlib.h>; no longer needed.
72790         Don't include unlocked-io.h; only the "#if TEST" code uses
72791         stdio, and performance isn't crucial there.
72792         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
72793         Bison 1.875 features as described below.
72794         All uses of "PC." replaced by "pc->".
72795         (YYSTYPE): Add a forward declaration.
72796         (yylex, yyerror): Use full prototypes in forward decls.
72797         Use "%pure-parser" rather than obsolescent "%pure_parser".
72798         Use %parse-param and %lex-param instead of obsolescent
72799         YYPARSE_PARAM and YYLEX_PARAM.
72800         (meridian_table, month_and_day_table, time_units_table,
72801         relative_time_table, time_zone_table, military_table,
72802         lookup_zone, lookup_word, get_date):
72803         Use NULL instead of 0 where appropriate.
72804         (to_hour): Avoid abort (), to avoid a dependency on
72805         stdlib.h.
72806         (yyerror, yylex): Now accepts parser_control * arg.
72807         (main) [TEST]: Use '\0' rather than 0 for char.
72808
72809 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
72810
72811         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
72812
72813 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
72814
72815         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
72816         It's now the caller's responsibility to handle the case where
72817         !HAVE_GETPAGESIZE && !defined getpagesize.
72818
72819         * lib/mktime.c (leapyear): Arg is long int, not int.
72820
72821 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
72822
72823         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
72824
72825 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
72826
72827         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
72828         missing.  Problem reported by James Youngman.
72829
72830 2004-10-16  Simon Josefsson  <jas@extundo.com>
72831
72832         * gnulib-tool: Fix comments.  Fix parse problem.
72833         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
72834
72835 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
72836
72837         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
72838         implementation of getopt_long.  Problem reported by Alexander Taler in:
72839         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
72840
72841 2004-10-15  Bruno Haible  <bruno@clisp.org>
72842
72843         * gnulib-tool: Untabify. Initialize supplied_libname.
72844         (func_usage): More homogenous output.
72845         (func_modules_transitive_closure, func_modules_to_filelist,
72846         func_emit_lib_Makefile_am): New functions.
72847         (func_import): New function, extracted from big case statement. Use
72848         func_get_license, func_modules_transitive_closure,
72849         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
72850         opt_lgpl. Don't use test -a, as it's not portable.
72851         (func_create_testdir): Use func_modules_transitive_closure,
72852         func_modules_to_filelist, func_emit_lib_Makefile_am.
72853
72854 2004-10-15  Bruno Haible  <bruno@clisp.org>
72855
72856         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
72857
72858 2004-10-15  Bruno Haible  <bruno@clisp.org>
72859
72860         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
72861         the portions belonging to each module.
72862         Suggested by Derek Robert Price <derek@ximbiot.com>.
72863
72864 2004-10-12  Simon Josefsson  <jas@extundo.com>
72865
72866         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
72867         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
72868         to real functions.
72869
72870 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
72871
72872         * modules/vsnprintf: New file.
72873
72874 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
72875
72876         * m4/vsnprintf.m4: New file.
72877
72878 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
72879
72880         * lib/vsnprintf.h: New file.
72881         * lib/vsnprintf.c: New file.
72882
72883 2004-10-11  Bruno Haible  <bruno@clisp.org>
72884
72885         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
72886         vsnprintf.
72887
72888 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
72889
72890         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
72891
72892 2004-10-07  Bruno Haible  <bruno@clisp.org>
72893
72894         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
72895         fits into the provided buffer.
72896
72897 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
72898
72899         * lib/diacrit.c, diacrit.h: Add GPL notice.
72900
72901         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
72902         notice.
72903         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
72904         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
72905         This avoids a potential constant-folding bug.
72906
72907 2004-10-05  Bruno Haible  <bruno@clisp.org>
72908
72909         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
72910         for the declaration of strsep.
72911
72912 2004-10-05  Bruno Haible  <bruno@clisp.org>
72913
72914         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
72915
72916 2004-10-04  Simon Josefsson  <jas@extundo.com>
72917
72918         * modules/memmem: New file.
72919         * tests/test-memmem.c: New file.
72920         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
72921
72922 2004-10-04  Simon Josefsson  <jas@extundo.com>
72923
72924         * m4/memmem.m4: New file.
72925
72926 2004-10-04  Simon Josefsson  <jas@extundo.com>
72927
72928         * lib/memmem.h: New file.
72929         * lib/memmem.c: New file, taken from glibc.
72930
72931 2004-10-04  Simon Josefsson  <jas@extundo.com>
72932
72933         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
72934         '#ifdef USE_UNLOCKED_IO'.
72935
72936 2004-10-04  Simon Josefsson  <jas@extundo.com>
72937
72938         * config/srclist.txt: Add memmem from glibc.
72939
72940 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
72941
72942         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
72943
72944         * modules/argmatch, modules/argp, modules/closeout, modules/error,
72945         modules/exclude, modules/getdate, modules/getline,
72946         modules/getndelim2, modules/getpass, modules/getpass-gnu,
72947         modules/getusershell, modules/linebuffer, modules/md5,
72948         modules/mountlist, modules/posixtm, modules/readtokens,
72949         modules/readutmp, modules/regex, modules/sha1,
72950         modules/version-etc, modules/yesno:
72951         Remove dependency on unlocked-io.
72952
72953 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
72954
72955         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
72956
72957         * m4/unlocked-io.m4: Add copyright notice.
72958         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
72959
72960 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
72961
72962         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
72963         * lib/xmalloc.c (xmemdup): Likewise.
72964         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
72965         XFREE): Remove these long-obsolescent macros.
72966         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
72967         * lib/xstrdup.c: Remove.
72968
72969         * lib/regex.c (re_comp): Cast gettext return value to char *,
72970         Problem reported by Martin Neitzel via Mark D. Baushke.
72971
72972 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
72973
72974         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
72975         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
72976         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
72977         regex.c, sha1.c, version-etc.c, yesno.c:
72978         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
72979         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
72980         the includer's responsibility.
72981
72982         Sync from coreutils.
72983
72984         * lib/modechange.c (mode_compile): Don't decrement a pointer that
72985         points to the start of a string, as the C Standard says the
72986         resulting behavior is undefined.
72987
72988         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
72989         simple -> simple_backups, numbered_existing ->
72990         numbered_existing_backups, numbered -> numbered_backups
72991         to avoid shadowing problems.  All uses changed.
72992         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
72993         * lib/backupfile.c (check_extension, numbered_backup):
72994         Rename locals to avoid shadowing 'basename'.
72995         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
72996         once.
72997
72998         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
72999         * lib/.cvsignore: Add getopt.h.
73000
73001 2004-10-04  Bruno Haible  <bruno@clisp.org>
73002
73003         * modules/README: New file.
73004         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
73005         not a module.
73006
73007 2004-10-02  Jim Meyering  <jim@meyering.net>
73008
73009         * lib/dirfd.h, getpagesize.h: Add copyright notice.
73010
73011 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
73012
73013         * modules/strsep: New file.
73014
73015 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
73016
73017         * m4/strsep.m4: New file.
73018
73019 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
73020
73021         * lib/strsep.h: New file.
73022         * lib/strsep.c: New file.
73023
73024 2004-10-01  Simon Josefsson  <jas@extundo.com>
73025
73026         * lib/snprintf.c (snprintf): Handle size==0.
73027
73028 2004-10-01  Simon Josefsson  <jas@extundo.com>
73029             Bruno Haible  <bruno@clisp.org>
73030
73031         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
73032         (snprintf): Declare 'args'.
73033
73034 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
73035
73036         * lib/snprintf.c: Remove comments as to why each header is needed.
73037
73038 2004-10-01  Bruno Haible  <bruno@clisp.org>
73039
73040         * MODULES.html.sh: Add strsep.
73041
73042 2004-09-30  Simon Josefsson  <jas@extundo.com>
73043
73044         * modules/snprintf: New file.
73045
73046 2004-09-30  Simon Josefsson  <jas@extundo.com>
73047
73048         * m4/snprintf.m4: New file.
73049
73050 2004-09-30  Simon Josefsson  <jas@extundo.com>
73051
73052         * lib/snprintf.h, lib/snprintf.c: New files.
73053
73054 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
73055
73056         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
73057         (hol_entry_help): Never translate an empty string.
73058         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
73059         * lib/argp.h (OPTION_NO_TRANS): New option.
73060
73061 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
73062
73063         * modules/argp (Maintainer): Replace Simon Josefsson
73064         by Sergey Poznyakoff.
73065
73066 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
73067
73068         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
73069         changes merged back into glibc.
73070
73071 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
73072
73073         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
73074
73075 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
73076
73077         * lib/xvasprintf.c: Include xalloc.h.
73078         (xvasprintf): Use xalloc_die, not xmalloc_die.
73079
73080 2004-09-29  Bruno Haible  <bruno@clisp.org>
73081
73082         * modules/alloca-opt: New file, derived from modules/alloca.
73083         * modules/allocsa: Depend on alloca-opt instead of alloca.
73084         * modules/setenv: Likewise.
73085         * modules/vasnprintf: Likewise.
73086         * MODULES.html.sh: Add alloca-opt.
73087
73088 2004-09-28  Simon Josefsson  <jas@extundo.com>
73089
73090         * gnulib-tool: New parameter --lgpl, to asseert that modules are
73091         LGPL, and to replace license template from GPL to LGPL.
73092
73093 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
73094
73095         * modules/dummy: Change license to LGPL.
73096
73097 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
73098
73099         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
73100
73101 2004-09-24  Simon Josefsson  <jas@extundo.com>
73102
73103         * modules/minmax (License): Change from GPL to LGPL.
73104
73105 2004-09-23  Simon Josefsson  <jas@extundo.com>
73106
73107         * gnulib-tool (--import): Typo.
73108
73109 2004-09-23  Simon Josefsson  <jas@extundo.com>
73110
73111         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
73112
73113 2004-09-22  Bruno Haible  <bruno@clisp.org>
73114
73115         * modules/*: Add 'License' field.
73116         * gnulib-tool: Accept --extract-license option.
73117         (func_get_license): New function.
73118
73119 2004-09-21  Bruno Haible  <bruno@clisp.org>
73120
73121         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
73122         Reported by Simon Josefsson.
73123
73124 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
73125
73126         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
73127         gl_AC_TYPE_LONG_LONG.
73128
73129 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
73130
73131         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
73132
73133 2004-09-18  Simon Josefsson  <jas@extundo.com>
73134         and  Paul Eggert  <eggert@cs.ucla.edu>
73135
73136         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
73137         calls with autoreconf.  Define GL_LIB.
73138
73139 2004-09-14  Karl Berry  <karl@gnu.org>
73140
73141         * config/srclist.txt: unsync setenv.c, sigh.
73142
73143 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
73144
73145         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
73146         Problem reported by Bruno Haible in:
73147         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
73148
73149 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
73150
73151         * config/srclist.txt: Comment out argp-pvh.c.
73152
73153 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
73154
73155         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
73156         in case some system header has #define'd it.  Problem reported by
73157         Soeren D. Schulze in
73158         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
73159
73160 2004-09-09  Karl Berry  <karl@gnu.org>
73161
73162         * regex.[ch]: delete from the root.  These were supposed to be
73163                 synced with emacs cvs, but this has not happened for about
73164                 a year, and anyway nothing else uses emacs regex.[ch].
73165                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
73166                 lib/regex[.ch] is untouched.
73167
73168 2004-09-09  Bruno Haible  <bruno@clisp.org>
73169
73170         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
73171
73172 2004-09-09  Bruno Haible  <bruno@clisp.org>
73173
73174         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
73175         modifications.
73176         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
73177
73178 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
73179
73180         * modules/xvasprintf: New file.
73181         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
73182
73183 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
73184
73185         * lib/xvasprintf.h: New file.
73186         * lib/xvasprintf.c: New file.
73187         * lib/xasprintf.c: New file.
73188
73189 2004-09-08  Bruno Haible  <bruno@clisp.org>
73190
73191         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
73192
73193 2004-09-08  Bruno Haible  <bruno@clisp.org>
73194
73195         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
73196         length is > INT_MAX.
73197         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
73198         more.
73199
73200 2004-09-08  Bruno Haible  <bruno@clisp.org>
73201
73202         * lib/stdint_.h: New file, taken from GNU clisp.
73203
73204 2004-09-08  Bruno Haible  <bruno@clisp.org>
73205             Oskar Liljeblad  <oskar@osk.mine.nu>
73206
73207         * modules/stdint: New file.
73208         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
73209
73210 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
73211
73212         Import from coreutils.
73213         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
73214         strings on unbounded length.  alloca's performance benefits aren't
73215         that important here.
73216         (V_STRDUP): Remove.
73217         (parse_with_separator): New function, with most of the internals
73218         of the old parse_user_spec.  Allow user to omit both user and group,
73219         for compatibility with FreeBSD.
73220         Clone only the user name, not the entire spec.
73221         Do not set *uid, *gid unless entirely successful.
73222         Avoid memory leak in some failing cases.
73223         Fix regression for USER.GROUP reported by Dmitry V. Levin in
73224         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
73225         (parse_user_spec): Rewrite to use parse_with_separator.
73226
73227 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
73228
73229         * modules/userspec: Don't depend on alloca.
73230
73231 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
73232
73233         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
73234
73235 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
73236
73237         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
73238         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
73239         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
73240
73241 2004-08-16  Simon Josefsson  <jas@extundo.com>
73242
73243         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
73244         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
73245         Add --dry-run for --import.
73246         Let user provided command line parameters override configure.ac
73247         settings.
73248
73249 2004-08-12  Simon Josefsson  <jas@extundo.com>
73250
73251         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
73252         as discussed with Paul Eggert in threads rooted at
73253         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
73254         and
73255         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
73256         Before, the test was empty, and relied on ELIDE_CODE in source
73257         code.)
73258         (gl_PREREQ_GETOPT): New macro.
73259         (gl_GETOPT): Use them.
73260
73261 2004-08-12  Simon Josefsson  <jas@extundo.com>
73262
73263         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
73264         * lib/getopt_.h: Renamed from getopt.h.
73265
73266 2004-08-12  Simon Josefsson  <jas@extundo.com>
73267
73268         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
73269         Change default library name from libfoo to libgnu.
73270         Now, if you have a configure.ac that says:
73271                 gl_SOURCE_BASE(gl)
73272                 gl_M4_BASE(gl/m4)
73273                 gl_MODULES(error getopt etcetera)
73274                 gl_INIT
73275         you can import all you need by running:
73276                 ../gnulib/gnulib-tool --import
73277
73278         * modules/getopt (Files): Rename getopt.h to getopt_.h.
73279         (Makefile.am): Rewrite, use logic from argz.
73280         (Include): Use <getopt.h> instead of "getopt.h".
73281
73282 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
73283
73284         * modules/argp (Files): Add m4/unlocked-io.m4.
73285         (Depends-on): Add extensions.
73286
73287 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
73288
73289         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
73290         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
73291         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
73292         Check for program_invocation_name, program_invocation_short_name,
73293         flockfile, funlockfile, features.h, _getopt_long_only_r.
73294
73295 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
73296
73297         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
73298         its complicated substitute.
73299         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
73300         and program_invocation_name.
73301         (__argp_basename) [!_LIBC]: Remove; the only use was
73302         replaced by its body.
73303         (__argp_short_program_name): Change condition from
73304         !defined __argp_short_program_name to
73305         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
73306         to match argp-namefrob.h.
73307         (__argp_failure): Don't assume strerror_r returns char *.
73308         * lib/argp-parse.c (N_): Define unconditionally.
73309         (argp_default_options): Fill out initializers with 0 to avoid
73310         gcc warnings.
73311
73312 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
73313
73314         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
73315         getopt1.c.
73316
73317 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
73318
73319         Merge from coreutils.
73320
73321         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
73322
73323         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
73324         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
73325
73326 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
73327
73328         Merge from coreutils.
73329
73330         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
73331         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
73332         for Reliant Unix 5.43.
73333
73334         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
73335         (union fooround): Use uintmax_t, not long int.
73336         The rest is a merge from libc:
73337         [defined _LIBC]: Include <shlib-compat.h>.
73338         (_obstack) [defined _LIBC]: Remove after 2.3.4.
73339
73340         * lib/settime.c (settime): Recode to avoid warning with
73341         Sun Forte C 6U2.
73342
73343         * lib/strverscmp.c: Convert to UTF-8.
73344
73345 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
73346
73347         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
73348         m4/uintmax_t.m4.
73349
73350 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
73351
73352         * modules/xalloc-die: New file.
73353         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
73354
73355         * modules/md5 (Files): Add m4/uint32_t.m4.
73356         * modules/sha1: Renamed from modules/sha.
73357         (Files):
73358         Rename lib/sha.h to lib/sha1.h.
73359         Rename lib/sha.c to lib/sha1.c.
73360         Rename m4/sha.m4 to m4/sha1.m4.
73361         (lib_SOURCES): Likewise.
73362         (configure.ac): Rename gl_SHA to gl_SHA1.
73363         (Include): sha.h -> sha1.h.
73364
73365 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
73366
73367         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
73368         * m4/sha1.m4: Renamed from sha.m4.
73369         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
73370
73371 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
73372
73373         * lib/obstack.h (obstack_empty_p):
73374         Don't assume that chunk->contents is suitably aligned.
73375         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
73376         Likewise. Problem reported by Benno in
73377         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
73378
73379         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
73380         readable.  This could be improved further but it'd take some work.
73381
73382 2004-08-08  Simon Josefsson  <jas@extundo.com>
73383
73384         * modules/xgethostname (Depends-on): Remove exit and error (not
73385         used).
73386
73387         * modules/getpass-gnu: Add getpass.h.
73388         (Depends-on): Add stdbool.
73389         * modules/getpass: Add getpass.h.
73390
73391 2004-08-08  Simon Josefsson  <jas@extundo.com>
73392
73393         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
73394         Check getpass declaration.
73395
73396 2004-08-08  Simon Josefsson  <jas@extundo.com>
73397
73398         * lib/xgethostname.c: Don't include error.h (not used).
73399
73400         * lib/getpass.h: Add.
73401         * lib/getpass.c: Include getpass.h first.
73402
73403 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
73404
73405         * lib/xalloc-die.c: New file.
73406         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
73407         All uses removed.
73408         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
73409         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
73410         xalloc-die.c.
73411         (_, N_, xalloc_die): Move to xalloc-die.c.
73412         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
73413         so that we needn't mess with xalloc_msg_memory_exhausted.
73414
73415         * lib/sha1.h: Renamed from sha.h.
73416         (SHA1_H): Renamed from _SHA_H.
73417         (sha1_ctx): Renamed from sha_ctx.
73418         (sha1_init_ctx): Renamed from sha_init_ctx.
73419         (sha1_process_block): Renamed from sha_process_block.
73420         (sha1_process_bytes): Renamed from sha_process_bytes.
73421         (sha1_finish_ctx): Renamed from sha_finish_ctx.
73422         (sha1_read_ctx): Renamed from sha_read_ctx.
73423         (sha1_stream): Renamed from sha_stream.
73424         (sha1_buffer): Renamed from sha_buffer.
73425         * lib/sha1.c: Likewise; renamed from sha.c.
73426         Do not include <sys/types.h>.
73427         Include <stddef.h> rather than <stdlib.h>.
73428
73429 2004-08-08  Bruno Haible  <bruno@clisp.org>
73430
73431         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
73432         FILESYSTEM_PREFIX_LEN.
73433         * lib/progreloc.c: Likewise.
73434         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
73435
73436 2004-08-06  Simon Josefsson  <jas@extundo.com>
73437
73438         * modules/progname (Depends-on): Don't depend on stdbool.
73439
73440 2004-08-06  Simon Josefsson  <jas@extundo.com>
73441
73442         * modules/getsubopt: New file.
73443         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
73444         getsubopt.
73445
73446 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
73447
73448         More merge from coreutils.
73449
73450         * m4/utimens.m4, m4/utimecmp.m4: New files.
73451         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
73452         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
73453         prereq.m4, sha.m4: Import changes from coreutils.
73454
73455 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
73456
73457         More merge from coreutils.
73458         * modules/raise, modules/readtokens0, modules/utimens:
73459         * modules/utimecmp, module/xnanosleep: New files.
73460         * modules/strftime: Add lib/strftime.h.
73461         Change include from <time.h> to "strftime.h".
73462         * modules/yesno: Add lib/yesno.h.
73463         * modules/backupfile: Remove lib/addext.c.
73464         * modules/euidaccess: Add stat-macros.h.
73465         * modules/canonicalize, modules/euidaccess,
73466         modules/filemode, modules/lchown, modules/makepath,
73467         modules/rmdir, modules/stat: Likewise.
73468
73469 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
73470
73471         Merge from tar.
73472         * lib/argp-help.c (make_hol, hol_append): Don't assume that
73473         SIZE_MAX is a valid preprocessor constant.
73474         (__argp_basename): Change from "#ifndef _LIBC"
73475         to "#ifndef __argp_short_program_name", so that
73476         we don't compile these functions for tar.
73477
73478         More merges from coreutils.
73479         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
73480         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
73481         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
73482         * lib/addext.c: Remove; no longer needed.
73483         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
73484         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
73485         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
73486         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
73487         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
73488         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
73489         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
73490         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
73491         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
73492         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
73493         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
73494         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
73495         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
73496         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
73497         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
73498         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
73499         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
73500         Import changes from coreutils.
73501
73502 2004-08-05  Simon Josefsson  <jas@extundo.com>
73503
73504         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
73505
73506 2004-08-05  Simon Josefsson  <jas@extundo.com>
73507
73508         * m4/getsubopt.m4: New file.
73509
73510 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
73511
73512         Merge from coreutils.
73513
73514         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
73515         * m4/getcwd-path-max.m4: New files.
73516
73517         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
73518         FILESYSTEM_PREFIX_LEN ->
73519         FILE_SYSTEM_PREFIX_LEN.
73520         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
73521         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
73522         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
73523         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
73524
73525         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
73526         prerequisite modules now handle the DOS stuff.
73527         Don't check for unistd.h.
73528
73529 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
73530
73531         Merge from coreutils.
73532
73533         * lib/.gdb-history: Remove; this doesn't belong here.
73534
73535         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
73536         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
73537         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
73538         * lib/getcwd.c: New files.
73539
73540         * lib/dirname.h: Include <stdbool.h>.
73541         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
73542         for consistency with POSIX terminology.  All uses changed.
73543         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
73544         (strip_trailing_slashes): Use bool for booleans.
73545         * lib/stripslash.c (strip_trailing_slashes): Likewise.
73546
73547         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
73548         sometimes returns a positive errno value even when it succeeds.
73549         (print_errno_message) [!LIBC]: Fall back on strerror if
73550         __strerror_r fails.
73551
73552         * lib/path-concat.c (mempcpy): Don't define if a system header defines
73553         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
73554         (longest_relative_suffix): New function.
73555         (path_concat): Use it.  Assume first argument is not NULL.
73556         Port to DOS.  Omit redundant separators.
73557         Report an error instead of returning NULL.
73558         Use mempcpy instead of memcpy.
73559         (xpath_concat): Remove: not declared or used.
73560
73561         * lib/same.h: Include <stdbool.h>
73562         (same_name): Return bool, not int.
73563         * lib/same.c (same_name): Likewise.
73564         (errno): Don't declare; we assume C89 or better now.
73565
73566         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
73567         if not already defined.
73568
73569         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
73570         * lib/dup-safer.c (errno): Likewise.
73571
73572 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
73573
73574         Merge from coreutils.
73575         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
73576         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
73577         * modules/path-concat: Don't depend on strdup.
73578
73579 2004-08-03  Simon Josefsson  <jas@extundo.com>
73580
73581         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
73582         * lib/progname.h: Don't include stdbool.h.
73583
73584 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
73585
73586         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
73587         * MODULES.html.sh (func_all_modules): Remove fatal.
73588
73589 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
73590
73591         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
73592
73593 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
73594
73595         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
73596         working.
73597
73598 2004-08-02  Simon Josefsson  <jas@extundo.com>
73599
73600         * lib/getsubopt.h: New file, with comments from Bruno Haible.
73601         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
73602         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
73603
73604 2004-08-01  Simon Josefsson  <jas@extundo.com>
73605
73606         * lib/xgetdomainname.c: Include stdlib.h, for free().
73607
73608 2004-07-19  Bruno Haible  <bruno@clisp.org>
73609
73610         * MODULES.html.sh (func_all_modules): Add dummy.
73611
73612 2004-07-16  Simon Josefsson  <jas@extundo.com>
73613
73614         * modules/dummy: New file.
73615
73616 2004-07-16  Simon Josefsson  <jas@extundo.com>
73617
73618         * lib/dummy.c: New file.
73619
73620 2004-07-16  Bruno Haible  <bruno@clisp.org>
73621
73622         * lib/backupfile.h: Add extern "C" for C++.
73623         * lib/closeout.h: Likewise.
73624         * lib/copy-file.h: Likewise.
73625         * lib/findprog.h: Likewise.
73626         * lib/full-write.h: Likewise.
73627         * lib/pathname.h: Likewise.
73628         * lib/progname.h: Likewise.
73629         * lib/stpcpy.h: Likewise.
73630         * lib/stpncpy.h: Likewise.
73631         * lib/strcase.h: Likewise.
73632         * lib/strstr.h: Likewise.
73633         * lib/xalloc.h: Likewise.
73634
73635         * lib/mbswidth.h: Add extern "C" for C++.
73636         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
73637
73638 2004-07-13  Robert Millan  <robertmh@gnu.org>
73639
73640         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
73641
73642 2004-07-09  Simon Josefsson  <jas@extundo.com>
73643
73644         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
73645         failed without this.)
73646
73647 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
73648
73649         * modules/chown (Files): Add lib/fchown-stub.c, since
73650         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
73651
73652 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
73653
73654         * lib/fchown-stub.c: New file.
73655
73656 2004-06-24  Jim Meyering  <jim@meyering.net>
73657
73658         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
73659
73660 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
73661
73662         * modules/argz: Omit "#include".
73663
73664         * MODULES.html.sh (func_all_modules): Add calloc, to match
73665         2004-06-01 addition of calloc module.
73666
73667 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
73668
73669         * m4/argz.m4: New file, which is autoupdated from libtool.
73670
73671 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
73672
73673         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
73674         libtool.
73675
73676 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
73677
73678         * config/srclist-update: Don't insist on "USA." before the
73679         close-comment, as libtool omits the period and puts the */ on a
73680         separate line.
73681         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
73682         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
73683
73684 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
73685
73686         * modules/argz: New file.
73687         * MODULES.html.sh (func_all_modules): Add argz.
73688
73689 2004-06-12  Jim Meyering  <jim@meyering.net>
73690         and  Paul Eggert  <eggert@cs.ucla.edu>
73691
73692         * modules/hash (Files): Add lib/xalloc.h.
73693         * modules/pipe (Depends-on): Add wait-process.
73694         * modules/stat (Depends-on): Add xalloc.
73695         * modules/userspec (Files): Add lib/userspec.h.
73696         * modules/xstrto
73697
73698         Upgrade from gettext-0.13.
73699         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
73700         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
73701         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
73702
73703 2004-06-10  Jim Meyering  <jim@meyering.net>
73704
73705         * lib/calloc.c: New file.
73706
73707 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
73708
73709         * lib/getdate.y (yylex): Allow space between sign and number.
73710         Problem reported by Dan Jacobson.
73711
73712 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
73713
73714         Merge from coreutils CVS.
73715
73716         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
73717         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
73718         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
73719         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
73720         xstrtol.m4: Fix copyright date and/or serial number.
73721
73722         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
73723         See if we need an fchown replacement.
73724         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
73725         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
73726         and use the replacement function if we detect either defect.
73727
73728         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
73729         gl_UTIMECMP.
73730
73731 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
73732         and  Jim Meyering  <jim@meyering.net>
73733
73734         Merge from coreutils CVS.
73735
73736         * lib/stat-macros.h: New file, with contents from file-type.h
73737         and coreutils' system.h.
73738         * lib/file-type.c: Include "stat-macros.h".
73739         * lib/file-type.h (file_type): Move all macro definitions to new file,
73740         stat-macros.h.
73741
73742         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
73743         Wrap old code with this conditional.
73744         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
73745         function that does not dereference symlinks.
73746         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
73747
73748         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
73749         dependency problems.
73750         (xreadlink): Accept new arg SIZE, for efficiency.
73751         All decls and uses changed.
73752         * lib/xreadlink.h: Include <stddef.h>, for size_t.
73753
73754         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
73755         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
73756
73757         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
73758         sysexits.h.
73759
73760 2004-06-01  Jim Meyering  <jim@meyering.net>
73761
73762         * m4/calloc.m4: New file.
73763
73764 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
73765
73766         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
73767         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
73768         Also, fix a typo in a diagnostic.
73769
73770 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
73771
73772         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
73773         or AC_FUNC_REALLOC.
73774
73775 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
73776
73777         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
73778         macros to be defined.
73779         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
73780         the allocator returns NULL because the requested size is zero.
73781
73782 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
73783
73784         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
73785         var.  Add comment explaining why libc still defines it.  This
73786         merges the following patch from glibc:
73787         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
73788
73789 2004-05-20  Andreas Schwab  <schwab@suse.de>
73790
73791         * m4/free.m4: Replace free if it not known to work, not the other
73792         way round.
73793
73794 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
73795
73796         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
73797         present in glibc since revision 1.1 of this file.
73798         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
73799         obstack_alignment_mask, obstack_alloc, obstack_base,
73800         obstack_blank, obstack_blank_fast, obstack_chunk_size,
73801         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
73802         obstack_grow0, obstack_init, obstack_int_grow,
73803         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
73804         obstack_next_free, obstack_object_size, obstack_ptr_grow,
73805         obstack_ptr_grow_fast, obstack_room): Remove declarations of
73806         nonexistent functions.
73807
73808 2004-05-18  Karl Berry  <karl@gnu.org>
73809
73810         * config/srclist.txt: break link for vasnprintf.c.
73811
73812 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
73813
73814         Port obstack to the AS/400, where pointers are 16 bytes wide and
73815         you cannot cast an integer to a valid pointer.  This patch is
73816         currently waiting to be integrated into glibc; see
73817         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
73818
73819         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
73820         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
73821         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
73822         (struct obstack): temp member is now a union of a pointer and
73823         an integer, instead of an integer.  All integer uses changed.
73824         This does not affect the physical layout of struct obstack,
73825         except on hosts (like the AS/400) where the size or alignment of
73826         void * is greater than that of ptrdiff_t.
73827         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
73828         __STDC__)]: Store temporary in pointer member of union, not
73829         integer member.
73830         * lib/obstack.c: Include <stddef.h>, for offsetof.
73831         (struct fooalign): Remove; it doesn't need a name.
73832         (union fooround): Change double to long double, and add void *.
73833         (DEFAULT_ALIGNMENT): Use offsetof to compute.
73834         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
73835         not a macro.  Hence the values are always int; so remove all
73836         casts-to-int in uses.
73837
73838 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
73839
73840         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
73841         we can get this patch merged into glibc.
73842
73843 2004-05-17  Derek R. Price  <derek@ximbiot.com>
73844             Paul Eggert  <eggert@cs.ucla.edu>
73845
73846         * m4/argp: Depend on alloca.
73847
73848 2004-05-17  Derek R. Price  <derek@ximbiot.com>
73849             Paul Eggert  <eggert@cs.ucla.edu>
73850
73851         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
73852         freecoding.
73853
73854 2004-05-17  Bruno Haible  <bruno@clisp.org>
73855
73856         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
73857         precision that consists of a '.' followed by an empty digit string.
73858         Patch by Tor Lillqvist <tml@iki.fi>.
73859
73860 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
73861
73862         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
73863         for backward compatibility with older code.  We need our own
73864         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
73865         it under some other name, and our alloca.h will define it.
73866
73867 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
73868             Derek Price  <derek@ximbiot.com>
73869
73870         * lib/alloca.c: Include <alloca.h>, to get our interface.
73871         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
73872         include <alloca.h> first.  Use C89 prototype for alloca; this
73873         requires including <stddef.h> for size_t.  Use extern "C" if C++.
73874         Use #elif for simplicity, since we can assume C89 now.
73875         Don't try to source the system alloca.h since it will not be found
73876         and to prevent recursively including its replacement.
73877         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
73878         * lib/regex.c: Likewise.
73879
73880 2004-05-16  Derek Price  <derek@ximbiot.com>
73881             Paul Eggert  <eggert@cs.ucla.edu>
73882
73883         getline cleanup.  This changes the getndelim2 API: both order of
73884         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
73885         no delimiter).
73886
73887         * lib/getline.c: Don't include stddef.h or stdio.h, since our
73888         interface does that.
73889         (getline): Always use getdelim, so that we don't have two
73890         copies of this code.
73891         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
73892         if available.
73893         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
73894         (GETNDELIM2_MAXIMUM): New macro.
73895         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
73896         instead of the old practice of delim2==0.  All callers changed.
73897         Return -1 on overflow, instead of returning junk.
73898         Do not set *linesize unless allocation succeeds.
73899         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
73900         that we include sys/types.h.
73901         * lib/getnline.h: Likewise.
73902         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
73903         (getndelim2): Reorder arguments.
73904         * lib/getnline.c (getnline, getndelim):
73905         Don't discard the NMAX argument.
73906         (getnline): Invoke getndelim, to avoid code duplication.
73907         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
73908         of (size_t) -1 by callers of the getnline family.
73909
73910 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
73911
73912         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
73913         Check for gettimeofday.
73914         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
73915         Check for settimeofday, stime.
73916
73917 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
73918
73919         * lib/nanosleep.c (suspended): Change its type from int to
73920         sig_atomic_t volatile.
73921         (first_call): Make it private to rpl_nanosleep, and have it
73922         be zero initially as that's a bit faster.
73923         (my_usleep): Round up fractional times instead of truncating them,
73924         as this is the usual meaning for 'sleep'.
73925
73926         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
73927         doesn't work.
73928         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
73929         (ENOSYS): Define if not defined.
73930         (settime): Fall back on stime if it exists and settimeofday fails.
73931         But don't bother with fallbacks if a method fails with errno == EPERM.
73932
73933 2004-05-11  Jim Meyering  <jim@meyering.net>
73934
73935         Prior to this change, the save_cwd caller required read access to the
73936         current directory on most systems (ones with the fchdir function).
73937
73938         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
73939         fails, try write-only, and finally, resort to using xgetcwd.
73940
73941 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
73942
73943         * lib/obstack.c, obstack.h: Import changes from libc.
73944
73945 2004-04-28  Bruno Haible  <bruno@clisp.org>
73946
73947         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
73948         also implicitly appends .exe to executables.
73949         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
73950         accepts Windows pathnames.
73951         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
73952         Treat Cygwin like Windows, since it now accepts Windows pathnames.
73953         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
73954         Treat Cygwin like Windows, since it now accepts Windows pathnames.
73955         Reported by Derek Robert Price <derek@ximbiot.com>.
73956
73957 2004-04-21  Karl Berry  <karl@gnu.org>
73958
73959         * config/srclist.txt (localcharset.c): break sync.
73960
73961 2004-04-20  Paul Eggert  <eggert@twinsun.com>
73962
73963         * m4/host-os.m4: Add a copyright notice.
73964
73965 2004-04-20  Jim Meyering  <jim@meyering.net>
73966
73967         Change UTILS_ to gl_ in AC_DEFINE'd names.
73968         Change utils_- and jm_-prefixed variables, too.
73969         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
73970         UTILS_FUNC_MKDIR_TRAILING_SLASH.
73971         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
73972
73973         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
73974         Don't emit trailing blanks.
73975         Also rename jm_-prefixed variables to have gl_ prefix.
73976
73977         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
73978         Also rename jm_-prefixed variables to have gl_ prefix.
73979
73980         * m4/jm-macros.m4: Reflect the renamings.
73981         * m4/prereq.m4: Likewise.
73982
73983 2004-04-20  Jim Meyering  <jim@meyering.net>
73984
73985         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
73986         memory.
73987
73988 2004-04-20  Jim Meyering  <jim@meyering.net>
73989             Bruno Haible  <bruno@clisp.org>
73990
73991         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
73992         memory when realloc fails.
73993
73994 2004-04-19  Jim Meyering  <jim@meyering.net>
73995
73996         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
73997         now that readutmp.c may call `free (0)'.
73998
73999 2004-04-19  Bruno Haible  <bruno@clisp.org>
74000
74001         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
74002         * m4/inttypes_h.m4: Likewise.
74003         * m4/stdint_h.m4: Likewise.
74004         * m4/intmax_t.m4: Likewise.
74005         * m4/uintmax_t.m4: Likewise.
74006
74007 2004-04-18  Jim Meyering  <jim@meyering.net>
74008
74009         * m4/prereq.m4: Don't forbid jm_ prefix.
74010
74011         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
74012         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
74013         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
74014         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
74015         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
74016         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
74017         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
74018         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
74019         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
74020         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
74021         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
74022         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
74023         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
74024         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
74025         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
74026         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
74027         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
74028         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
74029         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
74030
74031 2004-04-18  Jim Meyering  <jim@meyering.net>
74032
74033         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
74034         failure, don't leak memory and do call END_UTMP_ENT.
74035
74036 2004-04-16  Jim Meyering  <jim@meyering.net>
74037
74038         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
74039         coreutils' stat program.
74040         (gl_PREREQ): Don't require jm_PREREQ_STAT.
74041
74042 2004-04-11  Paul Eggert  <eggert@twinsun.com>
74043
74044         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
74045         C89.
74046         (CHAR_BIT): Remove, since we assume C89.
74047         Include <stdint.h> if available, as per current Autoconf CVS advice.
74048
74049 2004-03-31  Jim Meyering  <jim@meyering.net>
74050
74051         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
74052         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
74053         * m4/xalloc.m4: Likewise.
74054
74055 2004-03-30  Paul Eggert  <eggert@twinsun.com>
74056
74057         Merge from coreutils.
74058
74059         * m4/inttostr.m4: New file.
74060         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
74061         Require AM_STDBOOL_H and gl_TIMESPEC instead.
74062         Require gl_CLOCK_TIME.
74063         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
74064
74065 2004-03-30  Paul Eggert  <eggert@twinsun.com>
74066
74067         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
74068         not bool, to be more consistent with Unix conventions.
74069         Suggested by Bruno Haible.
74070
74071         Merge from coreutils.
74072
74073         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
74074         * lib/umaxtostr.c: New files.
74075
74076         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
74077         the usual <time.h> dance.
74078         (get_date): Change signature to support fractional time stamps.
74079         All callers changed.
74080         * lib/getdate.y: Include "getdate.h" first, as we can now
74081         assume C89 and don't need to worry about 'const'.
74082         Similarly, include "unlocked-io.h" near start, not in middle.
74083         Include <limits.h>.
74084         (textint.value): Use long int rather than int.
74085         (textint.digits): Use size_t rather than int.
74086         (BILLION, LOG10_BILLION): New constants.
74087         (parser_control): New member rel_ns.  Members day_ordinal,
74088         time_zone, month, day, hour, minutes, rel_year, rel_month,
74089         rel_day, rel_hour, rel_minutes, rel_seconds
74090         are now long int, not int.  Member seconds is now struct timespec,
74091         not int.  New member timespec_seen.  Members dates_seen, days_seen,
74092         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
74093         not int.
74094         (%union.intval): Now long int, not int.
74095         New member timespec.
74096         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
74097         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
74098         (spec): Now is a timespec or an item list.
74099         (timespec, items): New nonterminals.
74100         (time, rel, relunit, number, get_date):
74101         Add support for fractional seconds.
74102         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
74103         (gmtime, localtime, mktime): Remove decls; not needed with C89.
74104         (to_hour): First arg is now long int, not int.
74105         (to_year): Returns long int, not int.
74106         Don't treat year -70 like 70.
74107         (tm_diff): Returns long int, not int.
74108         (lookup_word): Use bool instead of int when appropriate.
74109         (yylex): Use size_t for count, not int.
74110         Detect overflow when parsing large integer constants.
74111         Add support for fractions.
74112         (get_date): Make pointers 'const' if possible.
74113         Use more-portable code to detect integer overflow.
74114         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
74115         Don't use ctime; it's not reliable if the year has >4 digits.
74116
74117         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
74118         This is for compatibility with BSD.
74119
74120         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
74121         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
74122         From coreutils' system.h.
74123
74124         * lib/userspec.c: Don't include "posixver.h".
74125         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
74126         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
74127         compatible extension.  Simplify code by removing a boolean int
74128         that was always nonzero if a string was nonnull.
74129
74130 2004-03-30  Jim Meyering  <jim@meyering.net>
74131
74132         Merge from coreutils.
74133
74134         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
74135         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
74136         on some systems one must include <grp.h> before it.
74137         Reported by Christian Krackowizer.
74138
74139 2004-03-30  Jim Meyering  <jim@meyering.net>
74140
74141         Merge from coreutils.
74142
74143         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
74144
74145         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
74146         an empty input stream.
74147
74148         * lib/readtokens.c: Include <stdbool.h>.
74149         (readtoken): Use `size_t' rather than int/long.
74150         All callers adjusted.
74151         Use `bool' rather than `int' where appropriate.
74152         Use memset rather than an explicit loop.
74153         Use x2nrealloc rather than xrealloc.
74154         Allow the use of `\0' as a delimiter.
74155         (readtokens): Likewise.
74156         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
74157
74158 2004-03-30  Jim Meyering  <jim@meyering.net>
74159
74160         * m4/realloc.m4: Remove file, since now it does no more than
74161         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
74162         the `configure.ac' section of module/realloc.
74163         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
74164
74165 2004-03-30  Bruno Haible  <bruno@clisp.org>
74166
74167         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
74168         nonnull.
74169
74170 2004-03-29  Paul Eggert  <eggert@twinsun.com>
74171
74172         Merge changes to getloadavg.c from coreutils and Emacs.
74173
74174         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
74175         Define to an expression, not to the empty string.
74176         Include cloexec.h and xalloc.h.
74177         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
74178         Use set_cloexec_flag rather than rolling our own.
74179         * lib/cloexec.c, lib/cloexec.h: New files.
74180
74181 2004-03-29  Paul Eggert  <eggert@twinsun.com>
74182
74183         * m4/cloexec.m4: New file.
74184
74185 2004-03-18  Paul Eggert  <eggert@twinsun.com>
74186
74187         * lib/getopt.h: Sync with libc CVS.
74188
74189 2004-03-18  Paul Eggert  <eggert@twinsun.com>
74190             Bruno Haible  <bruno@clisp.org>
74191
74192         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
74193         mbswidth.
74194
74195 2004-03-18  Paul Eggert  <eggert@twinsun.com>
74196             Bruno Haible  <bruno@clisp.org>
74197
74198         * lib/mbswidth.h: Include <wchar.h> only if
74199         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
74200         <wchar.h>.
74201         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
74202
74203 2004-03-09  Paul Eggert  <eggert@twinsun.com>
74204
74205         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
74206         Sync with libc CVS.
74207         * lib/getopt_int.h: New file, also synced from libc.
74208
74209 2004-03-09  Paul Eggert  <eggert@twinsun.com>
74210
74211         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
74212         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
74213         Bring back getopt.c, getopt.h, getopt1.c.
74214
74215 2004-03-07  Paul Eggert  <eggert@twinsun.com>
74216
74217         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
74218         All uses changed.  Check for sa_sigaction member; this fixes
74219         a bug first reported by Jason Andrade in
74220         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
74221
74222 2004-03-07  Paul Eggert  <eggert@twinsun.com>
74223
74224         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
74225         '#if' expressions.  Unlike the code it replaces, it does not
74226         depend on (defined _SC_PAGESIZE).  However, it does depend on
74227         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
74228         first reported by Jason Andrade in
74229         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
74230
74231 2004-02-25  Simon Josefsson  <jas@extundo.com>
74232
74233         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
74234
74235 2004-02-25  Simon Josefsson  <jas@extundo.com>
74236
74237         * lib/strdup.h: New file.
74238         * lib/strdup.c: Include it.
74239         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
74240         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
74241
74242 2004-02-23  Karl Berry  <karl@gnu.org>
74243
74244         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
74245         (from fencepost.gnu.org:/gd/gnuorg).
74246
74247 2004-02-23  Karl Berry  <karl@gnu.org>
74248
74249         * config/srclistvars.sh (GNUORG) [karl]: redefine.
74250         * config/srclist.txt: add maintain/standards documents.
74251
74252 2004-02-18  Bruno Haible  <bruno@clisp.org>
74253
74254         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
74255         Reported by Derek Robert Price <derek@ximbiot.com>.
74256
74257 2004-02-16  Karl Berry  <karl@gnu.org>
74258
74259         * config/mkinstalldirs, install-sh: update from automake.
74260
74261 2004-02-06  Karl Berry  <karl@gnu.org>
74262
74263         * m4/po.m4: update from gettext 0.14.1.
74264
74265 2004-02-06  Karl Berry  <karl@gnu.org>
74266
74267         * lib/config.charset: update from gettext 0.14.1.
74268
74269 2004-02-05  Paul Eggert  <eggert@twinsun.com>
74270
74271         Add comments and code, prompted by suggestions from Bruno Haible
74272         for sh-quote.
74273         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
74274         describing the enum quoting_style values.
74275         * lib/quotearg.c (quotearg_alloc): New function.
74276         (quotearg_buffer_restyled): Treat lone { and } as special.
74277         Treat = as special.  Work around bug with older shells
74278         that "see" a '\' that is really the 2nd byte of a multibyte char.
74279         Quote empty string with shell_quoting_style.
74280
74281 2004-02-03  Bruno Haible  <bruno@clisp.org>
74282
74283         * m4/pipe.m4: New file, from GNU gettext.
74284
74285 2004-02-03  Bruno Haible  <bruno@clisp.org>
74286
74287         * lib/pipe.h: New file, from GNU gettext.
74288         * lib/pipe.c: New file, from GNU gettext.
74289
74290 2004-01-27  Bruno Haible  <bruno@clisp.org>
74291
74292         * m4/execute.m4: New file, from GNU gettext.
74293
74294 2004-01-27  Bruno Haible  <bruno@clisp.org>
74295
74296         * lib/execute.h: New file, from GNU gettext.
74297         * lib/execute.c: New file, from GNU gettext.
74298         * lib/w32spawn.h: New file, from GNU gettext.
74299
74300 2004-01-24  Paul Eggert  <eggert@twinsun.com>
74301
74302         Merge from diffutils.
74303
74304         * lib/file-type.c (file_type): Add typed memory objects.
74305         * lib/file-type.h (S_TYPEISTMO): New macro.
74306
74307         * lib/c-stack.h (c_stack_action): Remove argv argument.
74308         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
74309         (die): Don't calculate message unless segv_action returns.
74310         (get_stack_location, min_address_from_argv, max_address_from_argv,
74311         volatile stack_base, volatile_stack_size): Remove.
74312         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
74313         that every segmentation violation is a stack overflow.  (Ouch!)
74314         See Debian bug 136249 (still outstanding) for more info about why
74315         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
74316
74317 2004-01-24  Paul Eggert  <eggert@twinsun.com>
74318
74319         Exit-status fix from coreutils.
74320
74321         Use exit_failure consistently in place of EXIT_FAILURE,
74322         so that program exit statuses are consistent on failure.
74323
74324         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
74325         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
74326         * lib/argmatch.h: Comment fix to match the above.
74327         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
74328         Now a macro referring to exit_failure, instead of a separate
74329         variable.  Include "exitfail.h" to get it.
74330         * lib/xstrtol.h: Include "exitfail.h".
74331         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
74332
74333         * lib/long-options.c (parse_long_options): Use prototype
74334         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
74335         for clarity.
74336
74337 2004-01-21  Jim Meyering  <jim@meyering.net>
74338
74339         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
74340         so as not to conflict with a different-sized __mktime_internal
74341         function in GNU libc.
74342         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
74343         Problem building statically-linked `ls' reported by Michael Brunnbauer.
74344
74345 2004-01-20  Karl Berry  <karl@gnu.org>
74346
74347         * config/config.guess: update from config.
74348
74349         * config/srclistvars.sh: GNUWWWLICENSES for karl.
74350
74351 2004-01-20  Bruno Haible  <bruno@clisp.org>
74352
74353         Safer stack allocation.
74354         * lib/setenv.c: Include allocsa.h.
74355         (alloca): Remove fallback definition.
74356         (freea): Remove macro.
74357         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
74358         instead of freea.
74359
74360 2004-01-20  Bruno Haible  <bruno@clisp.org>
74361
74362         * m4/eealloc.m4: New file, from GNU gettext.
74363
74364 2004-01-20  Bruno Haible  <bruno@clisp.org>
74365
74366         * m4/allocsa.m4: New file, from GNU gettext.
74367
74368 2004-01-20  Bruno Haible  <bruno@clisp.org>
74369
74370         * lib/xallocsa.h: New file, from GNU gettext.
74371         * lib/xallocsa.c: New file, from GNU gettext.
74372
74373 2004-01-20  Bruno Haible  <bruno@clisp.org>
74374
74375         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
74376
74377 2004-01-20  Bruno Haible  <bruno@clisp.org>
74378
74379         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
74380         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
74381         specially.
74382
74383 2004-01-20  Bruno Haible  <bruno@clisp.org>
74384
74385         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
74386         patch.
74387
74388 2004-01-20  Bruno Haible  <bruno@clisp.org>
74389
74390         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
74391
74392 2004-01-20  Bruno Haible  <bruno@clisp.org>
74393
74394         * lib/eealloc.h: New file.
74395
74396 2004-01-20  Bruno Haible  <bruno@clisp.org>
74397
74398         * lib/binary-io.h: Avoid warnings on Cygwin.
74399
74400 2004-01-20  Bruno Haible  <bruno@clisp.org>
74401
74402         * lib/allocsa.h: New file, from GNU gettext.
74403         * lib/allocsa.c: New file, from GNU gettext.
74404
74405 2004-01-18  Karl Berry  <karl@gnu.org>
74406
74407         * doc/gpl.texi, doc/lgpl.texi: new files.
74408
74409 2004-01-18  Karl Berry  <karl@gnu.org>
74410
74411         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
74412         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
74413
74414 2004-01-15  Paul Eggert  <eggert@twinsun.com>
74415
74416         Merge from coreutils.
74417
74418         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
74419         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
74420         (gl_DEFAULT_POSIX2_VERSION): Move
74421         the documentation from 'configure' into 'config.hin',
74422         so that 'configure --help' isn't burdened by it and
74423         we don't have to worry about its formatting there.
74424         Reword the documentation so that it's more succinct
74425         and can be run together into a single paragraph.
74426         * m4/same.m4 (gl_SAME): Check for pathconf.
74427
74428 2004-01-15  Paul Eggert  <eggert@twinsun.com>
74429
74430         Merge from coreutils.
74431
74432         * lib/posixver.c: Include posixver.h.
74433
74434         * lib/same.c: Include <stdbool.h>, <limits.h>.
74435         (_POSIX_NAME_MAX): Define if not defined.
74436         (MIN): New macro.
74437         (same_name): If file names are silently truncated, report
74438         that the file names are the same if they are the same after
74439         the silent truncation.
74440
74441         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
74442         conversion function.
74443         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
74444         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
74445         longer needed.
74446
74447 2004-01-15  Jim Meyering  <jim@meyering.net>
74448
74449         Merge from coreutils.
74450
74451         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
74452         if no library is required.
74453         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
74454         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
74455         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
74456         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
74457         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
74458         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
74459         value, $ac_cv_search_crypt, if it's "none required".
74460         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
74461         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
74462         not gl_FUNC_GETLOADAVG.
74463         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
74464         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
74465
74466 2004-01-15  Jim Meyering  <jim@meyering.net>
74467
74468         Merge from coreutils.
74469
74470         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
74471         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
74472         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
74473
74474         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
74475         optional configure-time default.
74476
74477         * lib/version-etc.c (version_etc_copyright): Update copyright date.
74478
74479         * lib/xreadlink.c (xreadlink): Correct outdated comment.
74480
74481 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
74482
74483         Merge from coreutils.
74484
74485         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
74486         value, $ac_cv_search_nanosleep, if it's "none required".
74487
74488 2004-01-14  Paul Eggert  <eggert@twinsun.com>
74489
74490         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
74491         with like-named macro in fnmatch.c.
74492         (EXT): Use an internal constant instead.
74493
74494         Merge fnmatch patches from glibc.
74495         * lib/fnmatch.c (mbsinit): Remove define.
74496         Add libc_hidden_ver (__fnmatch, fnmatch).
74497         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
74498         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
74499
74500 2004-01-14  Karl Berry  <karl@gnu.org>
74501
74502         * config/install-sh: update from automake.
74503
74504 2004-01-13  Karl Berry  <karl@gnu.org>
74505
74506         * config/install-sh: update from automake.
74507
74508 2004-01-09  Karl Berry  <karl@gnu.org>
74509
74510         * config/install-sh: update from automake.
74511
74512 2004-01-05  Karl Berry  <karl@gnu.org>
74513
74514         * config/config.{sub,guess}: update from config.
74515
74516 2003-12-31  Karl Berry  <karl@gnu.org>
74517
74518         * config/depcomp: update from automake.
74519
74520 2003-12-14  Karl Berry  <karl@gnu.org>
74521
74522         * lib/config.charset: update from gettext-runtime.
74523
74524 2003-12-03  Paul Eggert  <eggert@twinsun.com>
74525
74526         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
74527         Bug reported by Alfred M. Szmidt.
74528
74529 2003-12-03  Bruno Haible  <bruno@clisp.org>
74530
74531         * m4/gettext.m4: Upgrade from gettext-0.13.
74532         * m4/po.m4: Upgrade from gettext-0.13.
74533         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
74534         * m4/intmax.m4: New file, from gettext-0.13.
74535         * m4/printf-posix.m4: New file, from gettext-0.13.
74536
74537 2003-11-29  Karl Berry  <karl@gnu.org>
74538
74539         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
74540
74541 2003-11-25  Paul Eggert  <eggert@twinsun.com>
74542             Bruno Haible  <bruno@clisp.org>
74543
74544         * lib/printf-parse.h: Don't include sys/types.h.
74545         (ARG_NONE): New macro.
74546         (char_directive): Change type of *arg_index fields to size_t.
74547         * lib/printf-parse.c: Don't include sys/types.h.
74548         (SSIZE_MAX): Remove macro.
74549         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
74550         Remove unnecessary overflow check.
74551         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
74552         fields.
74553
74554 2003-11-25  Bruno Haible  <bruno@clisp.org>
74555
74556         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
74557
74558 2003-11-25  Bruno Haible  <bruno@clisp.org>
74559
74560         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
74561         gt_TYPE_SSIZE_T.
74562
74563 2003-11-24  Paul Eggert  <eggert@twinsun.com>
74564
74565         * modules/alloca: Remove dependency on xalloc.
74566
74567 2003-11-24  Paul Eggert  <eggert@twinsun.com>
74568
74569         * lib/alloca.c: Remove dependency on xalloc module.
74570         (xalloc_die): Remove.
74571         (memory_full) [!defined emacs]: New macro.
74572         [!defined emacs]: Don't include xalloc.h.
74573         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
74574         address arithmetic overflows.  Change datatypes a bit to avoid
74575         unnecessary casts.
74576
74577 2003-11-22  Jim Meyering  <jim@meyering.net>
74578
74579         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
74580         s/size/size_t/.
74581
74582 2003-11-21  Karl Berry  <karl@gnu.org>
74583
74584         * config/config.{sub,guess}: update from config.
74585
74586 2003-11-18  Karl Berry  <karl@gnu.org>
74587
74588         * config/config.{sub,guess}: update from config.
74589
74590         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
74591
74592 2003-11-17  Paul Eggert  <eggert@twinsun.com>
74593
74594         * README: Mention that S+T cannot overflow if S is the size of
74595         an existing object and T is sufficiently small.
74596
74597 2003-11-17  Jim Meyering  <jim@meyering.net>
74598
74599         On systems without utime and without a utimes function capable of
74600         dealing with a NULL struct utimbuf* argument, this utime replacement
74601         could -- in unusual circumstances -- leak a file descriptor.
74602         * lib/utime.c: Include <unistd.h> and <errno.h>.
74603         (utime_null): Be sure to close `fd' and to preserve errno.
74604         Reported by Geoff Collyer via Arnold Robbins.
74605
74606 2003-11-17  Bruno Haible  <bruno@clisp.org>
74607
74608         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
74609         (Depends-on): Add xsize.
74610
74611 2003-11-17  Bruno Haible  <bruno@clisp.org>
74612
74613         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
74614
74615 2003-11-17  Bruno Haible  <bruno@clisp.org>
74616
74617         * lib/vasnprintf.c (alloca): Remove fallback definition.
74618         (freea): Remove definition.
74619         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
74620         Reported by Paul Eggert.
74621
74622 2003-11-16  Paul Eggert  <eggert@twinsun.com>
74623             Bruno Haible  <bruno@clisp.org>
74624
74625         Protect against address arithmetic overflow.
74626         * lib/printf-args.h: Include stddef.h.
74627         (arguments): Change type of field 'count' to size_t.
74628         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
74629         'unsigned int' where appropriate.
74630         * lib/printf-parse.h: Include sys/types.h.
74631         (char_directive): Change type of *arg_index fields to ssize_t.
74632         (char_directives): Change type of fields 'count', max_*_length to
74633         size_t.
74634         * lib/printf-parse.c: Include sys/types.h and xsize.h.
74635         (SSIZE_MAX): Define fallback value.
74636         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
74637         instead of 'int' where appropriate. Check a_allocated, d_allocated
74638         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
74639         * lib/vasnprintf.c: Include xsize.h.
74640         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
74641         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
74642         overflow. Avoid wraparound when converting a width or precision from
74643         decimal to binary.
74644
74645 2003-11-16  Bruno Haible  <bruno@clisp.org>
74646
74647         Update from GNU gettext.
74648         * lib/printf-parse.c: Generalize to it can be compiled for wide
74649         strings.
74650         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
74651         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
74652         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
74653         SNPRINTF): New macros.
74654         Don't include <alloca.h> if the file is used inside libintl.
74655         (local_wcslen): New function, for Solaris 2.5.1.
74656         (VASNPRINTF): Use it instead of wcslen.
74657
74658 2003-11-16  Bruno Haible  <bruno@clisp.org>
74659
74660         * lib/xsize.h (xmax): New function.
74661         (xsum, xsum3, xsum4): Declare as "pure" functions.
74662
74663 2003-11-12  Paul Eggert  <eggert@twinsun.com>
74664
74665         * modules/xalloc (Files): Undo latest change, since xalloc.h
74666         no longer needs SIZE_MAX or PTRDIFF_MAX.
74667
74668 2003-11-12  Paul Eggert  <eggert@twinsun.com>
74669
74670         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
74671         gl_PTRDIFF_MAX.
74672
74673 2003-11-12  Paul Eggert  <eggert@twinsun.com>
74674
74675         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
74676         "return", to pacify some unknown compiler.  Problem reported
74677         by Joerg Schilling.
74678
74679 2003-11-12  Paul Eggert  <eggert@twinsun.com>
74680
74681         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
74682         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
74683         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
74684         heuristic is just as accurate as far as we know, and it removes a
74685         dependency on size_max.m4 and ptrdiff_max.m4.
74686
74687 2003-11-11  Bruno Haible  <bruno@clisp.org>
74688
74689         * modules/xsize (Files): Add m4/size_max.m4.
74690         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
74691
74692 2003-11-11  Bruno Haible  <bruno@clisp.org>
74693
74694         * m4/size_max.m4: New file.
74695         * m4/ptrdiff_max.m4: New file.
74696         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
74697         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
74698         (gl_XALLOC): Invoke it.
74699
74700 2003-11-11  Bruno Haible  <bruno@clisp.org>
74701
74702         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
74703         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
74704         defined.
74705
74706 2003-11-10  Paul Eggert  <eggert@twinsun.com>
74707
74708         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
74709         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
74710         rejected some allocations of exactly SIZE_MAX - 2 bytes.
74711         From Bruno Haible.
74712         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
74713         not (size_t) -1, since it's defined here.
74714
74715 2003-11-09  Karl Berry  <karl@gnu.org>
74716
74717         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
74718
74719 2003-11-06  Paul Eggert  <eggert@twinsun.com>
74720
74721         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
74722         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
74723         Reject sizes of exactly SIZE_MAX bytes.
74724         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
74725         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
74726
74727 2003-11-05  Bruno Haible  <bruno@clisp.org>
74728
74729         * lib/xsize.h: Include limits.h, to avoid a possible collision with
74730         SIZE_MAX defined in <limits.h> on Solaris.
74731
74732 2003-11-04  Jim Meyering  <jim@meyering.net>
74733
74734         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
74735         variable names, rather than @VAR@.
74736         * modules/poll: Likewise.
74737
74738 2003-11-04  Bruno Haible  <bruno@clisp.org>
74739
74740         * modules/xsize: New file.
74741         * modules/linebreak: Depend on xsize.
74742         * MODULES.html.sh (func_all_modules): Add xsize.
74743
74744 2003-11-04  Bruno Haible  <bruno@clisp.org>
74745
74746         * m4/xsize.m4: New file.
74747
74748 2003-11-04  Bruno Haible  <bruno@clisp.org>
74749
74750         * lib/xsize.h: New file.
74751         * lib/linebreak.c: Include xsize.h.
74752         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
74753         argument for overflow.
74754         Suggested by Paul Eggert.
74755
74756 2003-11-03  Karl Berry  <karl@gnu.org>
74757
74758         * config/config.{guess,sub}: update from config.
74759
74760 2003-11-03  Jim Meyering  <jim@meyering.net>
74761
74762         * modules/userspec (lib_SOURCES): Add userspec.h.
74763         (Include): Add "userspec.h".
74764         Improve description.
74765
74766 2003-11-03  Jim Meyering  <jim@meyering.net>
74767
74768         * lib/userspec.c: Include "userspec.h".
74769         * lib/userspec.h: New file.
74770
74771 2003-11-03  Bruno Haible  <bruno@clisp.org>
74772
74773         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
74774
74775 2003-11-03  Bruno Haible  <bruno@clisp.org>
74776
74777         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
74778         available, to avoid (extremely rare) race condition.
74779         Suggested by Paul Eggert.
74780
74781 2003-11-02  Karl Berry  <karl@gnu.org>
74782
74783         * config/srclist.txt (vasprintf.c): sync broken, sigh.
74784
74785 2003-10-31  Paul Eggert  <eggert@twinsun.com>
74786
74787         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
74788         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
74789         (read_filesystem_list): Set and use me_type_malloced.
74790         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
74791         whatever the type happens to be), for brevity and consistency.
74792         Check for size calculation overflow on Alphas running OSF/1.
74793
74794 2003-10-31  Jim Meyering  <jim@meyering.net>
74795
74796         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
74797
74798         * lib/linebuffer.c: Include <string.h> for declaration of memset.
74799
74800 2003-10-30  Paul Eggert  <eggert@twinsun.com>
74801             Bruno Haible  <bruno@clisp.org>
74802
74803         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
74804         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
74805
74806 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
74807
74808         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
74809         netbsd*-gnu*.  Suggested by Robert Millan.
74810
74811 2003-10-29  Paul Eggert  <eggert@twinsun.com>
74812
74813         * modules/group-member: Depend on stdbool.
74814
74815 2003-10-29  Paul Eggert  <eggert@twinsun.com>
74816
74817         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
74818
74819 2003-10-29  Paul Eggert  <eggert@twinsun.com>
74820
74821         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
74822         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
74823         after the 'gnu' in these cases.  This fixes some bugs in the
74824         previous change, and is based on suggestions by Robert Millan.
74825
74826 2003-10-29  Paul Eggert  <eggert@twinsun.com>
74827
74828         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
74829         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
74830         no longer needed.
74831         * lib/quotearg.c (quotearg_n_options): Use it.
74832         * lib/group-member.c: Include <stdbool.h>.
74833         (free_group_info): Arg is now const *; don't free arg.
74834         (get_group_info): Now returns bool and accepts struct group_info *,
74835         rather than returning a malloc'ed struct group_info *.
74836         All uses changed.  Check for overflow in internal size calculation.
74837
74838         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
74839         rather than xmalloc/xrealloc.
74840         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
74841         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
74842         conformance bug: the old code used a pointer after freeing the
74843         storage that it addressed.
74844         * lib/hash.c (hash_initialize): Simplify the code by using
74845         xalloc_oversized rather than doing it by hand.
74846         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
74847         the buffer preserved.  Use free and xmalloc instead.
74848         * lib/quotearg.c (quotearg_n_options): Likewise.
74849         Use a simpler test for size overflow.  Don't use xalloc_oversized
74850         because unsigned int might be wider than size_t (!); this suggests
74851         that we should switch from unsigned int to size_t for slot numbers.
74852
74853 2003-10-28  Paul Eggert  <eggert@twinsun.com>
74854
74855         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
74856         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
74857         NetBSD kernels.  Requested by Richard Stallman.
74858
74859 2003-10-27  Paul Eggert  <eggert@twinsun.com>
74860
74861         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
74862         to allocate the returned structure.  Do not allocate a subarray,
74863         as x2nrealloc will do that.
74864         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
74865         instead of xnrealloc.
74866         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
74867
74868 2003-10-27  Bruno Haible  <bruno@clisp.org>
74869
74870         * lib/stdbool_.h: Better support for BeOS.
74871
74872 2003-10-26  Paul Eggert  <eggert@twinsun.com>
74873
74874         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
74875         now uses inline.
74876
74877 2003-10-26  Paul Eggert  <eggert@twinsun.com>
74878
74879         * lib/xalloc.h (xalloc_oversized): New static inline function, for
74880         callers that want to do their own size-overflow checking.  Include
74881         <stdbool.h>, since xalloc_oversized returns bool.
74882         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
74883         to use xalloc_oversized.
74884
74885         Add two functions x2realloc, x2nrealloc, for programs that grow
74886         arrays dynamically by doubling their sizes.
74887         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
74888         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
74889         New functions.
74890
74891         Port to C99 semantics for 'inline' of external functions.
74892         Bug reported by Bruno Haible.
74893         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
74894         with the old contents of xnmalloc.
74895         (xnmalloc, xmalloc): Use it.
74896         (xnrealloc_inline): New static inline function,
74897         with the old contents of xnrealloc.
74898         (xnrealloc, xrealloc): Use it.
74899
74900         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
74901         that.
74902
74903 2003-10-26  Karl Berry  <karl@gnu.org>
74904
74905         * config/srclist.txt (COPYING.DOC): no longer available from
74906         /gd/gnuorg; don't know where the ultimate source is.
74907
74908 2003-10-25  Paul Eggert  <eggert@twinsun.com>
74909
74910         Fix several address-calculation bugs in the hash modules,
74911         plus some minor code cleanup.
74912
74913         * lib/hash.h: Include <stdbool.h>, for bool.
74914         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
74915         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
74916         hash_get_n_entries, hash_get_max_bucket_length,
74917         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
74918         hash_rehash): Use size_t rather than unsigned.
74919         * lib/hash.c (struct hash_table, hash_get_n_buckets,
74920         hash_get_n_buckets_used, hash_get_n_entries,
74921         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
74922         hash_get_entries, hash_do_for_each, hash_string, is_prime,
74923         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
74924         Likewise.
74925         (SIZE_MAX): Define if not defined.
74926         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
74927         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
74928         hash_print):
74929         Use const * when possible.
74930         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
74931         (check_tuning): Fix bug: if tuning parameters were very close to
74932         0 or 1, rounding errors could have caused subscript violations.
74933         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
74934         (hash_initialize): Add 'fail:' label
74935         to free table and return NULL, and use it to simplify code.
74936         Use calloc rather than clearing the storage ourself.
74937         (hash_initialize, hash_rehash): Check for arithmetic overflow in
74938         buffer size calculations.
74939         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
74940         Include <stddef.h>, for size_t.
74941         * lib/hash-pjw.c (hash_pjw): Likewise.
74942         Switch to method described by Bruno Haible.
74943         Include <limits.h>, for CHAR_BIT.
74944         (SIZE_BITS): New macro.
74945
74946 2003-10-23  Paul Eggert  <eggert@twinsun.com>
74947
74948         * m4/getline.m4 (AM_FUNC_GETLINE):
74949         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
74950         hosts.  Problem reported by Derek Robert Price in
74951         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
74952         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
74953         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
74954
74955 2003-10-21  Paul Eggert  <eggert@twinsun.com>
74956
74957         * lib/getndelim2.c (getndelim2): When size calculation overflows,
74958         ceiling the allocation at NMAX bytes rather than silently
74959         discarding input bytes before NMAX is reached.  This makes
74960         a difference only if NMAX exceeds SIZE_MAX / 2.
74961
74962         * lib/obstack.c: Merge from glibc.
74963         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
74964         Add libc_hidden_def (_obstack_newchunk).
74965         (_obstack_free) [! defined _LIBC]: Remove.
74966         [defined _LIBC]: Make a strong alias from obstack_free, rather than
74967         a clone of the function body.
74968         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
74969         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
74970
74971         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
74972         glibc.
74973         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
74974         arg to memcpy.
74975
74976         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
74977         (obstack_ptr_grow_fast, obstack_int_grow_fast):
74978         Don't use lvalue casts, as GCC plans to remove support for them
74979         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
74980         was also present in the non-GCC version, indicating that this
74981         code had always been buggy and had never been widely used.
74982         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
74983         Use the fast variant of each macro, rather than copying the
74984         definiens of the fast variant; that way, we'll be more likely to
74985         catch future bugs in the fast variants.
74986
74987 2003-10-20  Bruno Haible  <bruno@clisp.org>
74988
74989         * modules/wait-process: New file.
74990         * MODULES.html.sh (func_all_modules): Add wait-process.
74991
74992 2003-10-20  Bruno Haible  <bruno@clisp.org>
74993
74994         * m4/wait-process.m4: New file.
74995
74996 2003-10-20  Bruno Haible  <bruno@clisp.org>
74997
74998         * lib/wait-process.h: New file, from GNU gettext.
74999         * lib/wait-process.c: New file, from GNU gettext.
75000
75001 2003-10-19  Jim Meyering  <jim@meyering.net>
75002
75003         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
75004         HPUX 10.20.
75005
75006 2003-10-18  Karl Berry  <karl@gnu.org>
75007
75008         * config/config.guess: update from config.
75009
75010 2003-10-16  Paul Eggert  <eggert@twinsun.com>
75011
75012         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
75013         (getgroups): First arg is int, not size_t.
75014         Don't let 'free' mangle errno.
75015
75016 2003-10-16  Paul Eggert  <eggert@twinsun.com>
75017
75018         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
75019
75020 2003-10-16  Karl Berry  <karl@gnu.org>
75021
75022         * config/config.{guess,sub}: update from config.
75023
75024 2003-10-16  Jim Meyering  <jim@meyering.net>
75025
75026         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
75027         memcpy.
75028
75029 2003-10-15  Paul Eggert  <eggert@twinsun.com>
75030
75031         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
75032         (SIZE_MAX): Remove.
75033         (new_exclude, add_exclude_file): Initial size no longer needs to
75034         be a power of 2.
75035         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
75036         our own address arithmetic overflow checking.
75037
75038         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
75039         (fnmatch): Do not alloca more than 2000 wide characters;
75040         instead, use malloc for large buffers.
75041         Check for address arithmetic overflow, and return -1
75042         with errno set to ENOMEM in that case.
75043         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
75044         (NEW_PATTERN): Do not alloca more than 8000 bytes;
75045         instead, return -1.  Check for address arithmetic overflow.
75046
75047 2003-10-14  Paul Eggert  <eggert@twinsun.com>
75048
75049         Handle invalid suffixes and overflow independently, so that
75050         callers can treat them independently as needed.  Fix some bugs in
75051         suffix handling, e.g., "100k@" was not diagnosed as an invalid
75052         suffix for a human-readable blocksize.  The major caller-visible
75053         change is the addition of a new
75054         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
75055         that both overflow and suffix chars were found.
75056
75057         * lib/human.c (humblock): Don't check separately for invalid suffix
75058         char; that is xstrtoumax's job (now that its bug is fixed).
75059         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
75060         INTMAX_MAX]: New macros.
75061         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
75062         TYPE_MAXIMUM): New macros.
75063         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
75064         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
75065         if overflow occurs, as it's what __strtol does and it's more useful
75066         in practice.
75067         (__xstrtol): If __strtol reports some error other than ERANGE,
75068         reflect it to the caller as LONGINT_INVALID.  If it reports
75069         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
75070         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
75071         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
75072         value.
75073         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
75074         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
75075         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
75076         [defined UINTMAX_MAX]: New macros.
75077
75078 2003-10-14  Bruno Haible  <bruno@clisp.org>
75079
75080         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
75081
75082 2003-10-14  Bruno Haible  <bruno@clisp.org>
75083
75084         * m4/sig_atomic_t: New file, from GNU gettext.
75085         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
75086
75087 2003-10-14  Bruno Haible  <bruno@clisp.org>
75088
75089         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
75090         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
75091         Also use volatile where needed.
75092
75093 2003-10-12  Paul Eggert  <eggert@twinsun.com>
75094
75095         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
75096         Change maintainer from Bruno Haible to 'all'.
75097
75098 2003-10-12  Paul Eggert  <eggert@twinsun.com>
75099
75100         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
75101
75102 2003-10-12  Paul Eggert  <eggert@twinsun.com>
75103
75104         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
75105         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
75106         and define in terms of the other primitives.
75107         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
75108         (SIZE_MAX): Define if not already defined.
75109         (array_size_overflow): New function.
75110         (xalloc_die): Abort instead of exiting if 'error' returns.
75111         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
75112         (xmalloc, xrealloc): Use them.
75113         (xcalloc): Check for address arithmetic overflow.
75114         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
75115         a bit faster than strcpy.
75116
75117 2003-10-10  Simon Josefsson  <jas@extundo.com>
75118
75119         * modules/argp (Depends-on): Add restrict and strcase.
75120
75121 2003-10-10  Simon Josefsson  <jas@extundo.com>
75122
75123         * m4/argp.m4: Add AC_C_INLINE.
75124
75125 2003-10-08  Paul Eggert  <eggert@twinsun.com>
75126
75127         Merge getpass from libc, plus a few fixes.
75128
75129         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
75130         Include <stdbool.h>.
75131         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
75132         __fsetlocking to empty.
75133         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
75134         do include <bits/libc-lock.h>.
75135         Do not include <fcntl.h>; not needed.
75136         [_LIBC]: Include <wchar.h>.
75137         (NOTCANCEL_MODE): New macro.
75138         (flockfile, funlockfile) [_LIBC]: New macros.
75139         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
75140         [!_LIBC]: New macros.
75141         (call_fclose): New function.
75142         (getpass): Use it.  Save tty stream separately; this simplifies the
75143         code and makes it more reliable if stdin happens to equal stdout.
75144         Invoke __fsetlocking on tty.
75145         Handle thread cancellation if needed.
75146         Namespace cleanup (use __tcgetattr, __getline).
75147         Use bool for Booleans.
75148         [USE_IN_LIBIO]: Handle wide streams.
75149         [!_LIBC]: Unconditionally do the fseek, since we don't know what
75150         stream might go where.
75151
75152         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
75153         doesn't have to include <stdio.h> before us.
75154         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
75155         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
75156         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
75157         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
75158         if not declared, so that we can use getpass.c code from libc without
75159         rewriting it.
75160         (flockfile, ftrylockfile, funlockfile): New macros.
75161
75162 2003-10-08  Paul Eggert  <eggert@twinsun.com>
75163
75164         * modules/getpass: Depend on stdbool.
75165
75166 2003-10-08  Paul Eggert  <eggert@twinsun.com>
75167
75168         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
75169
75170 2003-10-07  Karl Berry  <karl@gnu.org>
75171
75172         * config/config.{guess,sub}: update from config.
75173
75174 2003-10-06  Jim Meyering  <jim@meyering.net>
75175             Bruno Haible  <bruno@clisp.org>
75176
75177         This lets translators provide better translations for the
75178         "Written by ..." part of --version output.
75179         * lib/version-etc.h: Include stdarg.h.
75180         (version_etc_copyright): Declare as readonly.
75181         (version_etc): Make this function variadic with a NULL-terminated list
75182         of author name strings.
75183         (version_etc_va): New declaration.
75184         * lib/version-etc.c: Include stdarg.h, stdlib.h.
75185         (version_etc_copyright): Declare as readonly.
75186         (version_etc_va): New function. Provide a different translatable string
75187         for each possible number of authors < 10. Abbreviate when there are 10
75188         authors or more.
75189         (version_etc): Make this function variadic. Call version_etc_va.
75190         Suggestion from Gary V. Vaughan.
75191
75192         * lib/long-options.h (parse_long_options): Change prototype: the
75193         authors string is moved to the end and becomes variadic.
75194         * lib/long-options.c: Include stdarg.h.
75195         (parse_long_options): Make this function variadic, too.
75196         Call version_etc_va, not version_etc.
75197
75198 2003-10-06  Bruno Haible  <bruno@clisp.org>
75199
75200         * modules/version-etc-2: Remove file.
75201         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
75202
75203 2003-10-06  Bruno Haible  <bruno@clisp.org>
75204
75205         * modules/fatal-signal: New file.
75206         * MODULES.html.sh (func_all_modules): Add fatal-signal.
75207
75208 2003-10-06  Bruno Haible  <bruno@clisp.org>
75209
75210         * m4/fatal-signal.m4: New file.
75211         * m4/signalblocking.m4: New file, from GNU gettext.
75212
75213 2003-10-06  Bruno Haible  <bruno@clisp.org>
75214
75215         * lib/version-etc-2.h: Remove file.
75216         * lib/version-etc-2.c: Remove file.
75217
75218 2003-10-06  Bruno Haible  <bruno@clisp.org>
75219
75220         * lib/fatal-signal.h: New file, from GNU gettext.
75221         * lib/fatal-signal.c: New file, from GNU gettext.
75222
75223 2003-10-05  Paul Eggert  <eggert@twinsun.com>
75224
75225         * README: Rework advice for preventing empty .o files.
75226         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
75227         not <sys/types.h>.
75228
75229 2003-10-04  Karl Berry  <karl@gnu.org>
75230
75231         * lib/argp*: update from libc.
75232
75233 2003-10-04  Karl Berry  <karl@gnu.org>
75234
75235         * config/config.{guess,sub}: update from config.
75236
75237 2003-10-02  Bruno Haible  <bruno@clisp.org>
75238
75239         * modules/lchown (Include): Add lchown.h.
75240         * modules/time_r (Include): Use "..." syntax.
75241         * modules/xgetdomainname (Include): Add xgetdomainname.h.
75242
75243 2003-10-01  Simon Josefsson  <jas@extundo.com>
75244
75245         * MODULES.html.sh (func_all_modules): Move gethostname from section
75246         'based on' to section 'lacking' POSIX:2001.
75247
75248 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
75249
75250         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
75251         to output mode on the same stream.
75252
75253 2003-09-29  Paul Eggert  <eggert@twinsun.com>
75254
75255         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
75256         Fix arg typo in previous patch.
75257
75258 2003-09-28  Jim Meyering  <jim@meyering.net>
75259
75260         * lib/error.c: Correct cpp indentation.
75261
75262 2003-09-27  Paul Eggert  <eggert@twinsun.com>
75263
75264         * modules/free: New file.
75265
75266 2003-09-27  Paul Eggert  <eggert@twinsun.com>
75267
75268         * m4/free.m4: New file.
75269
75270 2003-09-27  Paul Eggert  <eggert@twinsun.com>
75271
75272         * lib/minmax.h (MIN, MAX)
75273         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
75274         Omit the special code that used __typeof__, since we worry that
75275         it could be more trouble than it's worth.  See:
75276         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
75277         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
75278
75279         * lib/free.c: New file.
75280
75281 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
75282
75283         Trivial fixes to Makefile.am parts of module listings.
75284         * modules/strstr: Append strstr.h to lib_SOURCES.
75285         * modules/strcase: Likewise, for strcase.h.
75286
75287 2003-09-27  Karl Berry  <karl@gnu.org>
75288
75289         * config/mkinstalldirs: update from automake.
75290
75291 2003-09-26  Paul Eggert  <eggert@twinsun.com>
75292
75293         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
75294         (error_tail): Do not loop, reallocating temporary buffer, since
75295         the output cannot contain more wide characters than the input
75296         contains bytes, the size must be big enough already.  This avoids
75297         one potential size overflow calculation.  Check for size overflow
75298         when calculating temporary buffer size.  Free temporary buffer
75299         when done, if it was allocated with malloc; this plugs a memory
75300         leak.  Remove casts from void * to pointers, that are no longer
75301         needed now that we're assuming C89 or better.
75302
75303         Merge error changes from glibc.
75304
75305         * lib/error.c, error.h: Update copyright notice header to match glibc.
75306         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
75307         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
75308         Disable cancellation while printing error.
75309         * lib/error.h: Prepend __ to parameter names.
75310
75311 2003-09-26  Jim Meyering  <jim@meyering.net>
75312
75313         * lib/error.c (error_tail): Move some declarations
75314         into inner scope where the local variables are used.
75315
75316 2003-09-26  Bruno Haible  <bruno@clisp.org>
75317
75318         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
75319         stpncpy().
75320         Don't define stpncpy through config.h; it's now done through stpncpy.h.
75321
75322 2003-09-26  Bruno Haible  <bruno@clisp.org>
75323
75324         * lib/stpncpy.h (gnu_stpncpy): New declaration.
75325         (stpncpy): Define as alias for gnu_stpncpy.
75326         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
75327
75328 2003-09-25  Simon Josefsson  <jas@extundo.com>
75329
75330         * lib/xgetdomainname.h: New file.
75331         * lib/xgetdomainname.c: New file.
75332
75333 2003-09-25  Simon Josefsson  <jas@extundo.com>
75334             Bruno Haible  <bruno@clisp.org>
75335
75336         * modules/getdomainname: New file.
75337         * modules/xgetdomainname: New file.
75338         * MODULES.html.sh (func_all_modules): Add getdomainname,
75339         xgetdomainname.
75340
75341 2003-09-25  Simon Josefsson  <jas@extundo.com>
75342             Bruno Haible  <bruno@clisp.org>
75343
75344         * m4/getdomainname.m4: New file.
75345
75346 2003-09-25  Simon Josefsson  <jas@extundo.com>
75347             Bruno Haible  <bruno@clisp.org>
75348
75349         * lib/getdomainname.h: New file.
75350         * lib/getdomainname.c: New file.
75351
75352 2003-09-25  Karl Berry  <karl@gnu.org>
75353
75354         * lib/argp-fmtstream.c, argp-help.c: update from libc.
75355
75356 2003-09-25  Karl Berry  <karl@gnu.org>
75357
75358         * config/install-sh: update from automake.
75359
75360 2003-09-25  Bruno Haible  <bruno@clisp.org>
75361
75362         * modules/version-etc-2: New file, from modules/version-etc with
75363         modifications.
75364         * MODULES.html.sh (func_all_modules): Add version-etc-2.
75365
75366 2003-09-25  Bruno Haible  <bruno@clisp.org>
75367
75368         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
75369         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
75370
75371 2003-09-24  Simon Josefsson  <jas@extundo.com>
75372
75373         * modules/xgethostname: Add xgethostname.h.
75374
75375 2003-09-24  Paul Eggert  <eggert@twinsun.com>
75376
75377         * lib/linebuffer.c (freebuffer): Don't free the argument, just
75378         the buffer associated with the argument.  Bug reported by
75379         Simon Josefsson.
75380
75381 2003-09-24  Paul Eggert  <eggert@twinsun.com>
75382
75383         * README: Document assumptions that 'int' is at least 32 bits
75384         wide, that integer arithmetic is 2's complement without overflow,
75385         that there are no holes in integer values, that adding sizes of
75386         two nonoverlapping objects can't overflow, and that all-bits-zero
75387         yields scalar zero.  Fix spelling and capitalization typos.
75388
75389 2003-09-19  Karl Berry  <karl@gnu.org>
75390
75391         * lib/argp.h: update from libc.
75392
75393 2003-09-17  Paul Eggert  <eggert@twinsun.com>
75394
75395         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
75396         to avoid spurious warnings like "AC_RUN_IFELSE was called before
75397         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
75398
75399 2003-09-17  Paul Eggert  <eggert@twinsun.com>
75400
75401         * gnulib-tool: Use "test -h", not "test -L", for portability
75402         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
75403         (tags_regexp): Remove, since \| doesn't conform to POSIX.
75404         (sed_extract_prog): Issue s commands one-by-one, rather than
75405         using \| in one s command.
75406
75407 2003-09-16  Paul Eggert  <eggert@twinsun.com>
75408
75409         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
75410         input error, instead of returning NULL the next time we are called
75411         (and therefore losing track of errno).
75412
75413 2003-09-16  Bruno Haible  <bruno@clisp.org>
75414
75415         * gnulib-tool (func_create_testdir): Warn about duplicated
75416         dependencies.
75417
75418 2003-09-15  Paul Eggert  <eggert@twinsun.com>
75419
75420         * modules/argmatch, modules/fatal, modules/obstack,
75421         modules/xalloc, modules/xgethostname: Sort dependencies by
75422         importance, not alphabetically.
75423
75424 2003-09-15  Paul Eggert  <eggert@twinsun.com>
75425
75426         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
75427         fails, so that the caller gets the proper errno.
75428
75429         * lib/readutmp.c (read_utmp): Likewise.
75430         Check for fstat error.  Close stream and free storage
75431         when failing.
75432
75433 2003-09-14  Karl Berry  <karl@gnu.org>
75434
75435         * config/srclist.txt (strdup.c): disable for c89 changes.
75436
75437 2003-09-14  Jim Meyering  <jim@meyering.net>
75438
75439         * lib/getloadavg.c: Correct cpp indentation.
75440         * lib/strdup.c: Likewise.
75441         * lib/vasnprintf.c: Likewise.
75442
75443 2003-09-14  Bruno Haible  <bruno@clisp.org>
75444
75445         * modules/fwriteerror: New file.
75446         * MODULES.html.sh (func_all_modules): Add fwriteerror.
75447
75448 2003-09-14  Bruno Haible  <bruno@clisp.org>
75449
75450         * lib/fwriteerror.h: New file.
75451         * lib/fwriteerror.c: New file.
75452
75453 2003-09-12  Paul Eggert  <eggert@twinsun.com>
75454
75455         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
75456         modules/xgethostname, modules/xalloc: Depend on exit.
75457
75458 2003-09-12  Paul Eggert  <eggert@twinsun.com>
75459
75460         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
75461
75462         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
75463         and AC_MINIX, too, so that their extensions are available.
75464
75465         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
75466         This macro has been superseded by gl_BACKUPFILE.
75467
75468         More patches to assume C89 or better.
75469
75470         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
75471
75472         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
75473         unconditionally.
75474         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
75475         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
75476         Include <string.h>, <stdlib.h> unconditionally.
75477         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
75478         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
75479         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
75480         headers or for string.h.
75481         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
75482         or strtoul.
75483
75484         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
75485         headers.
75486         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
75487         * m4/userspec.m4 (gl_USERSPEC): Likewise.
75488         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
75489         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
75490         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
75491         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
75492         memcpy, memset.
75493         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
75494         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
75495         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
75496         strtol.
75497         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
75498         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
75499         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
75500         strtoul.
75501
75502 2003-09-12  Paul Eggert  <eggert@twinsun.com>
75503
75504         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
75505         * lib/obstack.c [!defined _LIBC]: Likewise.
75506         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
75507         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
75508         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
75509
75510         More changes to assume C89 or better.
75511
75512         * lib/error.c (error_tail): Assume vprintf.
75513
75514         * lib/argmatch.c (getenv): Remove decl.
75515         * lib/progreloc.c (get_full_program_name): Define via prototype.
75516         * lib/setenv.c (clearenv): Likewise.
75517         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
75518         needed.
75519         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
75520         (malloc, memcpy): Remove decls.
75521         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
75522         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
75523         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
75524         (memcpy): Remove macro.
75525         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
75526         (__P): Remove.  All uses removed.
75527         (PTR): Remove.  All uses changed to void *.
75528         (CHAR_BIT, NULL): Remove.
75529         (spaces, zeros, memset_space, memset_zero)
75530         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
75531         Remove.
75532         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
75533         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
75534         Define with prototype.
75535         Remove now-unnecessary prototype decl.
75536         (extra_args_spec): Assume ANSI C.  All uses changed.
75537         (extra_args_spec_iso): Remove.
75538         (my_strftime, emacs_strftimeu): Define via prototype.
75539         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
75540         unconditionally.
75541         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
75542         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
75543         (strtoul, strtol): Remove decls.
75544         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
75545         LONG_MAX): Remove.
75546         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
75547         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
75548         (LOCALE_PARAM_PROTO): New macro.
75549         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
75550         (INTERNAL (strtol), strtol): Define with a prototype.
75551         (PARAMS): Remove.  All uses removed.
75552         * lib/tempname.c: Include <string.h> unconditionally.
75553         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
75554         * lib/xgethostname.c (main): Define with a prototype.
75555         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
75556         Include <stdlib.h> unconditionally.
75557         (calloc, malloc, realloc, free): Remove decls.
75558         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
75559         Include <stdlib.h> unconditionally.  Sort include file names.
75560         (strtod): Remove.
75561         (xstrtod): Define with a prototype.
75562         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
75563         (strtol, strtoul): Remove decls.
75564
75565 2003-09-11  Paul Eggert  <eggert@twinsun.com>
75566
75567         More patches to assume C89 or better.
75568         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
75569         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
75570         string.h, memchr, STDC_HEADERS.
75571
75572 2003-09-11  Paul Eggert  <eggert@twinsun.com>
75573
75574         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
75575         Include <stdlib.h>, <string.h> unconditionally.
75576         Remove now-unnecessary cast to char *.
75577         * lib/strnlen.c: Include <string.h> unconditionally.
75578         * lib/yesno.c (yesno): Define with a prototype.
75579
75580 2003-09-11  Bruno Haible  <bruno@clisp.org>
75581
75582         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
75583
75584 2003-09-10  Jim Meyering  <jim@meyering.net>
75585
75586         * lib/error.c: Correct indentation of cpp directives.
75587
75588 2003-09-10  Bruno Haible  <bruno@clisp.org>
75589
75590         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
75591         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
75592         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
75593         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
75594         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
75595         <stdlib.h> and <string.h> checks.
75596         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
75597         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
75598
75599 2003-09-10  Bruno Haible  <bruno@clisp.org>
75600
75601         * lib/strcspn.c: Include <string.h> unconditionally.
75602         * lib/strpbrk.c: Include <string.h> unconditionally.
75603         * lib/strstr.c: Include <string.h> unconditionally.
75604         * lib/unicodeio.c: Include <string.h> unconditionally.
75605         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
75606         * lib/unsetenv.c: Likewise.
75607         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
75608         * lib/yesno.c: Include <stdlib.h> unconditionally.
75609         (rpmatch): Add prototype.
75610
75611 2003-09-09  Paul Eggert  <eggert@twinsun.com>
75612
75613         More patches to assume C89 or better.
75614         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
75615         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
75616         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
75617         or for string.h.
75618         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
75619         stdlib.h.
75620         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
75621         C headers.
75622         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
75623         string.h.
75624         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
75625         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
75626         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
75627         or for string.h.
75628         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
75629         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
75630         C headers.
75631         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
75632         memcpy.
75633         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
75634         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
75635         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
75636         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
75637         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
75638         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
75639         string.h, free.
75640         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
75641         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
75642         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
75643         C headers, or for string.h.
75644         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
75645         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
75646         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
75647         headers, memory.h, stdlib.h, string.h, strings.h.
75648         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
75649         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
75650         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
75651         strchr.
75652         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
75653         headers, memory.h, string.h.
75654         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
75655         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
75656         free.
75657         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
75658         headers.
75659         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
75660         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
75661         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
75662         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
75663         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
75664
75665 2003-09-09  Paul Eggert  <eggert@twinsun.com>
75666
75667         More K&R removal.
75668
75669         * lib/acosl.c (main): Use a prototype.
75670         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
75671         tanl.c: Likewise.
75672
75673         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
75674
75675         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
75676         (getopt, etopt_long, getopt_long_only, _getopt_internal)
75677         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
75678         with a prototype.
75679         * lib/getopt.c (const): Remove macro.
75680         Include <string.h> unconditionally.
75681         (my_index): Remove; all uses changed to strchr.
75682         (strlen): Remove decl.
75683         (exchange): Remove forward decl; no longer needed.
75684         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
75685         Define with prototype.
75686         * lib/getopt1.c (const): Remove macro.
75687         (getopt_long, getopt_long_only, main): Define with prototype.
75688
75689         * lib/getugroups.c: Include <string.h> unconditionally.
75690
75691         * lib/getusershell.c: Include <stdlib.h> unconditionally.
75692         (getusershell, setusershell, endusershell, readname, main):
75693         Define with prototypes.
75694
75695         * lib/group-member.c: Include group-member.h first.
75696         Include <stdlib.h> unconditionally.
75697
75698         * lib/hard-locale.c: Include hard-locale.h first.
75699         Include <stdlib.h>, <string.h> unconditionally.
75700
75701         * lib/hash.c (free, malloc): Remove decls.
75702         Include <stdlib.h> unconditionally.
75703
75704         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
75705         (getenv): Do not declare.
75706
75707         * lib/idcache.c: Include <string.h> unconditionally.
75708
75709         * lib/long-options.c: Include long-options.h first, to test interface.
75710         Include <stdlib.h> unconditionally.
75711
75712         * lib/makepath.c: Include makepath.h first, to test interface.
75713         Include <stdlib.h> and <string.h> unconditionally.
75714
75715         * lib/linebuffer.c: Include <stdlib.h>.
75716         (free): Remove decl.
75717
75718         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
75719         stddef.h. rpl_malloc returns void *, not char *.
75720         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
75721         prototype.
75722
75723         * lib/md5.h: Include <limits.h> unconditionally.
75724         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
75725         (__P): Remove; all uses removed.
75726         * lib/md5.c: Include "md5.h" first.
75727         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
75728         md5_buffer, md5_process_bytes, md5_process_block):
75729         Define with prototypes.
75730         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
75731         * lib/sha.c: Include "sha.h" first.
75732         Include <stdlib.h>, <string.h> unconditionally.
75733
75734         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
75735         * lib/memcmp.c (__ptr_t): Likewise.
75736         * lib/memrchr.c (__ptr_t): Likewise.
75737         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
75738         Include <string.h> unconditionally.
75739         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
75740         * lib/memchr.c: Include <stdlib.h> unconditionally.
75741         * lib/memchr.c (LONG_MAX): Remove.
75742         * lib/memrchr.c (LONG_MAX): Likewise.
75743         * lib/memchr.c (__memchr): Define via a prototype.
75744         * lib/memrchr.c (__memrchr): Likewise.
75745         * lib/memcmp.c (__P): Remove, and remove all uses.
75746         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
75747         Remove forward decls; no longer needed.
75748         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
75749         Use types required by C89 in prototype.
75750
75751         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
75752         * lib/savedir.c: Likewise.
75753         * lib/mkdir.c (free): Remove decl.
75754         * lib/rmdir.c (rmdir): Define with a prototype.
75755         * lib/savedir.c: Include savedir.h first, to test interface.
75756
75757         * lib/mktime.c (STDC_HEADERS): Remove.
75758         Include <stdlib.h>, <string.h> unconditionally.
75759
75760         * lib/modechange.c: Include <stdlib.h> unconditionally.
75761         (malloc): Remove decl.
75762
75763         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
75764         (free): Remove decl.
75765
75766         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
75767         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
75768         (This type really should be intptr_t, but that's a C99ism.)
75769         (_obstack_memcpy): Remove: all uses changed to memcpy.
75770         Include <string.h> unconditionally.
75771         (struct obstack): Assume __STDC__ for types of members
75772         chunkfun, freefun, extra_arg.
75773         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
75774         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
75775         obstack_begin, obstack_specify_allocation,
75776         obstack_specify_allocation_with_arg, obstack_chunkfun,
75777         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
75778         Remove unprototyped decls and the macros that use them.
75779         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
75780         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
75781         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
75782         (defined __STDC__ && __STDC__)]:
75783         Remove nonprototyped code.
75784         Include <stdlib.h> unconditionally.
75785         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
75786         _obstack_allocated_p, _obstack_free, obstack_free,
75787         _obstack_memory_used, print_and_abort):
75788         Define using prototypes.
75789         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
75790         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
75791         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
75792         obstack_next_free, obstack_object_size, obstack_room) [0]:
75793         Remove unused, unprototyped code.
75794
75795         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
75796
75797         * lib/physmem.c (physmem_total, physmem_available, main): Define
75798         with prototypes.
75799
75800         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
75801         (main): Define with a prototype.
75802
75803         * lib/posixver.c (getenv): Remove decl.
75804
75805         * lib/putenv.c (malloc): Returns void *, not char *.
75806         Include <string.h> unconditionally.
75807         (strchr, memcpy, NULL): Do not define.
75808
75809         * lib/readtokens.c: Include readtokens.h first, to test interface.
75810         Include <stdlib.h>, <string.h> unconditionally.
75811         (init_tokenbuffer): Define with a prototype.
75812
75813         * lib/regex.c (PARAMS): Remove.  All uses removed.
75814         All uses of _RE_ARGS removed, too.
75815         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
75816         unconditionally.
75817         (bzero): Assume memset exists.
75818         (memcmp, memcpy, NULL): Remove.
75819         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
75820         char, or assignments to local vars of type signed char.
75821         (init_syntax_once, PREFIX(extract_number_and_incr),
75822         PREFIX(print_partial_compiled_pattern),
75823         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
75824         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
75825         PREFIX(regex_grow_registers), PREFIX(regex_compile),
75826         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
75827         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
75828         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
75829         wcs_compile_range, byte_compile_range, truncate_wchar,
75830         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
75831         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
75832         count_mbs_length, wcs_re_match_2_internal,
75833         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
75834         PREFIX(alt_match_null_string_p),
75835         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
75836         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
75837         regfree, PREFIX(extract_number)): Define with prototype.  Remove
75838         now-unnecessary declaration, if any.
75839         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
75840         regcomp, regexec):
75841         Remove now-unnecessary casts among pointer types.
75842         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
75843
75844         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
75845         (free): Remove decl.
75846
75847         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
75848
75849         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
75850         (free): Remove decl.
75851
75852         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
75853         * lib/xgetcwd.c: Likewise.
75854
75855         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
75856         (free): Remove decl.
75857
75858         * lib/strchrnul.c (strchrnul): Define with a prototype.
75859         Fix bug: c_in was not converted to char before searching.
75860
75861         The following changes are not K&R related:
75862
75863         * lib/group-member.h: Include <sys/types.h>, so that this file is
75864         self-contained.
75865         * lib/makepath.h: Likewise.
75866
75867         * lib/getusershell.c (readname, default_index, line_size, readname):
75868         Use size_t, not int, for sizes.
75869         (readname): If the size overflows, report an error instead of
75870         looping forever.
75871
75872 2003-09-09  Paul Eggert  <eggert@twinsun.com>
75873
75874         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
75875         libc.
75876
75877 2003-09-09  Paul Eggert  <eggert@twinsun.com>
75878
75879         * README: New section: portability guidelines.
75880
75881 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
75882
75883         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
75884         C89 spec.
75885
75886 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
75887
75888         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
75889
75890 2003-09-08  Paul Eggert  <eggert@twinsun.com>
75891
75892         Assume C89 or better; remove K&R cruft.
75893         A few of these changes were first proposed by Derek Robert Price
75894         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
75895
75896         * lib/addext.c: Include <string.h> unconditionally.
75897         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
75898         Don't declare getenv or malloc.
75899
75900         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
75901         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
75902         (NULL): Remove.
75903         (find_stack_direction, alloca): Use prototypes.
75904
75905         * lib/atexit.c (atexit): Define using a prototype.
75906
75907         * lib/basename.c, dirname.c, stripslash.c:
75908         Include <string.h> unconditionally.
75909
75910         * lib/bcopy.c: Include <stddef.h>.
75911         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
75912
75913         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
75914
75915         * lib/error.h (error, error_at_line, error_print_progname)
75916         [! (defined (__STDC__) && __STDC__)]: Remove decls.
75917         * lib/error.c: Include error.h first, to check interface.
75918         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
75919         (VA_START): Remove; all uses changeed to va_start.
75920         (exit, strerror): Remove decls.
75921         (error_print_progname): Prototype uncondionally.
75922         Don't include <errno.h>; no longer needed.
75923         (private_strerror): Remove.
75924         (error_tail): Always define.
75925         (error, error_at_line): Assume C89 or better; always use prototypes.
75926         * lib/fatal.c: Include "fatal.h" first, to test interface.
75927         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
75928         (VA_START): Remove; all uses changed to va_start.
75929         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
75930         this case.
75931         (exit): Remove decl.
75932         (fatal): Prototype unconditionally.  Assume va_start works.
75933         Abort at end, to pacify gcc.
75934
75935         * lib/euidaccess.c (main): Define with a prototype.
75936
75937         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
75938
75939         * lib/exitfail.c: Include <stdlib.h> unconditionally.
75940
75941         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
75942         prototypes.
75943         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
75944         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
75945         (getenv): Remove decl.
75946         (fnmatch): Define using a prototype.
75947         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
75948         (FCT): Define using a prototype.
75949
75950         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
75951
75952         * lib/gethostname.c: Include <stddef.h>.
75953         (gethostname): Define with prototype.  Length is size_t, not int.
75954
75955 2003-09-08  Paul Eggert  <eggert@twinsun.com>
75956
75957         Assume C89 or better; remove K&R cruft.
75958         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
75959         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
75960         string.h, getenv, malloc.
75961         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
75962         headers.
75963         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
75964         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
75965         do not check for strerror.
75966         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
75967         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
75968         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
75969         do not check for doprnt or vprintf.
75970         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
75971         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
75972
75973 2003-09-08  Paul Eggert  <eggert@twinsun.com>
75974
75975         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
75976         getversion.c should have been removed then, but was accidentally
75977         preserved.
75978
75979         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
75980         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
75981
75982 2003-09-08  Karl Berry  <karl@gnu.org>
75983
75984         * config/config.sub, config.guess, srclistvars.sh: update from savannah
75985                 config, forget about prep.
75986
75987         * config/depcomp, missing: update from automake.
75988
75989 2003-09-07  Paul Eggert  <eggert@twinsun.com>
75990
75991         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
75992         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
75993
75994 2003-09-07  Paul Eggert  <eggert@twinsun.com>
75995
75996         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
75997         copy_tm_result.  Bug reported by Simon Josefsson in
75998         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
75999
76000 2003-09-06  Paul Eggert  <eggert@twinsun.com>
76001
76002         * m4/time_r.m4: New file.
76003         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
76004         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
76005         is. Check for timegm declaration.
76006         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
76007         Do not check for gmtime_r.
76008         Replace mktime if __mktime_internal does not exist and if mktime
76009         hasn't been replaced already.
76010
76011 2003-09-06  Paul Eggert  <eggert@twinsun.com>
76012
76013         * lib/time_r.c, lib/time_r.h: New files.
76014
76015         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
76016         __localtime_r.
76017         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
76018         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
76019
76020         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
76021         __gmtime_r.
76022         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
76023         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
76024         Include <time_r.h>.
76025
76026         * lib/timegm.c: Switch to glibc implementation, with the following
76027         changes:
76028         [defined HAVE_CONFIG_H]: Include <config.h>.
76029         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
76030         (__mktime_internal) [!defined _LIBC]: New decl.
76031         (__gmtime_r) [!defined _LIBC]: New macro and function.
76032         (timegm): Use a prototype, since gnulib assumes C89.
76033         Do not bother declaring tmp to be const, as it's not really usefu.
76034         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
76035         (timegm): Declare only if HAVE_DECL_TIMEGM.
76036
76037 2003-09-06  Paul Eggert  <eggert@twinsun.com>
76038
76039         * MODULES.html.sh (func_all_modules): Add time_r.
76040         * modules/time_r: New file.
76041         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
76042         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
76043
76044 2003-09-03  Paul Eggert  <eggert@twinsun.com>
76045
76046         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
76047         Bug reported by Lute Kamstra in
76048         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
76049
76050         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
76051         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
76052         course with correspondingly smaller numbers for tomorrow and
76053         yesterday.  From Tadayoshi Funaba.  Originally installed into
76054         sh-utils on 1999-08-07, but the patch got lost (I guess during the
76055         coreutils merge?).
76056
76057 2003-08-31  Simon Josefsson  <jas@extundo.com>
76058
76059         * modules/timegm: New file.
76060         * MODULES.html.sh (func_all_modules): Add timegm.
76061
76062 2003-08-31  Simon Josefsson  <jas@extundo.com>
76063
76064         * m4/timegm.m4: New file.
76065
76066 2003-08-31  Simon Josefsson  <jas@extundo.com>
76067
76068         * lib/timegm.h: New file.
76069         * lib/timegm.c: New file.  Based on
76070         wget-1.8.2/src/http.c:mktime_from_utc.
76071
76072 2003-08-31  Karl Berry  <karl@gnu.org>
76073
76074         * lib/argp.h: update from libc.
76075
76076 2003-08-28  Bruno Haible  <bruno@clisp.org>
76077
76078         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
76079         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
76080         followed by '#define fnmatch fnmatch_posix' gives an error.
76081
76082 2003-08-28  Bruno Haible  <bruno@clisp.org>
76083
76084         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
76085         warning on QNX, which defines O_BINARY to 000000.
76086
76087 2003-08-27  Jim Meyering  <jim@meyering.net>
76088
76089         * m4/mkstemp.m4: Require that the system mkstemp be able to create
76090         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
76091         would fail after 32.  Reported by Danny Levinson.  Details here:
76092         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
76093
76094 2003-08-24  Bruno Haible  <bruno@clisp.org>
76095
76096         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
76097         MSVC7 <stdio.h> is included later.
76098
76099 2003-08-22  Simon Josefsson  <jas@extundo.com>
76100
76101         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
76102
76103 2003-08-20  Karl Berry  <karl@gnu.org>
76104
76105         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
76106
76107 2003-08-20  Bruno Haible  <bruno@clisp.org>
76108
76109         * modules/progname: New file.
76110         * MODULES.html.sh (func_all_modules): Add progname.
76111
76112 2003-08-20  Bruno Haible  <bruno@clisp.org>
76113
76114         * lib/progname.h: New file, from GNU gettext.
76115         * lib/progname.c: New file, from GNU gettext.
76116         * lib/progreloc.c: New file, from GNU gettext.
76117
76118 2003-08-19  Jim Meyering  <jim@meyering.net>
76119
76120         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
76121         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
76122
76123 2003-08-19  Bruno Haible  <bruno@clisp.org>
76124
76125         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
76126         more.
76127
76128 2003-08-19  Bruno Haible  <bruno@clisp.org>
76129
76130         * lib/xstrdup.c: Assume <string.h> exists.
76131
76132 2003-08-18  Paul Eggert  <eggert@twinsun.com>
76133
76134         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
76135         in makefile rules.
76136
76137 2003-08-18  Jim Meyering  <jim@meyering.net>
76138
76139         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
76140         * m4/lib-ld.m4: Likewise.
76141
76142 2003-08-18  Jim Meyering  <jim@meyering.net>
76143
76144         * lib/setenv.h: Indent nested cpp directive.
76145         * lib/vasnprintf.c: Remove trailing blanks.
76146
76147 2003-08-17  Simon Josefsson  <jas@extundo.com>
76148
76149         * modules/xstrndup: New file.
76150         * MODULES.html.sh (func_all_modules): Add xstrndup.
76151
76152 2003-08-17  Simon Josefsson  <jas@extundo.com>
76153
76154         * modules/argp: Fix autoconf macro name. Add more dependencies.
76155
76156 2003-08-17  Simon Josefsson  <jas@extundo.com>
76157
76158         * m4/xstrndup.m4: New file.
76159
76160 2003-08-17  Simon Josefsson  <jas@extundo.com>
76161
76162         * m4/argp.m4: New file.
76163
76164 2003-08-17  Simon Josefsson  <jas@extundo.com>
76165             Bruno Haible  <bruno@clisp.org>
76166
76167         * lib/xstrndup.h: New file.
76168         * lib/xstrndup.c: New file.
76169
76170 2003-08-17  Bruno Haible  <bruno@clisp.org>
76171
76172         * modules/strndup (Files, Include): Add lib/strndup.h.
76173
76174 2003-08-17  Bruno Haible  <bruno@clisp.org>
76175
76176         * modules/euidaccess (Files): Add lib/euidaccess.h.
76177
76178 2003-08-17  Bruno Haible  <bruno@clisp.org>
76179
76180         * lib/strndup.h: New file.
76181
76182 2003-08-17  Bruno Haible  <bruno@clisp.org>
76183
76184         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
76185         like AC_GNU_SOURCE.
76186         * modules/extensions (configure.ac): Comment out the invocation of
76187         gl_USE_SYSTEM_EXTENSIONS.
76188
76189 2003-08-16  Paul Eggert  <eggert@twinsun.com>
76190
76191         Merges from coreutils, etc.
76192         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
76193         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
76194         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
76195         fixing a typo.
76196         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
76197         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
76198
76199 2003-08-16  Paul Eggert  <eggert@twinsun.com>
76200
76201         Document merge from coreutils.
76202         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
76203         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
76204         * modules/utime: Add m4/utimes-null.m4.
76205
76206 2003-08-16  Paul Eggert  <eggert@twinsun.com>
76207
76208         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
76209         space, undoing this 2003-08-12 change:
76210         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
76211
76212 2003-08-16  Paul Eggert  <eggert@twinsun.com>
76213
76214         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
76215         strtoul.c from libc, undoing this 2003-08-12 change:
76216         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
76217
76218 2003-08-16  Jim Meyering  <jim@meyering.net>
76219
76220         Merges from coreutils.
76221         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
76222         prefix.  Adjust cache variables similarly.  Create 500 rather than
76223         just 300 files, to exercise bug on Darwin6.5, too.
76224         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
76225         $missing_dir.
76226         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
76227         AM_SYS_POSIX_TERMIOS.
76228         Reported by mkc@mathdogs.com.
76229         Also change use of $am_cv_sys_posix_termios
76230         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
76231         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
76232         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
76233         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
76234         in /proc/mounts until it finds one with matching device number.  This
76235         is unnecessary when the FILE argument *is* a mount point.  No stat call
76236         is necessary in that case.  So, disable the statvfs-testing code on
76237         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
76238         as RedHat bug# 84846.
76239         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
76240         to 1MB, so as not to render systems with no stack size limit (e.g.,
76241         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
76242         Include <unistd.h>.  On some systems,
76243         it is required for the definition of _SC_PAGESIZE.
76244
76245 2003-08-16  Jim Meyering  <jim@meyering.net>
76246
76247         Merge from coreutils.
76248         * lib/xstrtoimax.c: #else #if -> #elif.
76249         * lib/xstrtoumax.c: Likewise.
76250
76251 2003-08-16  Jim Meyering  <jim@meyering.net>
76252
76253         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
76254         * m4/utimes.m4: Removed.
76255         * m4/utimes-null.m4: Renamed from utimes.m4.
76256
76257         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
76258         to 1MB, so as not to render systems with no stack size limit (e.g.,
76259         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
76260         Include <unistd.h>.  On some systems,
76261         it is required for the definition of _SC_PAGESIZE.
76262
76263 2003-08-16  Jim Meyering  <jim@meyering.net>
76264         and Paul Eggert  <eggert@cs.ucla.edu>
76265
76266         Merges from coreutils, etc.
76267
76268         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
76269         using the latest version from cvs.  This avoids problems with #line
76270         directives using a vendor (Sun) compiler.
76271         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
76272         Don't set GETGROUPS_LIB here; now it's
76273         done via getgroups.m4's wrapper function.
76274         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
76275         rather than just in sh-util/configure.in, so that the
76276         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
76277         same.
76278         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
76279         AC_FUNC_GETLOADAVG where to find getloadavg.c.
76280         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
76281         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
76282         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
76283         Remove code that is now done by the newly-required macros.
76284         Append $(EXEEXT) to DF_PROG.
76285         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
76286         Do not invoke or require the following here,
76287         since prereq.m4 or some gnulib .m4 now does this for us:
76288         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
76289         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
76290         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
76291         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
76292         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
76293         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
76294         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
76295         AC_FUNC_OBSTACK.
76296         Do not replace the following functions, as this is now the job
76297         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
76298         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
76299         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
76300         atexit getpass, strdup, getpagesize.
76301         Replace 'raise'.
76302         Do not check for the following functions, as this is now the job
76303         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
76304         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
76305         setregid.
76306         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
76307         Check for sys/sysctl.h.
76308         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
76309         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
76310         of checking for ssize_t ourselves.
76311
76312         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
76313         Require every macro that gnulib/modules/* suggests for us.
76314         (jm_PREREQ_ADDEXT): New macro.
76315         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
76316         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
76317
76318         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
76319         (gl_PHYSMEM): Use it.
76320         Also check for `table' function.
76321         Check for new headers and functions.
76322         Add check for sys/sysmp.h.
76323         With suggestions from Kaveh Ghazi.
76324         Ignore headers that are present but cannot be compiled.  This
76325         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
76326         C 5.4.
76327
76328 2003-08-15  Paul Eggert  <eggert@twinsun.com>
76329
76330         Document merge from coreutils.
76331         * modules/userspec: Depend on posixver.
76332         * modules/strftime: Depend on tzset.
76333
76334 2003-08-15  Paul Eggert  <eggert@twinsun.com>
76335
76336         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
76337         rather than tab, after '#' in shell-script copyright notices.
76338         Suggested by Bruno Haible.
76339
76340 2003-08-15  Paul Eggert  <eggert@twinsun.com>
76341
76342         * config/srclist-update: Use three spaces, rather than tab, after '#'
76343         in shell-script copyright notices.  Suggested by Bruno Haible.
76344         Remove unnecessary parenthesization in regular expression.
76345
76346 2003-08-15  Jim Meyering  <jim@meyering.net>
76347
76348         Merge from coreutils.
76349         * lib/xgethostname.c: Include <stdlib.h>.
76350         (xghostname): Don't exit for anything other than memory-related
76351         failure; just return NULL.
76352         * lib/userspec.c: Include "posixver.h".
76353         (parse_user_spec): Accept `.' as a separator only
76354         in pre-POSIX-200112 mode.
76355         * lib/strtoimax.c: Use #elif rather than #else #if.
76356         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
76357         Remove function, now that we can rely on a working tzset function.
76358         [!_LIBC]: Ensure that the required autoconf test has been run.
76359         [!defined _NL_CURRENT && HAVE_STRFTIME]:
76360         Use underlying_strftime for %r.
76361         * lib/sha.c: Merge in some clean-up and optimization changes from
76362         glibc.
76363         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
76364         Ensure that it is a multiple of 64.
76365         Rearrange loop exit tests so as to avoid performing an
76366         additional fread after encountering an error or EOF.
76367         * lib/realloc.c: Update copyright date.
76368
76369 2003-08-15  Jim Meyering  <jim@meyering.net>
76370         and Paul Eggert  <eggert@twinsun.com>
76371
76372         Merge from coreutils.
76373         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
76374         member but strut utmpx does not.  Needed for AIX 4.3.3.
76375         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
76376
76377 2003-08-15  Jim Meyering  <jim@meyering.net>
76378         and Paul Eggert  <eggert@cs.ucla.edu>
76379
76380         Merges from coreutils, etc.
76381         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
76382         Require gl_FUNC_TZSET_CLOBBER.
76383         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
76384         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
76385         members.
76386
76387 2003-08-14  Paul Eggert  <eggert@twinsun.com>
76388
76389         Help the merge from coreutils.
76390         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
76391         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
76392         * m4/tzset.m4: Use it too.
76393
76394 2003-08-14  Paul Eggert  <eggert@twinsun.com>
76395
76396         * modules/tzset: New file.
76397
76398 2003-08-14  Jim Meyering  <jim@meyering.net>
76399
76400         Merges from coreutils.
76401         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
76402         variable names, rather than @FNMATCH_H@.
76403         * modules/alloca: Likewise for $(ALLOCA_H).
76404
76405         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
76406         the three copies of the literal target, `fnmatch.h'.
76407         * modules/alloca (alloca.h): Likewise.
76408
76409 2003-08-14  Jim Meyering  <jim@meyering.net>
76410
76411         Merge from coreutils.
76412         * m4/tzset.m4: New file.
76413         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
76414         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
76415         otherwise, AIX 5.1 systems would end up using the latter.
76416         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
76417         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
76418         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
76419         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
76420
76421 2003-08-14  Jim Meyering  <jim@meyering.net>
76422
76423         Merge from coreutils.
76424         * lib/obstack.h: Whitespace changes.
76425         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
76426         and xcalloc return values.
76427         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
76428         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
76429         hang on OSF/1 5.1 for DIR on both local and remote file systems.
76430         Reported by (and fix confirmed by) Nelson H. F. Beebe.
76431         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
76432         error from mntctl.
76433         Use mntctl's return value to drive the entry-processing loop, since
76434         we can't rely on the value of the vmt_length member in the last
76435         entry.  On some systems doing so could result in exhausting
76436         virtual memory.  Based in part on a patch from Mike Jetzer.
76437
76438 2003-08-14  Jim Meyering  <jim@meyering.net>
76439         and Paul Eggert  <eggert@twinsun.com>
76440
76441         Merges from coreutils, plus other fixes.
76442         * lib/physmem.c: Merge in portability changes from gcc/libiberty
76443         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
76444         for credits and details.  Thanks to Kaveh Ghazi for helping
76445         to keep these files in sync.
76446         (ARRAY_SIZE): Define it.
76447         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
76448         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
76449         (memcasecmp): Don't assume size_t fits in unsigned int.
76450         Remove casts and duplicate code.
76451         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
76452         (memcpy): Remove definition.
76453         Merge in some clean-up and optimization changes from glibc.
76454         [BLOCKSIZE]: Move definition to top of file.
76455         Ensure that it is a multiple of 64.
76456         Rearrange loop exit tests so as to avoid performing an
76457         additional fread after encountering an error or EOF.
76458         * lib/md5.h (md5_uintptr): Define.
76459         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
76460         return to the initial working directory.  Preserve errno
76461         for caller.
76462         * lib/idcache.c: Include "xalloc.h".
76463         (xmalloc, xrealloc): Remove decls.
76464         (getuser): Remove casts no longer required in C89.
76465         * lib/human.c: Include stdio.h, for sprintf.
76466         * lib/group-member.c: Include "xalloc.h".
76467         (xmalloc, xrealloc): Remove decls.
76468         (get_group_info): Remove casts no longer required in C89.
76469         * lib/getusershell.c (readname): Remove casts no longer required in
76470         C89.
76471         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
76472         * lib/getline.c: Whitespace fix, from coreutils.
76473
76474 2003-08-13  Paul Eggert  <eggert@twinsun.com>
76475
76476         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
76477         Check for isascii.
76478
76479         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
76480         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
76481         Undo previous (whitespace-only) change.
76482
76483 2003-08-13  Paul Eggert  <eggert@twinsun.com>
76484
76485         * lib/exclude.c: Include <ctype.h>
76486         (IN_CTYPE_DOMAIN): New macro.
76487         (is_space): New fn.
76488         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
76489         and empty lines.
76490
76491         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
76492         Undo previous (whitespace-only) change.
76493
76494 2003-08-13  Paul Eggert  <eggert@twinsun.com>
76495
76496         * config/srclist-update: Change update back to the old behavior,
76497         leaving whitespace alone.  Use one 'sed' command rather than a
76498         pipeline.
76499         (fixlicense): Now a variable, not a function.
76500         (remove_trailing_blanks): Remove.
76501         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
76502         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
76503         Undo previous (whitespace-only) change.
76504
76505 2003-08-12  Paul Eggert  <eggert@twinsun.com>
76506
76507         Merge from coreutils.
76508         * modules/euidaccess: Add lib_SOURCES, include for new
76509         file euidaccess.h
76510
76511 2003-08-12  Paul Eggert  <eggert@twinsun.com>
76512
76513         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
76514         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
76515         Normalize leading white space and remove trailing white space.
76516
76517         Merge from coreutils
76518         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
76519
76520         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
76521         0.12.1.  These files are now being upgraded automatically by
76522         ../config/srclist-update.
76523
76524 2003-08-12  Paul Eggert  <eggert@twinsun.com>
76525
76526         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
76527         Normalize leading white space and remove trailing white space.
76528         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
76529         notice, as per ../config/srclist-update.
76530
76531         Merge from coreutils.
76532         * lib/euidaccess.h: New file.
76533         * lib/euidaccess.c: Include it.
76534         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
76535         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
76536         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
76537
76538 2003-08-12  Paul Eggert  <eggert@twinsun.com>
76539
76540         * config/srclist-update: Add copyright notice.
76541         (remove_id_lines, remove_trailing_blanks): New constants.
76542         (fixfile): Use them to normalize spacing a bit in copied files.
76543         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
76544         Normalize leading white space and remove trailing white space.
76545
76546         * config/texinfo.tex: Sync with texinfo.
76547
76548         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
76549         strtoul.c from libc, to merge coreutils whitespace changes.
76550
76551         * config/srclist.txt: Get the following m4 files from gettext:
76552         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
76553         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
76554         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
76555         wint_t.m4.
76556
76557 2003-08-12  Karl Berry  <karl@gnu.org>
76558
76559         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
76560         been made.
76561
76562 2003-08-11  Paul Eggert  <eggert@twinsun.com>
76563
76564         * modules/gnu-source, m4/gnu-source.m4:
76565         Remove; we're assuming Autoconf 2.54 or later now.
76566         Suggested by Bruno Haible.
76567         * MODULES.html.sh (func_all_modules): Remove gnu-source.
76568
76569 2003-08-11  Bruno Haible  <bruno@clisp.org>
76570
76571         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
76572
76573 2003-08-11  Bruno Haible  <bruno@clisp.org>
76574
76575         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
76576         (vasnprintf): Use it instead of wcslen.
76577
76578 2003-08-11  Bruno Haible  <bruno@clisp.org>
76579
76580         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
76581         value to ensure that _Bool promotes to int. Use #define for _Bool when
76582         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
76583
76584 2003-08-10  Karl Berry  <karl@gnu.org>
76585
76586         * lib/regex.h: update from libc (whitespace fix).
76587
76588 2003-08-09  Paul Eggert  <eggert@twinsun.com>
76589
76590         Merge some files from coreutils.  These changes were
76591         originally made by Jim Meyering.
76592         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
76593         many older Unixes require this.
76594         * lib/alloca.c (alloca): Remove cast to argument of free;
76595         no longer needed in C89.
76596         * lib/alloca_.h, regex.h: Fix white space to match
76597         what GNU indent does.
76598
76599 2003-08-09  Paul Eggert  <eggert@twinsun.com>
76600
76601         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
76602         apparently Emacs's Unicode mode got confused before my 2003-08-05
76603         checkin.
76604
76605 2003-08-08  Paul Eggert  <eggert@twinsun.com>
76606
76607         * m4/extensions.m4: New file.
76608         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
76609         Require gl_USE_SYSTEM_EXTENSIONS.
76610         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
76611         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
76612
76613 2003-08-08  Paul Eggert  <eggert@twinsun.com>
76614
76615         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
76616         * modules/extensions, modules/gnu-source: New files.
76617         * modules/timespec, modules/unlocked-io: Depend on extensions.
76618
76619 2003-08-07  Paul Eggert  <eggert@twinsun.com>
76620
76621         * modules/restrict: New file.
76622         * MODULES.html.sh (func_all_modules): Add restrict.
76623         * modules/regex: Depend on restrict.
76624
76625 2003-08-07  Paul Eggert  <eggert@twinsun.com>
76626
76627         * m4/restrict.m4: New file.
76628         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
76629
76630 2003-08-07  Bruno Haible  <bruno@clisp.org>
76631
76632         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
76633         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
76634
76635 2003-08-07  Bruno Haible  <bruno@clisp.org>
76636
76637         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
76638         makes the module 'getndelim2' compatible with the module 'getline'.
76639
76640 2003-08-05  Paul Eggert  <eggert@twinsun.com>
76641
76642         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
76643         byte with "\201" to avoid glitches when editing that source file
76644         with multi-gnome-terminal.
76645
76646 2003-08-05  Paul Eggert  <eggert@twinsun.com>
76647
76648         * lib/bumpalloc.h: Remove.
76649
76650 2003-08-05  Paul Eggert  <eggert@twinsun.com>
76651
76652         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
76653         * modules/bumpalloc: Remove.
76654
76655 2003-08-04  Paul Eggert  <eggert@twinsun.com>
76656
76657         * lib/getloadavg.c: Change copyright notice and spacing to conform to
76658         GNU coding style.
76659
76660         Merge from coreutils.
76661         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
76662         1. From glibc.
76663         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
76664         from Karl Berry, implemented by Jim Meyering.
76665         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
76666         from Dmitry V. Levin.
76667         Remove anachronistic cast of xrealloc.
76668         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
76669         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
76670         type. Otherwise, it wouldn't compile with at least /bin/cc on
76671         ymp-cray-unicos9.0.2.X.
76672         Combine two mostly-identical uses of alloca into one.
76673         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
76674
76675 2003-08-04  Dave Love  <d.love@dl.ac.uk>
76676
76677         [From Emacs.]
76678
76679         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
76680         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
76681         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
76682         obsolete NLIST_NAME_UNION.
76683         [__GNU__]: Undef BSD and FSCALE.
76684         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
76685
76686 2003-08-03  Paul Eggert  <eggert@twinsun.com>
76687
76688         * lib/stdbool_.h (_Bool): Make it signed char, instead of
76689         an enum type, so that it's guaranteed to promote to int.  See:
76690         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
76691
76692 2003-08-03  Karl Berry  <karl@gnu.org>
76693
76694         * config/depcomp: update from automake.
76695
76696 2003-07-31  Paul Eggert  <eggert@twinsun.com>
76697
76698         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
76699         (strerror): Don't assume that a printable int fits in 14 bytes.
76700
76701 2003-07-31  Bruno Haible  <bruno@clisp.org>
76702
76703         * modules/getpass-gnu: New file.
76704         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
76705
76706 2003-07-31  Bruno Haible  <bruno@clisp.org>
76707
76708         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
76709
76710 2003-07-24  Karl Berry  <karl@gnu.org>
76711
76712         * config/missing: update from automake.
76713
76714 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
76715             Bruno Haible  <bruno@clisp.org>
76716
76717         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
76718         * lib/getline.c (getline, getdelim): Likewise.
76719         Remove _GNU_SOURCE define; now it's defined in config.h through
76720         m4/getline.m4.
76721
76722 2003-07-23  Karl Berry  <karl@gnu.org>
76723
76724         * config/config.sub: update from prep.
76725
76726 2003-07-22  Paul Eggert  <eggert@twinsun.com>
76727
76728         * modules/xalloc (Depends-on): Add exitfail.
76729         * modules/xmemcoll: Likewise.
76730
76731 2003-07-22  Paul Eggert  <eggert@twinsun.com>
76732
76733         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
76734         over-parenthesization in macros.
76735
76736         Sync with coreutils.
76737
76738         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
76739         required by C99.
76740
76741         Use `exit_failure' for xalloc and xmemcoll instead of their own
76742         private exit-failure variables.
76743         * lib/xalloc.h (xalloc_exit_failure): Remove.
76744         * lib/xmalloc.c: Likewise.  Include exitfail.h.
76745         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
76746         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
76747         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
76748         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
76749
76750 2003-07-20  Jim Meyering  <jim@meyering.net>
76751
76752         * modules/closeout (Depends-on): Add exitfail.
76753         Suggestion from Bruno Haible.
76754
76755 2003-07-19  Karl Berry  <karl@gnu.org>
76756
76757         * config/config.sub: update from prep.
76758
76759 2003-07-18  Paul Eggert  <eggert@twinsun.com>
76760
76761         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
76762         Remove.
76763         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
76764         to test that it can stand by itself.  Include "exitfail.h".
76765         Clients should set exit_failure instead.
76766         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
76767
76768 2003-07-18  Bruno Haible  <bruno@clisp.org>
76769
76770         * modules/getndelim2: New file.
76771         * modules/getline: Share files with module getndelim2.
76772         * modules/getnline: Depend on getndelim2 instead of sharing files with
76773         it. Add getnline.c to lib_SOURCES.
76774         * MODULES.html.sh (func_all_modules): Add getndelim2.
76775
76776 2003-07-18  Bruno Haible  <bruno@clisp.org>
76777
76778         * m4/getndelim2.m4: New file.
76779         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
76780         invoke gl_PREREQ_GETNDELIM2.
76781         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
76782         gl_PREREQ_GETNDELIM2.
76783         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
76784         gl_GETNDELIM2.
76785
76786 2003-07-18  Bruno Haible  <bruno@clisp.org>
76787
76788         * lib/getndelim2.h: New file.
76789         * lib/getndelim2.c: Make into a module of its own. Include config.h,
76790         getndelim2.h.
76791         (getndelim2): Make non-static. Change return type to ssize_t.
76792         * lib/getline.h: Change argument names.
76793         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
76794         * lib/getnline.c: Include getndelim2.h.
76795
76796 2003-07-18  Andreas Schwab  <schwab@suse.de>
76797
76798         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
76799
76800 2003-07-17  Karl Berry  <karl@gnu.org>
76801
76802         * config/config.sub: update from prep.
76803
76804 2003-07-17  Bruno Haible  <bruno@clisp.org>
76805
76806         * modules/getnline: New file.
76807         * modules/getline: Add lib/getndelim2.c to source file list.
76808         * MODULES.html.sh (func_all_modules): Add getnline.
76809
76810 2003-07-17  Bruno Haible  <bruno@clisp.org>
76811
76812         * m4/getnline.m4: New file.
76813
76814 2003-07-17  Bruno Haible  <bruno@clisp.org>
76815
76816         * m4/Makefile.am.in: Remove file.
76817         * m4/Makefile.am: Remove file.
76818         * m4/Makefile.in: Remove file.
76819
76820 2003-07-17  Bruno Haible  <bruno@clisp.org>
76821
76822         * lib/getnline.h: New file.
76823         * lib/getnline.c: New file.
76824         * lib/getndelim2.c: New file, extracted from getline.c.
76825         (getndelim2): Renamed from getdelim2, with added nmax argument.
76826         * lib/getline.c: Include getndelim2.c.
76827         (getdelim2): Moved out to getndelim2.c.
76828         (getline, getdelim): Update.
76829
76830 2003-07-17  Bruno Haible  <bruno@clisp.org>
76831
76832         * lib/Makefile.am: Remove file.
76833         * lib/Makefile.in: Remove file.
76834
76835 2003-07-17  Bruno Haible  <bruno@clisp.org>
76836
76837         * configure.in: Remove file.
76838         * Makefile.in: Remove file.
76839
76840 2003-07-17  Bruno Haible  <bruno@clisp.org>
76841
76842         * MODULES.html.sh: Put the </BODY> right before </HTML>.
76843
76844 2003-07-16  Karl Berry  <karl@gnu.org>
76845
76846         * config/srclist-update: was running fixlicense twice, which caused
76847                 texinfo.tex to be nullified for some reason.  Simplify,
76848                 $gplsrc is no longer needed as far as I can see?
76849
76850 2003-07-16  Jim Meyering  <jim@meyering.net>
76851
76852         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
76853
76854 2003-07-15  Paul Eggert  <eggert@twinsun.com>
76855
76856         * config/srclist.txt: Get the following files from gettext-runtime/intl
76857         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
76858         ref-del.sin.  From Bruno Haible.
76859         * config/srclist-update (fixfile): Change grep pattern again, since the
76860         previous fix didn't work (there was another trailing $).  Use
76861         '[$]' to escape the $s.
76862
76863 2003-07-15  Karl Berry  <karl@gnu.org>
76864
76865         * lib/vasnprintf.c: update from gettext.
76866
76867 2003-07-15  Karl Berry  <karl@gnu.org>
76868
76869         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
76870         gets expanded when surrounded by '$'.
76871
76872 2003-07-15  Jim Meyering  <jim@meyering.net>
76873
76874         * modules/save-cwd: Don't depend on error.  From Derek Price.
76875
76876 2003-07-15  Jim Meyering  <jim@meyering.net>
76877
76878         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
76879
76880 2003-07-14  Simon Josefsson  <jas@extundo.com>
76881
76882         * modules/mempcpy: New file.
76883         * MODULES.html.sh (func_all_modules): Add mempcpy.
76884
76885 2003-07-14  Simon Josefsson  <jas@extundo.com>
76886
76887         * m4/mempcpy.m4: New file.
76888
76889 2003-07-14  Simon Josefsson  <jas@extundo.com>
76890
76891         * lib/mempcpy.h: New file.
76892         * lib/mempcpy.c: New file.
76893
76894 2003-07-14  Paul Eggert  <eggert@twinsun.com>
76895
76896         * modules/getdate, modules/posixtm: Depend on mktime.
76897
76898 2003-07-14  Paul Eggert  <eggert@twinsun.com>
76899
76900         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
76901         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
76902         unicodeio.c, unicodeio.h, unlocked-io.h:
76903         Switch from LGPL to GPL.
76904
76905 2003-07-14  Paul Eggert  <eggert@twinsun.com>
76906
76907         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
76908         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
76909         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
76910         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
76911         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
76912         updated automatically by ../config/srclist-update.  This changes
76913         their license from LPGL to GPL.
76914
76915 2003-07-14  Paul Eggert  <eggert@twinsun.com>
76916
76917         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
76918         assumed to refer to the root of the most recent stable gettext version.
76919         * config/srclistvars.sh: Add defaults for eggert.
76920         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
76921         Match "This program" as well as "The program".  This is needed
76922         for gettext.
76923
76924 2003-07-14  Jim Meyering  <jim@meyering.net>
76925
76926         Don't emit diagnostics.  Let callers do that.
76927         * lib/save-cwd.c: Don't include "error.h".
76928         (save_cwd): Don't call error.  Ensure that errno is valid
76929         when returning nonzero.
76930
76931         * lib/save-cwd.h (restore_cwd): Update prototype.
76932         * lib/save-cwd.c (restore_cwd): Remove two parameters.
76933         Simplify.  Don't call error upon failure.  Let callers do that.
76934         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
76935         when auditing is enabled.  But don't bother updating the #if.
76936
76937 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
76938
76939         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
76940         it breaks C++ compilation.
76941         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
76942
76943 2003-07-10  Simon Josefsson  <jas@extundo.com>
76944
76945         * modules/strchrnul (Makefile.am): Add strchrnul.h.
76946
76947 2003-07-10  Jim Meyering  <jim@meyering.net>
76948
76949         * m4/clock_time.m4: Remove trailing blank.
76950         * m4/intmax_t.m4: Likewise.
76951
76952 2003-07-10  Jim Meyering  <jim@meyering.net>
76953
76954         * lib/vasnprintf.c: Remove trailing blanks.
76955         Make cpp indentation consistent.
76956
76957 2003-07-09  Paul Eggert  <eggert@twinsun.com>
76958
76959         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
76960         posixver.c, strftime.c, strnlen.c, strverscmp.c:
76961         Switch from LGPL to GPL.
76962
76963 2003-07-09  Paul Eggert  <eggert@twinsun.com>
76964
76965         * config/srclist.txt: Sort sublists.  Add
76966         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
76967         that differ from gnulib for one reason or another; we'd like this list
76968         to be smaller but for now let's document what we have.
76969
76970 2003-07-08  Paul Eggert  <eggert@twinsun.com>
76971
76972         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
76973         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
76974         and sweeter "eval x=$x".
76975         * config/srclist.txt: Get lib/argp* from glibc.
76976
76977 2003-07-07  Paul Eggert  <eggert@twinsun.com>
76978
76979         * lib/mktime.c: Fix some boundary cases and remove need for floating
76980         point.
76981
76982         Issue a compile-time diagnostic if time_t is floating point, or if
76983         two's complement arithmetic is not in effect, or if arithmetic
76984         right shift does not propagate the sign.  These assumptions were
76985         all in the original code but they weren't checked.
76986
76987         (TIME_T_MIDPOINT, verify): New macros.
76988         (__isleap): Remove; it has integer overflow problems.
76989         (leapyear): New function, without those problems.
76990         (ydhms_tm_diff): Remove; splitting into two parts.
76991         (ydhms_diff): New function, containing the arithmetic part of
76992         the old ydhms_tm_diff function.  Issue a compile-time
76993         diagnostic if we are not using C99 integer division.
76994         Avoid casts when possible.
76995         (guess_time_tm): New function, containing the checking part of
76996         the old ydhms_tm_diff function.  Return the new value, rather than
76997         the difference between it and the old.  Accept a new argument T
76998         so that *T specifies the old value.  Check for overflow in the result.
76999
77000         (__mktime_internal): Use a time_t offset, not a long int offset.
77001         This undoes the 2003-06-04 change, which is no longer needed now
77002         that we have better overflow checking.
77003         (localtime_offset): Likewise.
77004
77005         (__mktime_internal): Avoid harmful overflow on hosts where time_t
77006         and long are 64-bit but int is only 32-bit.
77007         (ydhms_diff): Use long int to store year1 and yday1.
77008         Issue a compile-time diagnostic if long int is not wide enough.
77009
77010         (__mktime_internal): Use long int to store adjusted year and yday.
77011         Use plain C rather than preprocessor commands, if that doesn't
77012         affect efficiency.
77013         Check for overflow (and try to repair) after each probe
77014         rather than checking only at the very end.  This avoids some bugs
77015         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
77016         does not equal GMT offset at maximum time).
77017         Use integer to check for overflow rather than floating point; this
77018         is more portable to non-IEEE hosts, and is a tad faster.
77019         When we detect that we are oscillating between two values,
77020         don't check whether tm_isdst has the requested value, since
77021         we already know the answer.  When tm_isdst has the wrong value,
77022         use a different heuristic to find the right one, based on the
77023         extreme values actually observed in practice in tz2003a,
77024         rather than the (overly optimistic) "previous 3 calendar quarters".
77025
77026         (not_equal_tm, print_tm, check_result): Use "const T" rather than
77027         "T const" to accommodate glibc style.
77028         (check_result): Use less-confusing report format.  "long" -> "long int.
77029         (main): Likewise.
77030         Don't loop if the iteration overflows time_t.
77031         Allow a negative step in the iteration.
77032
77033 2003-07-06  Karl Berry  <karl@gnu.org>
77034
77035         * config/depcomp: update from automake.
77036         * config/config.sub: update from prep.
77037
77038 2003-07-03  Karl Berry  <karl@gnu.org>
77039
77040         * config/config.guess: update from prep.
77041
77042 2003-07-01  Paul Eggert  <eggert@twinsun.com>
77043
77044         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
77045         xreadlink.c now includes it unconditionally.
77046
77047 2003-07-01  Paul Eggert  <eggert@twinsun.com>
77048
77049         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
77050         having it depend on HAVE_SYS_TYPES_H.
77051
77052 2003-07-01  Bruno Haible  <bruno@clisp.org>
77053
77054         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
77055         <sys/types.h> should be sufficient.
77056         Reported by Paul Eggert.
77057
77058 2003-06-26  Karl Berry  <karl@gnu.org>
77059
77060         * config/depcomp: update from automake.
77061
77062 2003-06-26  Bruno Haible  <bruno@clisp.org>
77063
77064         * modules/human: Depend on module stdbool.
77065
77066 2003-06-25  Bruno Haible  <bruno@clisp.org>
77067
77068         * modules/readlink: New file.
77069         * modules/xreadlink: Depend on it.
77070         * MODULES.html.sh (func_all_modules): Add readlink.
77071
77072 2003-06-25  Bruno Haible  <bruno@clisp.org>
77073
77074         * m4/readlink.m4: New file.
77075
77076 2003-06-25  Bruno Haible  <bruno@clisp.org>
77077
77078         * lib/readlink.c: New file.
77079
77080 2003-06-22  Karl Berry  <karl@gnu.org>
77081
77082         * config/srclist.txt: update mkinstalldirs from automake.
77083         * config/mkinstalldirs: update.
77084
77085 2003-06-22  Bruno Haible  <bruno@clisp.org>
77086
77087         Portability to mingw32.
77088         * m4/ssize_t.m4: New file, from GNU gettext.
77089         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
77090         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
77091
77092 2003-06-22  Bruno Haible  <bruno@clisp.org>
77093
77094         * modules/safe-read: Add m4/ssize_t.m4.
77095         * modules/xreadlink: Add m4/ssize_t.m4.
77096
77097 2003-06-20  Bruno Haible  <bruno@clisp.org>
77098
77099         Assume C89, so PARAMS isn't needed.
77100         * lib/unicodeio.h (PARAMS): Remove.
77101         * lib/unicodeio.c: Don't use PARAMS.
77102
77103 2003-06-18  Karl Berry  <karl@gnu.org>
77104
77105         * config/config.{guess,sub}: update from prep.
77106
77107 2003-06-18  Jim Meyering  <jim@meyering.net>
77108
77109         Merge changes from coreutils.
77110         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
77111         Remove explicit declarations of xmalloc and realloc.
77112         Include xalloc.h.
77113         (read_utmp): Remove anachronistic cast of xmalloc.
77114
77115 2003-06-17  Paul Eggert  <eggert@twinsun.com>
77116
77117         Assume C89, so PARAMS isn't needed.
77118         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
77119         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
77120         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
77121         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
77122         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
77123         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
77124         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
77125         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
77126         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
77127         lib/xstrtod.h, lib/xstrtol.h: Likewise.
77128         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
77129         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
77130         no longer needed. Anyway, config.h should always be included before any
77131         other file.
77132
77133 2003-06-11  Simon Josefsson  <jas@extundo.com>
77134
77135         * modules/sysexits: New file.
77136         * MODULES.html.sh (func_all_modules): Add sysexits.
77137
77138 2003-06-11  Simon Josefsson  <jas@extundo.com>
77139
77140         * lib/sysexit_.h: New file.
77141
77142 2003-06-11  Derek Price  <derek@ximbiot.com>
77143
77144         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
77145         necessary.
77146
77147 2003-06-11  Bruno Haible  <bruno@clisp.org>
77148
77149         * m4/sysexits.m4: New file.
77150
77151 2003-06-10  Simon Josefsson  <jas@extundo.com>
77152
77153         * lib/argp.h: New file, from glibc.
77154         * lib/argp-ba.c: New file, from glibc.
77155         * lib/argp-eexst.c: New file, from glibc.
77156         * lib/argp-fmtstream.c: New file, from glibc.
77157         * lib/argp-fmtstream.h: New file, from glibc.
77158         * lib/argp-fs-xinl.c: New file, from glibc.
77159         * lib/argp-help.c: New file, from glibc.
77160         * lib/argp-namefrob.h: New file, from glibc.
77161         * lib/argp-parse.c: New file, from glibc.
77162         * lib/argp-pv.c: New file, from glibc.
77163         * lib/argp-pvh.c: New file, from glibc.
77164         * lib/argp-xinl.c: New file, from glibc.
77165
77166 2003-06-10  Simon Josefsson  <jas@extundo.com>
77167
77168         * modules/strchrnul: New file.
77169
77170 2003-06-10  Simon Josefsson  <jas@extundo.com>
77171
77172         * modules/argp: New file.
77173
77174 2003-06-10  Simon Josefsson  <jas@extundo.com>
77175
77176         * m4/strchrnul.m4: New file.
77177
77178 2003-06-10  Simon Josefsson  <jas@extundo.com>
77179
77180         * lib/strchrnul.h: New file.
77181         * lib/strchrnul.c: New file.
77182
77183 2003-06-10  Bruno Haible  <bruno@clisp.org>
77184
77185         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
77186
77187 2003-06-07  Karl Berry  <karl@gnu.org>
77188
77189         * config/config.{guess,sub}: update from prep.
77190
77191 2003-06-07  Jim Meyering  <jim@meyering.net>
77192
77193         * modules/strtod: Use $(...) notation, not @...@ for
77194         AC_REPLACE'd variables.
77195         * modules/localcharset: Likewise.
77196
77197 2003-06-07  Jim Meyering  <jim@meyering.net>
77198
77199         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
77200         in place of my name in the copyright comment.
77201         Remove definition and uses of __P.
77202
77203         From coreutils.
77204         * lib/stat.c: Don't declare xmalloc explicitly.
77205         Instead, include "xalloc.h".
77206         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
77207         xrealloc, and xcalloc return values.
77208         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
77209         Improve comment.
77210         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
77211
77212 2003-06-07  Bruno Haible  <bruno@clisp.org>
77213
77214         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
77215         avoid AC_CONFIG_LINKS.
77216         * modules/fnmatch (Makefile.am): Use explicit creation rule for
77217         fnmatch.h, to avoid AC_CONFIG_LINKS.
77218         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
77219
77220 2003-06-07  Bruno Haible  <bruno@clisp.org>
77221
77222         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
77223         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
77224         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
77225         directory.
77226         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
77227         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
77228         directory.
77229
77230 2003-06-06  Jim Meyering  <jim@meyering.net>
77231
77232         Merge from coreutils.
77233         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
77234         Consolidate declarations and initializations of *_base* locals.
77235
77236         Merge from coreutils.
77237         This avoids a core dump on systems without GNU putenv,
77238         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
77239         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
77240         (unsetenv): New static function, from GNU libc.
77241         (rpl_putenv): Use it.
77242
77243         * lib/modechange.c: Remove trailing blanks.
77244
77245         Merge from coreutils.
77246         * lib/fsusage.c: Remove declaration of statfs.
77247         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
77248
77249         * lib/posixtm.c: Include <stdbool.h> unconditionally.
77250
77251 2003-06-06  Jim Meyering  <jim@meyering.net>
77252
77253         * lib/stdbool_.h: Renamed from stdbool.h.in.
77254
77255 2003-06-06  Jim Meyering  <jim@meyering.net>
77256             Bruno Haible  <bruno@clisp.org>
77257
77258         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
77259         Adjust Makefile.am snippet not to redirect directly to target.
77260         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
77261
77262 2003-06-05  Paul Eggert  <eggert@twinsun.com>
77263
77264         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
77265         mismatch, look in future quarters as well as past.  This fixes a
77266         bug when processing fall-backwards gaps immediately after a long
77267         period of daylight-saving time.
77268
77269         * lib/mktime.c: Assume freestanding C89 or better.
77270         (HAVE_LIMITS_H): Remove.  Assume it's 1.
77271         (__P): Remove; not used.
77272         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
77273         (mktime, not_equal_tm, print_tm, check_result,
77274         main): Use prototypes.  Use const * where appropriate.
77275         (main): Fix typo in testing code that uncovered by above changes.
77276         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
77277
77278 2003-06-04  Paul Eggert  <eggert@twinsun.com>
77279
77280         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
77281         locale.h, localeconv.  This merges changes from coreutils.
77282
77283         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
77284         It can be removed after the next Autoconf is released.
77285         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
77286         needed.
77287
77288 2003-06-04  Paul Eggert  <eggert@twinsun.com>
77289
77290         * lib/mktime.c: Fix Debian bug 177940
77291         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
77292         (localtime_offset): Now long int, not time_t, because we want it
77293         to be guaranteed to be signed.  All uses changed.
77294         (__mktime_internal): If overflow would occur when adding offset,
77295         don't add it.
77296
77297         Merge 'human' changes from coreutils.  Rewrite to support
77298         locale-specific notations like thousands separators.
77299         * lib/human.c: Simplify authorship notice.
77300         Include human.h immediately after config.h.
77301         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
77302         <limits.h>: Do not include, since human.h does.
77303         (SIZE_MAX, UINTMAX_MAX): New macros.
77304         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
77305         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
77306         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
77307         (power_letter): Renamed from suffixes.
77308         (generate_suffix_backwards): Remove.
77309         (adjust_value): Now takes int style (because of human.h changes)
77310         and long double value (for greater precision on some platforms).
77311         (group_number): New function.
77312         (human_readable): Use it.  Use integer options, not enum.
77313         Put the options before the sizes in the arg list.
77314         Support all the new options.
77315         The old human_readable function has been removed;
77316         use inttostr.h instead.
77317         (human_readable, default_block_size, humblock):
77318         Use uintmax_t, not int, for block sizes.
77319         (human_readable_inexact, block_size_types): Remove.
77320         (block_size_opts): New constant.
77321         (human_options): Renamed from human_block_size, with new signature
77322         that allows block sizes up to UINTMAX_MAX.  All callers changed.
77323         * lib/human.h: Add copyright and authorship notice.
77324         Include <limits.h> and <stdbool.h> unconditionally.
77325         (PARAMS): Remove.  All uses removed.
77326         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
77327         (enum human_inexact_style): Remove tag; now a nameless enum.
77328         (human_floor, human_ceiling, human_round_to_even): Now have
77329         values 2, 0, 1 rather than -1, 1, 0.
77330         (human_group_digits, human_suppress_point_zero, human_autoscale,
77331         human_base_1024, human_SI, human_B): New constants.
77332         (human_readable_inexact, human_block_size): Remove.
77333         (human_readable): Size args are now uintmax_t, not int.
77334         (human_options): New decl.
77335
77336         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
77337         unnecessary now that we assume C89 or better.  This change
77338         imported from coreutils.
77339
77340         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
77341         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
77342         in the 2003-05-30 sync from glibc.
77343
77344         .h files should stand alone, but we shouldn't include <sys/types.h>
77345         if we can get away with just <stddef.h>.
77346
77347         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
77348         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
77349         rather than <sys/types.h>, as we merely need size_t.
77350         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
77351         to get size_t.
77352         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
77353         Include <stdio.h>, to get FILE.
77354         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
77355         memcasecmp.h has included <stddef.h> and all we need is size_t.
77356         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
77357         our interface, instead of including <sys/types.h>
77358
77359 2003-06-04  Paul Eggert  <eggert@twinsun.com>
77360
77361         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
77362         now, as glibc mktime is buggy on non-glibc systems.
77363
77364 2003-06-03  Karl Berry  <karl@gnu.org>
77365
77366         * config/config.sub: update from prep.
77367
77368 2003-06-02  Paul Eggert  <eggert@twinsun.com>
77369
77370         [from coreutils]
77371         Fix some minor time-related bugs with POSIX time arguments.
77372         Some valid time stamps were being rejected (notably -1, and
77373         time stamps before 1900 on 64-bit hosts).  And some invalid
77374         time stamps were being accepted, e.g. September 31.
77375
77376         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
77377         that we can return (time_t) -1 successfully.
77378         * lib/posixtm.c: Likewise.
77379         [HAVE_STDBOOL_H]: Include <stdbool.h>.
77380         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
77381         (t): Remove static var.
77382         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
77383         of static var.  All uses changed.
77384         (year): Do not reject years before 1900; they can occur with
77385         64-bit time_t.
77386         (posix_time_parse): Do not check for out-of-range components;
77387         that is now the caller's responsibility, since our checks were
77388         only approximations.
77389         (posixtime): Use mktime to check for out-of-range components,
77390         since it knows them exactly.
77391         If mktime returns (time_t) -1, check whether an error actually occurred
77392         by invoking localtime on -1.
77393         (main) [TEST_POSIXTIME]: Check for input data errors, and report
77394         posixtime failures better.
77395         Improve the test data (in comments only).
77396
77397 2003-06-02  Karl Berry  <karl@gnu.org>
77398
77399         * config/mkinstalldirs (version): new variable.
77400         (--version): new option.
77401         (usage): improve message.
77402
77403 2003-05-30  Karl Berry  <karl@gnu.org>
77404
77405         * lib/mktime.c: update from libc.
77406
77407 2003-05-30  Bruno Haible  <bruno@clisp.org>
77408
77409         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
77410         * config/config.rpath: Upgrade to gettext-0.12.1.
77411
77412 2003-05-30  Bruno Haible  <bruno@clisp.org>
77413
77414         * m4/gettext.m4: Upgrade to gettext-0.12.1.
77415         * m4/nls.m4: New file, from gettext-0.12.1.
77416         * m4/po.m4: New file, from gettext-0.12.1.
77417         * m4/progtest.m4: Upgrade to gettext-0.12.1.
77418
77419 2003-05-30  Bruno Haible  <bruno@clisp.org>
77420
77421         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
77422         * lib/localcharset.h: Likewise.
77423         * lib/localcharset.c: Likewise.
77424
77425 2003-05-29  Karl Berry  <karl@gnu.org>
77426
77427         * config/config.rpath: update from gettext.
77428
77429 2003-05-28  Paul Eggert  <eggert@twinsun.com>
77430
77431         Assume the headers required for C89 freestanding compilers.
77432         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
77433         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
77434         * m4/human.m4 (gl_HUMAN): Likewise.
77435         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
77436         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
77437         * m4/userspec.m4 (gl_USERSPEC): Likewise.
77438         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
77439         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
77440         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
77441
77442 2003-05-28  Paul Eggert  <eggert@twinsun.com>
77443
77444         Assume the headers required for C89 freestanding compilers.
77445         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
77446         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
77447         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
77448         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
77449         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
77450         define, since <limits.h> is guaranteed to do that.
77451         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
77452         * lib/exclude.c: Include <stdbool.h> unconditionally.
77453         * lib/tempname.c: Include <stddef.h> unconditionally.
77454         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
77455         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
77456         <stddef.h> does that.
77457         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
77458         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
77459         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
77460         needed.
77461         * lib/xstrtol.c: Likewise.
77462         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
77463         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
77464
77465         * lib/addext.c (addext): Use assignment rather than cast, to avoid
77466         warnings on some platforms.
77467
77468         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
77469         arbitrarily.
77470
77471 2003-05-26  Jim Meyering  <jim@meyering.net>
77472
77473         Merge in a change from coreutils:
77474         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
77475         that is guaranteed to be `no'.  Use `no_such_member' to indicate
77476         that condition, rather than `-1' which is slightly misleading.
77477         Change the name of the cache variable to have the gl_ prefix.
77478         Prompted by a patch from Richard Dawe for DJGPP.
77479
77480 2003-05-24  Karl Berry  <karl@gnu.org>
77481
77482         * config/config.guess: update from prep.
77483
77484 2003-05-22  Karl Berry  <karl@gnu.org>
77485
77486         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
77487
77488 2003-05-20  Karl Berry  <karl@gnu.org>
77489
77490         * config/config.guess: update from prep.
77491
77492 2003-05-18  Karl Berry  <karl@gnu.org>
77493
77494         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
77495         might actually be set by the user.
77496
77497         * config/depcomp, install-sh, mdate-sh: update from automake.
77498
77499 2003-05-17  Bruno Haible  <bruno@clisp.org>
77500
77501         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
77502         invalid expansion for AC_EGREP_CPP.
77503         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
77504         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
77505         Suggested by Akim Demaille <akim@epita.fr> in
77506         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
77507
77508 2003-05-12  Jim Meyering  <jim@meyering.net>
77509
77510         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
77511         the space-padded-by-default conversion specifiers, %e, %k, %l.
77512
77513 2003-05-12  Bruno Haible  <bruno@clisp.org>
77514
77515         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
77516         the string is longer than 4 KB.
77517
77518 2003-05-11  Karl Berry  <karl@gnu.org>
77519
77520         * config/config.{guess,sub}: update from prep.
77521
77522 2003-05-09  Bruno Haible  <bruno@clisp.org>
77523
77524         * modules/error: Add m4/strerror_r.m4 to file list.
77525
77526 2003-05-03  Bruno Haible  <bruno@clisp.org>
77527
77528         Upgrade to Unicode-4.0.
77529         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
77530         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
77531         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
77532         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
77533         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
77534         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
77535         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
77536         Change width of U+E0100..U+E01EF from 1 to 0.
77537
77538 2003-04-25  Jim Meyering  <jim@meyering.net>
77539
77540         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
77541         of type size_t, not int.
77542
77543 2003-04-25  Bruno Haible  <bruno@clisp.org>
77544
77545         * lib/copy-file.c: Include <stddef.h>, for size_t.
77546
77547 2003-04-21  Paul Eggert  <eggert@twinsun.com>
77548
77549         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
77550         code which expansion is under static control.  Patch imported from
77551         Akim Demaille's patch to Bison; see
77552         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
77553
77554 2003-04-14  Bruno Haible  <bruno@clisp.org>
77555
77556         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
77557
77558 2003-04-11  Jim Meyering  <jim@meyering.net>
77559
77560         Merge changes from Coreutils.
77561
77562         2003-03-22  Jim Meyering  <jim@meyering.net>
77563
77564         * lib/strftime.c (widen): Cast alloca return value to proper type.
77565
77566         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
77567
77568         From GNU libc.
77569         * lib/strftime.c (my_strftime): Handle very large width
77570         specifications for numeric values correctly.  Improve checks for
77571         overflow.
77572
77573         2003-01-19  Jim Meyering  <jim@meyering.net>
77574
77575         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
77576         definitions.
77577         (nl_get_alt_digit) [! defined my_strftime]: Define.
77578         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
77579         _nl_get_alt_digit and _nl_get_walt_digit.
77580
77581         * lib/strftime.c (my_strftime): Merge in locale-related changes from
77582         libc. These changes have no effect outside of _LIBC.
77583
77584 2003-04-10  Bruno Haible  <bruno@clisp.org>
77585
77586         * modules/findprog: New file.
77587         * MODULES.html.sh (func_all_modules): Add it.
77588
77589 2003-04-10  Bruno Haible  <bruno@clisp.org>
77590
77591         * m4/findprog.m4: New file.
77592         * m4/eaccess.m4: New file.
77593
77594 2003-04-10  Bruno Haible  <bruno@clisp.org>
77595
77596         * lib/findprog.h: New file, from GNU gettext.
77597         * lib/findprog.c: New file, from GNU gettext.
77598
77599 2003-04-05  Jim Meyering  <jim@meyering.net>
77600
77601         Merge changes from Coreutils.
77602
77603         * lib/exclude.h (PARAMS): Remove definition and uses.
77604         * lib/exclude.c: Remove uses of `PARAMS'.
77605
77606         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
77607         Add test-cases for DOS filenames. Declare program_name.
77608         (main): Set up program_name.  Patch by Rich Dawe.
77609
77610         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
77611         error from mntctl.
77612         Use mntctl's return value to drive the entry-processing loop, since
77613         we can't rely on the value of the vmt_length member in the last
77614         entry.  On some systems doing so could result in exhausting
77615         virtual memory.  Based in part on a patch from Mike Jetzer.
77616
77617 2003-04-04  Bruno Haible  <bruno@clisp.org>
77618
77619         * modules/linebreak: New file.
77620         * MODULES.html.sh (func_all_modules): Add it.
77621
77622 2003-04-04  Bruno Haible  <bruno@clisp.org>
77623
77624         * m4/linebreak.m4: New file.
77625
77626 2003-04-04  Bruno Haible  <bruno@clisp.org>
77627
77628         * lib/linebreak.h: New file, from GNU gettext.
77629         * lib/linebreak.c: New file, from GNU gettext with slight
77630         modifications.
77631         * lib/lbrkprop.h: New file, from GNU gettext.
77632
77633 2003-04-03  Bruno Haible  <bruno@clisp.org>
77634
77635         * modules/utf8-ucs4: New file.
77636         * modules/utf16-ucs4: New file.
77637         * modules/ucs4-utf8: New file.
77638         * modules/ucs4-utf16: New file.
77639         * MODULES.html.sh (func_all_modules): Add them.
77640
77641 2003-04-03  Bruno Haible  <bruno@clisp.org>
77642
77643         * m4/utf-ucs4.m4: New file.
77644         * m4/ucs4-utf.m4: New file.
77645
77646 2003-04-03  Bruno Haible  <bruno@clisp.org>
77647
77648         * lib/utf8-ucs4.h: New file, from GNU gettext.
77649         * lib/utf16-ucs4.h: New file, from GNU gettext.
77650         * lib/ucs4-utf8.h: New file, from GNU gettext.
77651         * lib/ucs4-utf16.h: New file, from GNU gettext.
77652
77653 2003-04-02  Bruno Haible  <bruno@clisp.org>
77654
77655         * modules/binary-io: New file.
77656         * MODULES.html.sh (func_all_modules): Add it.
77657
77658 2003-04-02  Bruno Haible  <bruno@clisp.org>
77659
77660         * lib/binary-io.h: New file, from GNU gettext.
77661
77662 2003-04-01  Bruno Haible  <bruno@clisp.org>
77663
77664         * modules/pathname: New file.
77665         * MODULES.html.sh (func_all_modules): Add it.
77666
77667 2003-04-01  Bruno Haible  <bruno@clisp.org>
77668
77669         * lib/pathname.h: New file, from GNU gettext.
77670         * lib/concatpath.c: New file, from GNU gettext.
77671
77672 2003-03-30  Bruno Haible  <bruno@clisp.org>
77673
77674         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
77675
77676 2003-03-30  Bruno Haible  <bruno@clisp.org>
77677
77678         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
77679         function chown() doesn't exist.
77680
77681 2003-03-28  Bruno Haible  <bruno@clisp.org>
77682
77683         * modules/copy-file: New file.
77684         * MODULES.html.sh (func_all_modules): Add it.
77685
77686 2003-03-28  Bruno Haible  <bruno@clisp.org>
77687
77688         * m4/copy-file.m4: New file.
77689
77690 2003-03-28  Bruno Haible  <bruno@clisp.org>
77691
77692         * lib/copy-file.h: New file, from GNU gettext.
77693         * lib/copy-file.c: New file, from GNU gettext.
77694
77695 2003-03-18  Jim Meyering  <jim@meyering.net>
77696
77697         * lib/quote.c (quote_n): Fix typo in comment.
77698
77699 2003-03-18  Bruno Haible  <bruno@clisp.org>
77700
77701         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
77702         checking.
77703         * m4/onceonly_2_57.m4: Likewise.
77704
77705 2003-03-17  Bruno Haible  <bruno@clisp.org>
77706
77707         * m4/onceonly.m4: Require autoconf 2.54 or newer.
77708         (m4_quote): Remove macro.
77709         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
77710
77711 2003-03-14  Jim Meyering  <jim@meyering.net>
77712
77713         Merge changes from Coreutils.
77714         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
77715         to be const, in order to avoid warnings.
77716         (obstack_room): Likewise.
77717         (obstack_empty_p): Likewise.
77718
77719 2003-03-14  Bruno Haible  <bruno@clisp.org>
77720
77721         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
77722         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
77723
77724 2003-03-13  Paul Eggert  <eggert@twinsun.com>
77725
77726         Merge changes from Bison.
77727         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
77728         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
77729         when compiling Bison 1.875's `bitset bset = obstack_alloc
77730         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
77731         * lib/hash.c: Include <stdbool.h> unconditionally.
77732
77733 2003-03-13  Paul Eggert  <eggert@twinsun.com>
77734
77735         * m4/onceonly.m4 (m4_quote): New macro.
77736         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
77737         Quote AC_FOREACH variable-expansions properly.
77738
77739 2003-03-13  Paul Eggert  <eggert@twinsun.com>
77740
77741         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
77742
77743 2003-03-09  Paul Eggert  <eggert@twinsun.com>
77744
77745         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
77746         Reported by Bruce Becker; see:
77747         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
77748
77749 2003-03-03  Paul Eggert  <eggert@twinsun.com>
77750             Bruno Haible  <bruno@clisp.org>
77751
77752         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
77753         Reported by John Hughes, see
77754         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
77755
77756 2003-02-20  Bruno Haible  <bruno@clisp.org>
77757
77758         * MODULES.html.sh (func_all_modules): Add poll.
77759
77760 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
77761
77762         * modules/poll: New file.
77763
77764 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
77765
77766         * lib/poll_.h: New file.
77767         * lib/poll.c: New file.
77768
77769 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
77770
77771         * m4/poll.m4: New file.
77772
77773 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
77774
77775         * modules/mathl: New file.
77776
77777 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
77778
77779         * lib/mathl.h: New file.
77780         * lib/acosl.c: New file.
77781         * lib/asinl.c: New file.
77782         * lib/atanl.c: New file.
77783         * lib/ceill.c: New file.
77784         * lib/cosl.c: New file.
77785         * lib/expl.c: New file.
77786         * lib/floorl.c: New file.
77787         * lib/frexpl.c: New file.
77788         * lib/ldexpl.c: New file.
77789         * lib/logl.c: New file.
77790         * lib/sincosl.c: New file.
77791         * lib/sinl.c: New file.
77792         * lib/sqrtl.c: New file.
77793         * lib/tanl.c: New file.
77794         * lib/trigl.c: New file.
77795         * lib/trigl.h: New file.
77796
77797 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
77798
77799         * m4/mathl.m4: New file.
77800
77801 2003-02-18  Bruno Haible  <bruno@clisp.org>
77802
77803         * MODULES.html.sh (func_all_modules): Add mathl.
77804
77805 2003-02-17  Bruno Haible  <bruno@clisp.org>
77806
77807         * modules/mkdtemp: New module.
77808         * MODULES.html.sh (func_all_modules): Add it.
77809
77810 2003-02-17  Bruno Haible  <bruno@clisp.org>
77811
77812         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
77813
77814 2003-02-17  Bruno Haible  <bruno@clisp.org>
77815
77816         * lib/mkdtemp.h: New file, from GNU gettext.
77817         * lib/mkdtemp.c: New file, from GNU gettext.
77818
77819 2003-02-02  Jim Meyering  <jim@meyering.net>
77820
77821         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
77822         e.g. glibc-2.2.93.
77823
77824 2003-01-31  Bruno Haible  <bruno@clisp.org>
77825
77826         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
77827         'rpl_rename'.
77828         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
77829         'rpl_strnlen'.
77830         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
77831         'rpl_strtod'.
77832         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
77833         'rpl_utime'.
77834
77835 2003-01-31  Bruno Haible  <bruno@clisp.org>
77836
77837         * lib/rename.c: #undef rename before defining rpl_rename.
77838         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
77839
77840 2003-01-30  Bruno Haible  <bruno@clisp.org>
77841
77842         * modules/vasnprintf, modules/vasprintf: New modules.
77843         * MODULES.html.sh (func_all_modules): Add them.
77844
77845 2003-01-30  Bruno Haible  <bruno@clisp.org>
77846
77847         * m4/signed.m4: New file, from GNU gettext.
77848         * m4/longdouble.m4: New file, from GNU gettext.
77849         * m4/wchar_t.m4: New file, from GNU gettext.
77850         * m4/wint_t.m4: New file, from GNU gettext.
77851         * m4/vasnprintf.m4: New file.
77852         * m4/vasprintf.m4: New file.
77853
77854 2003-01-30  Bruno Haible  <bruno@clisp.org>
77855
77856         * lib/printf-args.h: New file, from GNU gettext.
77857         * lib/printf-args.c: New file, from GNU gettext.
77858         * lib/printf-parse.h: New file, from GNU gettext.
77859         * lib/printf-parse.c: New file, from GNU gettext.
77860         * lib/vasnprintf.h: New file, from GNU gettext.
77861         * lib/vasnprintf.c: New file, from GNU gettext.
77862         * lib/asnprintf.c: New file, from GNU gettext.
77863         * lib/vasprintf.h: New file, from GNU gettext with modifications.
77864         * lib/vasprintf.c: New file, from GNU gettext.
77865         * lib/asprintf.c: New file, from GNU gettext.
77866
77867 2003-01-29  Bruno Haible  <bruno@clisp.org>
77868
77869         * modules/stpncpy: New module.
77870         * MODULES.html.sh (func_all_modules): Add it.
77871
77872 2003-01-29  Bruno Haible  <bruno@clisp.org>
77873
77874         * m4/stpncpy.m4: New file.
77875
77876 2003-01-29  Bruno Haible  <bruno@clisp.org>
77877
77878         * lib/stpncpy.h: New file, from GNU gettext with modifications.
77879         * lib/stpncpy.c: New file, from GNU gettext with modifications.
77880
77881 2003-01-28  Bruno Haible  <bruno@clisp.org>
77882
77883         * modules/c-ctype: New module.
77884         * MODULES.html.sh (func_all_modules): Add it.
77885
77886 2003-01-28  Bruno Haible  <bruno@clisp.org>
77887
77888         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
77889         Paul Eggert.
77890         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
77891         Paul Eggert.
77892
77893 2003-01-27  Bruno Haible  <bruno@clisp.org>
77894
77895         * modules/xsetenv: New module.
77896         * MODULES.html.sh (func_all_modules): Add it.
77897
77898 2003-01-27  Bruno Haible  <bruno@clisp.org>
77899
77900         * lib/xsetenv.h: New file, from GNU gettext.
77901         * lib/xsetenv.c: New file, from GNU gettext.
77902
77903 2003-01-23  Jim Meyering  <jim@meyering.net>
77904
77905         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
77906         from working on systems without dirfd (at least Irix and OSF1/Tru64).
77907
77908 2003-01-23  Bruno Haible  <bruno@clisp.org>
77909
77910         * modules/minmax: New module.
77911         * MODULES.html.sh (func_all_modules): Add it.
77912
77913 2003-01-23  Bruno Haible  <bruno@clisp.org>
77914
77915         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
77916         Eggert.
77917
77918 2003-01-22  Bruno Haible  <bruno@clisp.org>
77919
77920         * modules/exit: New module.
77921         * MODULES.html.sh (func_all_modules): Add it.
77922
77923 2003-01-22  Bruno Haible  <bruno@clisp.org>
77924
77925         * lib/exit.h: New file, from GNU gettext.
77926
77927 2003-01-19  Bruno Haible  <bruno@clisp.org>
77928
77929         * gnulib-tool: Recognize option --extract-maintainer.
77930         (func_get_maintainer): New function.
77931         * modules/*: Add Maintainer entry.
77932
77933 2003-01-16  Jim Meyering  <jim@meyering.net>
77934
77935         * m4/regex.m4: The `regex' struct is both input and output.
77936         Initialize it before each use.  Patch by Tim Waugh.
77937
77938 2003-01-16  Bruno Haible  <bruno@clisp.org>
77939
77940         * MODULES.html.sh: Add a table of contents. Add the module name as
77941         leftmost column. Add hyperlinks.
77942
77943 2003-01-15  Bruno Haible  <bruno@clisp.org>
77944
77945         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
77946
77947 2003-01-15  Bruno Haible  <bruno@clisp.org>
77948
77949         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
77950         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
77951         suffix.
77952
77953 2003-01-15  Bruno Haible  <bruno@clisp.org>
77954
77955         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
77956
77957 2003-01-15  Bruno Haible  <bruno@clisp.org>
77958
77959         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
77960         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
77961
77962 2003-01-14  Jim Meyering  <jim@meyering.net>
77963
77964         * lib/same.c (same_name): Tweak a comment.
77965
77966 2003-01-14  Bruno Haible  <bruno@clisp.org>
77967
77968         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
77969         when a string comparison is sufficient.
77970
77971 2003-01-14  Bruno Haible  <bruno@clisp.org>
77972
77973         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
77974         'unsigned int'.
77975
77976 2003-01-14  Bruno Haible  <bruno@clisp.org>
77977
77978         * lib/hash-pjw.c: Add comment about low quality of this function.
77979
77980 2003-01-13  Bruno Haible  <bruno@clisp.org>
77981
77982         * modules/stpcpy: Distribute lib/stpcpy.h.
77983         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
77984
77985 2003-01-13  Bruno Haible  <bruno@clisp.org>
77986
77987         * modules/*: Add a description.
77988         * modules/strpbrk: Fix Makefile.am snippet.
77989         * modules/strtoimax: Fix dependencies.
77990         * modules/strtoumax: Likewise.
77991
77992 2003-01-13  Bruno Haible  <bruno@clisp.org>
77993
77994         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
77995         * modules/alloca (Makefile.am): All object files depend on alloca.h.
77996         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
77997
77998 2003-01-13  Bruno Haible  <bruno@clisp.org>
77999
78000         * gnulib-tool (func_create_testdir): Store config/* files in the main
78001         directory.
78002         * config.rpath: Move to ...
78003         * config/config.rpath: ... here.
78004         * modules/gettext: Contains config/config.rpath, not config.rpath.
78005         * modules/iconv: Likewise.
78006
78007 2003-01-12  Paul Eggert  <eggert@twinsun.com>
78008
78009         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
78010         to avoid collisions with libcurses and libreadline.
78011
78012         * m4/getstr.m4: Remove.
78013         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
78014
78015 2003-01-12  Paul Eggert  <eggert@twinsun.com>
78016
78017         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
78018         to avoid collisions with libcurses and libreadline.
78019
78020         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
78021         * lib/getstr.h, getstr.c: Remove.
78022         * lib/getline.c: Include "getline.h", to check interface.
78023         Move body of old getstr.c here: this defines MIN_CHUNK and
78024         declares getdelim2, which is renamed from getstr.
78025         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
78026
78027         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
78028         All uses changed.
78029         * lib/linebuffer.h: Likewise.
78030         (readline): Remove backward-compatibility macro.
78031
78032 2003-01-12  Paul Eggert  <eggert@twinsun.com>
78033
78034         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
78035         to avoid collisions with libcurses and libreadline.
78036         * getstr: Remove.
78037         * MODULES.html.sh: Remove getstr.
78038         * modules/getline: Depend on unlocked-io, not getstr.
78039
78040 2003-01-12  Jim Meyering  <jim@meyering.net>
78041
78042         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
78043
78044 2003-01-10  Bruno Haible  <bruno@clisp.org>
78045
78046         * modules/alloca: Change Makefile.am requirements. Simplify Include
78047         requirements. Add lib/alloca_.h to file list.
78048
78049 2003-01-10  Bruno Haible  <bruno@clisp.org>
78050
78051         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
78052
78053 2003-01-10  Bruno Haible  <bruno@clisp.org>
78054
78055         * lib/alloca_.h: New file.
78056         * lib/getdate.y: Unconditionally include alloca.h.
78057         * lib/makepath.c: Likewise.
78058         * lib/setenv.c: Likewise.
78059         * lib/userspec.c: Likewise.
78060
78061 2003-01-09  Karl Berry  <karl@gnu.org>
78062
78063         * MODULES.html.sh: include `dirname $0` in PATH, to find
78064         gnulib-tool.
78065
78066 2003-01-09  Bruno Haible  <bruno@clisp.org>
78067
78068         * modules/stdbool: Change configure.ac, Makefile.am requirements.
78069         Simplify Include requirements. Add lib/stdbool.h.in to file list.
78070
78071 2003-01-09  Bruno Haible  <bruno@clisp.org>
78072
78073         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
78074
78075 2003-01-09  Bruno Haible  <bruno@clisp.org>
78076
78077         * lib/stdbool.h.in: New file.
78078
78079 2003-01-09  Bruno Haible  <bruno@clisp.org>
78080
78081         * gnulib-tool (func_all_modules): Ignore files ending in ~.
78082         * MODULES.html.sh: Likewise.
78083
78084 2003-01-08  Jim Meyering  <jim@meyering.net>
78085
78086         * lib/full-write.c: Undefine and define-away `const' after inclusion
78087         of errno.h, not before.  Suggestion from Bruno Haible.
78088
78089 2003-01-08  Bruno Haible  <bruno@clisp.org>
78090
78091         * modules/full-read: Depend on full-write.
78092
78093 2003-01-08  Bruno Haible  <bruno@clisp.org>
78094
78095         * lib/safe-read.c: Include specification header first, to ensure its
78096         selfcontainedness.
78097         * lib/full-write.c: Likewise.
78098
78099 2003-01-07  Jim Meyering  <jim@meyering.net>
78100
78101         * lib/full-write.c: Rework so that it may serve to define full_read,
78102         too.
78103         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
78104
78105 2003-01-07  Bruno Haible  <bruno@clisp.org>
78106
78107         * lib/strtoimax.c: Include <stdint.h> as an alternative to
78108         <inttypes.h>.
78109         * lib/xstrtol.h: Likewise.
78110         * lib/xstrtoimax.c: Likewise.
78111         * lib/xstrtoumax.c: Likewise.
78112         * lib/human.h: Likewise.
78113
78114         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
78115         on systems that have <inttypes.h> but not <stdint.h>.
78116
78117 2003-01-07  Bruno Haible  <bruno@clisp.org>
78118
78119         * MODULES.html.sh: Add copyright notice.
78120         (missed_files): Omit CVS directory entries.
78121         (func_module): Make it work with sed-3.02.
78122         * MODULES.txt: Remove file.
78123
78124 2003-01-06  Jim Meyering  <jim@meyering.net>
78125
78126         * lib/version-etc.c: Update year in translatable copyright string.
78127
78128 2003-01-03  Karl Berry  <karl@gnu.org>
78129
78130         * config/config.{guess,sub}: update from prep.
78131
78132 2003-01-02  Karl Berry  <karl@gnu.org>
78133
78134         * doc/COPYING.DOC: belatedly updated to 1.2.
78135
78136 2003-01-01  Karl Berry  <karl@gnu.org>
78137
78138         * gnulib-tool (func_verify_module): report module name $module in
78139         error message, not $1.
78140         * gnulib-tool (create-testdir): don't complain if destdir couldn't
78141         be created, only if it doesn't exist.
78142         * gnulib-tool (last_checkin_date): don't expand the $Date here.
78143
78144 2002-12-31  Paul Eggert  <eggert@twinsun.com>
78145
78146         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
78147
78148 2002-12-31  Paul Eggert  <eggert@twinsun.com>
78149
78150         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
78151         memcmp if strcoll doesn't work.
78152
78153 2002-12-31  Bruno Haible  <bruno@clisp.org>
78154
78155         * lib/utime.c (utime_null): No need to call ftruncate if the file was
78156         nonempty.
78157
78158 2002-12-31  Bruno Haible  <bruno@clisp.org>
78159
78160         * lib/memcoll.c (STRCOLL): New macro.
78161         (memcoll): Use it.
78162
78163 2002-12-31  Bruno Haible  <bruno@clisp.org>
78164
78165         * lib/localcharset.h: New file.
78166         * lib/localcharset.c: Include it.
78167         * lib/unicodeio.c: Likewise.
78168
78169 2002-12-31  Bruno Haible  <bruno@clisp.org>
78170
78171         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
78172         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
78173
78174 2002-12-31  Bruno Haible  <bruno@clisp.org>
78175
78176         * lib/getline.h: Include <stddef.h>, for size_t.
78177
78178         * lib/unicodeio.h: Include <stddef.h>, for size_t.
78179         * lib/unicodeio.c: Don't include <stddef.h>.
78180
78181 2002-12-31  Bruno Haible  <bruno@clisp.org>
78182
78183         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
78184         HAVE_TM_ZONE.
78185
78186 2002-12-24  Karl Berry  <karl@gnu.org>
78187
78188         * config/config.guess: update from prep.
78189
78190 2002-12-24  Bruno Haible  <bruno@clisp.org>
78191
78192         General infrasructure.
78193         * m4/README: Rewritten.
78194         * m4/onceonly.m4: New file.
78195         * m4/onceonly_2_57.m4: New file.
78196
78197         Module atexit.
78198         * m4/atexit.m4: New file.
78199
78200         Module strtod.
78201         * m4/strtod.m4: New file.
78202
78203         Module strtol.
78204         * m4/strtol.m4: New file.
78205
78206         Module strtoul.
78207         * m4/strtoul.m4: New file.
78208
78209         Module memchr.
78210         * m4/memchr.m4: New file.
78211
78212         Module memcmp.
78213         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
78214         (jm_FUNC_MEMCMP): Invoke it.
78215
78216         Module memcpy.
78217         * m4/memcpy.m4: New file.
78218
78219         Module memmove.
78220         * m4/memmove.m4: New file.
78221
78222         Module memset.
78223         * m4/memset.m4: New file.
78224
78225         Module strcspn.
78226         * m4/strcspn.m4: New file.
78227
78228         Module strpbrk.
78229         * m4/strpbrk.m4: New file.
78230
78231         Module strstr.
78232         * m4/strstr.m4: New file.
78233
78234         Module strerror.
78235         * m4/strerror.m4: New file.
78236
78237         Module mktime.
78238         * m4/mktime.m4: Renamed from jm-mktime.m4.
78239         (gl_PREREQ_MKTIME): New macro.
78240         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
78241
78242         Module malloc.
78243         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
78244         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
78245         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
78246
78247         Module realloc.
78248         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
78249         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
78250         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
78251
78252         Module strftime.
78253         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
78254         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
78255         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
78256         gl_TM_GMTOFF.
78257         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
78258
78259         Module xalloc.
78260         * m4/xalloc.m4: New file.
78261
78262         Module alloca.
78263         * m4/alloca.m4: New file.
78264
78265         Module putenv.
78266         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
78267         (jm_FUNC_PUTENV): Invoke it.
78268
78269         Module setenv.
78270         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
78271         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
78272         when invoked twice.
78273         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
78274         gt_FUNC_SETENV.
78275
78276         Module memrchr.
78277         * m4/memrchr.m4: New file.
78278
78279         Module stpcpy.
78280         * m4/stpcpy.m4: New file.
78281
78282         Module strcase.
78283         * m4/strcase.m4: New file.
78284
78285         Module strdup.
78286         * m4/strdup.m4: New file.
78287
78288         Module strnlen.
78289         * m4/strnlen.m4: New file.
78290
78291         Module strndup.
78292         * m4/strndup.m4: New file.
78293
78294         Module xstrtod.
78295         * m4/xstrtod.m4: New file.
78296
78297         Module xstrtol.
78298         * m4/xstrtol.m4: New file.
78299
78300         Module getdate.
78301         * m4/getdate.m4: New file.
78302
78303         Module unlocked-io.
78304         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
78305         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
78306         * m4/jm-glibc-io.m4n: Remove file.
78307
78308         Module long-options.
78309         * m4/long-options.m4: New file.
78310
78311         Module md5.
78312         * m4/md5.m4: New file.
78313
78314         Module sha.
78315         * m4/sha.m4: New file.
78316
78317         Module getstr.
78318         * m4/getstr.m4: New file.
78319
78320         Module getline.
78321         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
78322         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
78323         <sys/types.h>, for size_t. Use the function name gnu_getline, not
78324         simply getline. Infoke gl_PREREQ_GETLINE.
78325
78326         Module obstack.
78327         * m4/obstack.m4: New file.
78328
78329         Module hash.
78330         * m4/hash.m4: New file.
78331
78332         Module readtokens.
78333         * m4/readtokens.m4: New file.
78334
78335         Module strverscmp.
78336         * m4/strverscmp.m4: New file.
78337
78338         Module stdbool.
78339         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
78340         OSF/1.
78341
78342         Module strtoll.
78343         * m4/strtoll.m4: New file.
78344
78345         Module strtoull.
78346         * m4/strtoull.m4: New file.
78347
78348         Module strtoimax.
78349         * m4/strtoimax.m4: New file.
78350
78351         Module strtoumax.
78352         * m4/strtoumax.m4: New file.
78353
78354         Module xstrtoimax.
78355         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
78356         jm_AC_PREREQ_XSTRTOIMAX.
78357         Moved the strtol prerequisites to strtol.m4.
78358         Moved the strtoll prerequisites to strtoll.m4.
78359         Moved the strtoimax prerequisites to strtoimax.m4.
78360
78361         Module xstrtoumax.
78362         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
78363         jm_AC_PREREQ_XSTRTOUMAX.
78364         Moved the strtoul prerequisites to strtoul.m4.
78365         Moved the strtoull prerequisites to strtoull.m4.
78366         Moved the strtoumax prerequisites to strtoumax.m4.
78367
78368         Module chown.
78369         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
78370         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
78371
78372         Module dup2.
78373         * m4/dup2.m4: New file.
78374
78375         Module ftruncate.
78376         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
78377         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
78378
78379         Module getgroups.
78380         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
78381         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
78382
78383         Module gettimeofday.
78384         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
78385         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
78386         gl_PREREQ_GETTIMEOFDAY.
78387
78388         Module mkdir.
78389         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
78390         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
78391
78392         Module mkstemp.
78393         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
78394         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
78395         jm_AC_TYPE_UINTMAX_T.
78396         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
78397
78398         Module stat.
78399         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
78400         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
78401
78402         Module lstat.
78403         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
78404         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
78405
78406         Module timespec.
78407         * m4/timespec.m4 (gl_TIMESPEC): New macro.
78408         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
78409         * m4/st_mtim.m4: Indentation.
78410
78411         Module nanosleep.
78412         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
78413         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
78414         gl_PREREQ_NANOSLEEP.
78415
78416         Module regex.
78417         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
78418         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
78419         (gl_REGEX): New macro.
78420
78421         Module rename.
78422         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
78423         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
78424
78425         Module rmdir.
78426         * m4/rmdir.m4: New file.
78427
78428         Module utime.
78429         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
78430         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
78431         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
78432
78433         Module dirname.
78434         * m4/dirname.m4: New file.
78435
78436         Module getopt.
78437         * m4/getopt.m4: New file.
78438
78439         Module unistd-safer.
78440         * m4/unistd-safer.m4: New file.
78441
78442         Module fnmatch.
78443         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
78444         declaration.
78445         (gl_PREREQ_FNMATCH_EXTRA): New macro.
78446         (gl_FUNC_FNMATCH_POSIX): New macro.
78447         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
78448         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
78449         simply fnmatch.
78450
78451         Module exclude.
78452         * m4/exclude.m4: New file.
78453
78454         Module human.
78455         * m4/human.m4: New file.
78456
78457         Module acl.
78458         * m4/acl.m4: Nop.
78459
78460         Module backupfile.
78461         * m4/backupfile.m4: New file.
78462         * m4/d-ino.m4: Indentation.
78463
78464         Module fsusage.
78465         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
78466         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
78467         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
78468
78469         Module dirfd.
78470         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
78471         requirements.
78472
78473         Module euidaccess.
78474         * m4/euidaccess.m4: New file.
78475
78476         Module file-type.
78477         * m4/file-type.m4: New file.
78478
78479         Module fileblocks.
78480         * m4/fileblocks.m4: New file.
78481
78482         Module filemode.
78483         * m4/filemode.m4: New file.
78484
78485         Module isdir.
78486         * m4/isdir.m4: New file.
78487
78488         Module lchown.
78489         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
78490         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
78491
78492         Module makepath.
78493         * m4/makepath.m4: New file.
78494
78495         Module modechange.
78496         * m4/modechange.m4: New file.
78497
78498         Module mountlist.
78499         * m4/mountlist.m4: New file.
78500         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
78501         Indentation.
78502
78503         Module path-concat.
78504         * m4/path-concat.m4: New file.
78505
78506         Module pathmax.
78507         * m4/pathmax.m4: New file.
78508
78509         Module same.
78510         * m4/same.m4: New file.
78511
78512         Module save-cwd.
78513         * m4/save-cwd.m4: New file.
78514
78515         Module savedir.
78516         * m4/savedir.m4: New file.
78517
78518         Module xgetcwd.
78519         * m4/xgetcwd.m4: New file.
78520         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
78521
78522         Module xreadlink.
78523         * m4/xreadlink.m4: New file.
78524
78525         Module safe-read.
78526         * m4/safe-read.m4: New file.
78527
78528         Module safe-write.
78529         * m4/safe-write.m4: New file.
78530
78531         Module closeout.
78532         * m4/closeout.m4: New file.
78533
78534         Module stdio-safer.
78535         * m4/stdio-safer.m4: New file.
78536
78537         Module getpass.
78538         * m4/getpass.m4: New file.
78539
78540         Module getugroups.
78541         * m4/getugroups.m4: New file.
78542
78543         Module group-member.
78544         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
78545         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
78546
78547         Module idcache.
78548         * m4/idcache.m4: New file.
78549
78550         Module userspec.
78551         * m4/userspec.m4: New file.
78552
78553         Module gettime.
78554         * m4/clock_time.m4: New file.
78555         * m4/gettime.m4: New file.
78556
78557         Module settime.
78558         * m4/settime.m4: New file.
78559
78560         Module posixtm.
78561         * m4/posixtm.m4: New file.
78562
78563         Module gethostname.
78564         * m4/gethostname.m4: New file.
78565
78566         Module canon-host.
78567         * m4/canon-host.m4: New file.
78568
78569         Module gettext.
78570         * m4/codeset.m4: New file, from gettext-0.11.5.
78571         * m4/gettext.m4: New file, from gettext-0.11.5.
78572         * m4/glibc21.m4: New file, from gettext-0.11.5.
78573         * m4/iconv.m4: New file, from gettext-0.11.5.
78574         * m4/intdiv0.m4: New file, from gettext-0.11.5.
78575         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
78576         * m4/inttypes.m4: New file, from gettext-0.11.5.
78577         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
78578         * m4/isc-posix.m4: New file, from gettext-0.11.5.
78579         * m4/lcmessage.m4: New file, from gettext-0.11.5.
78580         * m4/lib-ld.m4: New file, from gettext-0.11.5.
78581         * m4/lib-link.m4: New file, from gettext-0.11.5.
78582         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
78583         * m4/progtest.m4: New file, from gettext-0.11.5.
78584         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
78585         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
78586         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
78587
78588         Module localcharset.
78589         * m4/localcharset.m4: New file.
78590
78591         Module hard-locale.
78592         * m4/hard-locale.m4: New file.
78593
78594         Module mbswidth.
78595         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
78596         onceonly macros.
78597         * m4/mbrtowc.m4: Add comment.
78598
78599         Module memcasecmp.
78600         * m4/memcasecmp.m4: New file.
78601
78602         Module memcoll.
78603         * m4/memcoll.m4: New file.
78604
78605         Module unicodeio.
78606         * m4/unicodeio.m4: New file.
78607
78608         Module rpmatch.
78609         * m4/rpmatch.m4: New file.
78610
78611         Module yesno.
78612         * m4/yesno.m4: New file.
78613
78614         Module exitfail.
78615         * m4/exitfail.m4: New file.
78616
78617         Module c-stack.
78618         * m4/c-stack.m4 (gl_C_STACK): New macro.
78619         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
78620
78621         Module error.
78622         * m4/error.m4 (gl_ERROR): New macro.
78623         (jm_PREREQ_ERROR): Use onceonly macros.
78624
78625         Module fatal.
78626         * m4/fatal.m4: New file.
78627
78628         Module getloadavg.
78629         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
78630         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
78631
78632         Module getpagesize.
78633         * m4/getpagesize.m4: New file.
78634
78635         Module getusershell.
78636         * m4/getusershell.m4: New file.
78637
78638         Module physmem.
78639         * m4/physmem.m4: New file.
78640
78641         Module posixver.
78642         * m4/posixver.m4: New file.
78643
78644         Module quotearg.
78645         * m4/quotearg.m4: New file.
78646
78647         Module quote.
78648         * m4/quote.m4: New file.
78649
78650         Module readutmp.
78651         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
78652
78653         Module sig2str.
78654         * m4/sig2str.m4: New file.
78655
78656         Other.
78657         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
78658         ulonglong.m4.
78659         * m4/intmax_t.m4: New file.
78660         * m4/d-type.m4: Indentation.
78661         * m4/jm-macros.m4: Update.
78662         * m4/prereq.m4 (jm_PREREQ): Update.
78663         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
78664         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
78665         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
78666         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
78667         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
78668         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
78669         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
78670         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
78671         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
78672         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
78673         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
78674         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
78675         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
78676         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
78677         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
78678         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
78679         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
78680         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
78681         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
78682
78683 2002-12-24  Bruno Haible  <bruno@clisp.org>
78684
78685         * MODULES.txt: Update according to m4/ changes.
78686
78687         Module gettext.
78688         * config.rpath: New file, from gettext-0.11.5.
78689
78690         * modules/*: New module descriptions.
78691         * gnulib-tool: New file.
78692         * MODULES.html.sh: New file.
78693
78694 2002-12-21  Karl Berry  <karl@gnu.org>
78695
78696         * doc/fdl.texi: update to version 1.2.
78697
78698 2002-12-19  Karl Berry  <karl@gnu.org>
78699
78700         * config/config.guess: update from prep.
78701
78702 2002-12-18  Bruno Haible  <bruno@clisp.org>
78703
78704         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
78705         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
78706
78707 2002-12-17  Bruno Haible  <bruno@clisp.org>
78708
78709         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
78710         stdlib.h, string.h.
78711
78712 2002-12-17  Bruno Haible  <bruno@clisp.org>
78713
78714         * lib/canon-host.c (strdup): Remove unused declaration.
78715
78716         * lib/fsusage.c: Include full_read.h.
78717         (get_fs_usage): Use full_read instead of safe_read.
78718
78719         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
78720
78721 2002-12-12  Karl Berry  <karl@gnu.org>
78722
78723         * config/config.guess: update from prep.
78724
78725 2002-12-11  Bruno Haible  <bruno@clisp.org>
78726
78727         * m4/setenv.m4: New file, from gettext-0.11.5.
78728
78729 2002-12-11  Bruno Haible  <bruno@clisp.org>
78730
78731         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
78732         not unsetenv().
78733         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
78734         modifications:
78735
78736         2002-12-11  Bruno Haible  <bruno@clisp.org>
78737
78738                 * setenv.c (alloca): Fall back to malloc.
78739                 (freea): New macro.
78740                 (setenv): Use freea() to free memory allocated with alloca().
78741
78742         2002-11-13  Bruno Haible  <bruno@clisp.org>
78743
78744                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
78745                 function declarations.
78746                 * unsetenv.c (unsetenv): Likewise.
78747
78748         2002-03-04  Bruno Haible  <bruno@clisp.org>
78749
78750                 Portability to AIX 4.3.3.
78751                 * unsetenv.c: New file, extracted from setenv.c.
78752                 * setenv.c: Move the unsetenv() function to unsetenv.c.
78753
78754         2001-12-20  Bruno Haible  <bruno@clisp.org>
78755
78756                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
78757                 use malloc instead. For SunOS 4.
78758
78759         2001-12-11  Bruno Haible  <bruno@clisp.org>
78760
78761                 * setenv.c: Declare alloca.
78762                 (compar_fn_t): New typedef.
78763                 (KNOWN_VALUE, STORE_VALUE): Use it.
78764
78765         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
78766         setenv.h.
78767
78768 2002-12-10  Paul Eggert  <eggert@twinsun.com>
78769
78770         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
78771         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
78772         Choose values that are less likely to collide with system fnmatch
78773         options.
78774         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
78775         defined (e.g., a pure POSIX system).
78776         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
78777         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
78778
78779 2002-12-06  Paul Eggert  <eggert@twinsun.com>
78780
78781         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
78782         a pain in practice to deal with generated m4 files.  This change
78783         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
78784
78785         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
78786         and jm-glibc-io.m4, as they are no longer a special case.
78787         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
78788         kludge and the auto-generation stuff.  Check only whether the
78789         functions are declared, not whether they exist, since older hosts
78790         that don't declare the functions can't use the optimization anyway.
78791
78792 2002-12-06  Jim Meyering  <jim@meyering.net>
78793
78794         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
78795
78796         Merge in changes from libc's misc/error.c, in preparation
78797         for the merge of gnulib's changes back into libc.
78798
78799         * lib/error.c (_): Define only if not already defined.
78800         Move definition to follow all #include directives.
78801         Include unlocked-io.h only if !_LIBC.
78802         [_LIBC]: Include <libio/libioP.h>.
78803         [USE_IN_LIBIO]: Include <libio/iolibio.h>
78804         (fflush): Tweak definition to use INTUSE.
78805         (putc): Define.
78806
78807 2002-12-05  Paul Eggert  <eggert@twinsun.com>
78808
78809         * lib/alloca.c [defined emacs]: Include "lisp.h".
78810         (xalloc_die) [defined emacs]: New macro.
78811         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
78812         [! defined emacs]: Include <xalloc.h>.
78813         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
78814         (pointer): Typedef to POINTER_TYPE *.
78815         (malloc): Remove decl; we now always use xmalloc.
78816         (alloca): Use old-style definition, since Emacs needs this.
78817         Check for arithmetic overflow when computing combined size.
78818
78819 2002-12-04  Paul Eggert  <eggert@twinsun.com>
78820
78821         Do not generate unlocked-io.h automatically, since it's easier to
78822         maintain it by hand.
78823
78824         * lib/unlocked-io.h: New file, from GNU diffutils,
78825         but with proper copyright notice and attribution.
78826         * lib/gen-uio: Remove.
78827         * lib/Makefile.am: Add copyright notice.
78828         (libfetish_a_SOURCES): Add unlocked-io.h.
78829         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
78830         (DISTCLEANFILES, io_functions): Remove macros.
78831         (EXTRA_DIST): Remove gen_uio.
78832         (unlocked-io.h): Remove rule.
78833
78834 2002-12-04  Jim Meyering  <jim@meyering.net>
78835
78836         Reflect the fact that stat.c and lstat.c are no longer generated.
78837         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
78838         (DISTCLEANFILES): Likewise.
78839         (EXTRA_DIST): Likewise.
78840         (all_local): Don't depend on stat.c or lstat.c.
78841         (stat.c, lstat.c): Remove rules.
78842         (EXTRA_DIST): Remove xstat.in.
78843
78844         * lib/xstat.in: Remove file.  Contents moved into stat.c.
78845         * lib/stat.c: New file.  Contents mostly from xstat.in.
78846         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
78847         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
78848
78849         * lib/safe-read.c: Rework so that it may serve to define safe_write,
78850         too.
78851         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
78852
78853 2002-12-03  Jim Meyering  <jim@meyering.net>
78854
78855         * lib/safe-read.c, safe-write.c: Change variable names and comments,
78856         but not semantics, to minimize the differences between these two files.
78857         (safe_read): Change comment to mention SAFE_READ_ERROR.
78858
78859         * lib/safe-read.c (IS_EINTR): Define.
78860         (safe_read): Use IS_EINTR in place of in-function cpp directives.
78861
78862 2002-12-02  Jim Meyering  <jim@meyering.net>
78863
78864         * lib/safe-read.c (EINTR): Define.
78865         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
78866         (INT_MAX): Provide fallback.
78867         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
78868
78869         * lib/safe-read.h (SAFE_READ_ERROR): Define.
78870
78871 2002-12-02  Bruno Haible  <bruno@clisp.org>
78872
78873         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
78874         Define, taken from safe-read.c.
78875         (INT_MAX): Provide fallback.
78876         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
78877         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
78878
78879         * lib/safe-read.c (EINTR): Remove definition.
78880         (safe_read): Don't use EINTR if it is absent.
78881
78882 2002-12-01  Jim Meyering  <jim@meyering.net>
78883
78884         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
78885         zero.
78886         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
78887
78888 2002-11-27  Paul Eggert  <eggert@twinsun.com>
78889
78890         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
78891         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
78892         with `if (! (value < limit)) abort ();', for readability.
78893
78894 2002-11-26  Karl Berry  <karl@gnu.org>
78895
78896         * lib/strdup.c: copy from libc again, with jim's ok.
78897         * lib/.cppi-disable: re-add strdup.c
78898
78899 2002-11-25  Karl Berry  <karl@gnu.org>
78900
78901         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
78902         instead of "strtol.c".
78903
78904 2002-11-25  Karl Berry  <karl@gnu.org>
78905
78906         * config/install-sh: update from automake for variable quoting, $0 in
78907         error msgs, etc.
78908
78909         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
78910         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
78911         entry.
78912
78913 2002-11-25  Jim Meyering  <jim@meyering.net>
78914
78915         * lib/mktime.c: Sync from libc, now that it has the latest fix.
78916
78917 2002-11-24  Karl Berry  <karl@gnu.org>
78918
78919         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
78920         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
78921
78922 2002-11-24  Jim Meyering  <jim@meyering.net>
78923
78924         Update from coreutils:
78925
78926         * lib/mktime.c: Merge in changes from libc.
78927
78928         Avoid a link-time failure on some Linux systems.
78929         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
78930         (otherwise).
78931         (__mon_yday): Declare with the STATIC attribute.
78932         (__mktime_internal): Likewise.
78933         Based on a report from Greg Schafer.
78934
78935 2002-11-23  Jim Meyering  <jim@meyering.net>
78936
78937         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
78938         Use `unsigned', not `int', as type of index.
78939
78940         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
78941
78942         * lib/fsusage.c: Remove unneeded parentheses around operands of
78943         `defined'.
78944
78945 2002-11-22  Paul Eggert  <eggert@twinsun.com>
78946
78947         * lib/quotearg.h: Allow multiple inclusion by surrounding with
78948         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
78949         so that we can be included first.
78950         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
78951         * lib/quotearg.c: Include quotearg.h immediately after config.h.
78952         No need to include stddef.h or sys/types.h any more.
78953         Surround local include files with "", not "<>".
78954         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
78955         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
78956         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
78957         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
78958         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
78959         (ISPRINT): Remove; no longer needed now that we assume C89.
78960
78961         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
78962         Preserve errno.
78963
78964         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
78965         quotearg_char): Use SIZE_MAX rather than
78966         (size_t) -1 when we are talking about "infinity".
78967
78968         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
78969
78970 2002-11-22  Paul Eggert  <eggert@twinsun.com>
78971
78972         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
78973         hint that one should use `if (! x) abort ();' rather than `assert
78974         (x);', and anyway it's one less thing to worry about configuring.
78975         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
78976         hash_rehash, hash_insert): Use abort rather than assert.
78977
78978 2002-11-22  Bruno Haible  <bruno@clisp.org>
78979
78980         * lib/safe-read.h: Assume C89. Add comments.
78981         (safe_read): Change return type to size_t.
78982         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
78983         byte counts > SSIZE_MAX correctly.
78984         * lib/safe-write.h: New file.
78985         * lib/safe-write.c: New file.
78986         * lib/full-read.h: New file.
78987         * lib/full-read.c: New file.
78988         * lib/full-write.h: Assume C89. Add comments.
78989         * lib/full-write.c: Include safe-write.h.
78990         (full_write): Rewritten to use safe_write.
78991         Suggested by Jim Meyering and Paul Eggert.
78992
78993 2002-11-21  Jim Meyering  <jim@meyering.net>
78994
78995         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
78996
78997         Merge in changes from the coreutils.
78998
78999         2002-09-25  Paul Eggert  <eggert@twinsun.com>
79000         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
79001         <stdint.h>.
79002         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
79003         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
79004         int.  Work more efficiently if X is the same width as uintmax_t.
79005         Do not compare X to -1, to avoid bogus compiler warning.
79006         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
79007         Don't assume that f_frsize and f_bsize are the same type.
79008
79009         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
79010         warning on FreeBSD.
79011
79012         * lib/makepath.c (make_path): Restore umask *before* creating the final
79013         component.
79014         (make_path): Minor reformatting.
79015
79016         * lib/xmalloc.c: Adjust to work with new autoconf macros,
79017         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
79018         HAVE_MALLOC/HAVE_REALLOC.
79019
79020         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
79021         dummy ones.  At least on GNU/Linux systems, `auto' means something
79022         else.
79023         From Michael Stone.
79024
79025 2002-11-21  Bruno Haible  <bruno@clisp.org>
79026
79027         Remove case insensitive option matching.
79028         * lib/argmatch.h (argcasematch): Remove declaration.
79029         (ARGCASEMATCH): Remove macro.
79030         (__xargmatch_internal): Remove case_sensitive argument.
79031         (XARGMATCH): Update.
79032         (XARGCASEMATCH): Remove macro.
79033         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
79034         case_sensitive argument.
79035         (argcasematch): Remove function.
79036         (__xargmatch_internal): Remove case_sensitive argument.
79037         (main): Use XARGMATCH instead of XARGCASEMATCH.
79038
79039         * lib/xmalloc.c: Change compile-time error message. Add comment about
79040         required autoconf version.
79041
79042 2002-11-20  Paul Eggert  <eggert@twinsun.com>
79043
79044         Merge argmatch cleanups from Bison.  Assume C89.
79045
79046         * lib/argmatch.c: Include config.h here, not in argmatch.h.
79047         Include stdlib.h, for EXIT_FAILURE.
79048         Always include <string.h>, since we assume C89.
79049         (EXIT_FAILURE): Remove pre-C89 bug workaround.
79050         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
79051         Include <stddef.h> instead, since it's all we need for size_t.
79052         (PARAMS): Remove.  All uses removed.
79053         (ARRAY_CARDINALITY): Do not bother to #undef.
79054         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
79055         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
79056         Remove unnecessary parentheses.
79057         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
79058         Insert necessary parentheses.
79059         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
79060         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
79061
79062 2002-11-19  Bruno Haible  <bruno@clisp.org>
79063
79064         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
79065         * lib/mbswidth.h: Include <stddef.h>, for size_t.
79066
79067         * lib/mbswidth.h (PARAMS): Remove macro.
79068         (mbswidth, mbsnwidth): Use ANSI C function declarations.
79069         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
79070
79071         * lib/gcd.h (PARAMS): Remove macro.
79072         (gcd): Use ANSI C function declarations.
79073         * lib/gcd.c (gcd): Likewise.
79074
79075 2002-11-15  Bruno Haible  <bruno@clisp.org>
79076
79077         * lib/strcspn.c: Include <stddef.h>.
79078         (strcspn): Use ANSI C function declaration. Change return type to
79079         size_t. Use NULL.
79080         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
79081         (strpbrk): Use NULL.
79082         * lib/strpbrk.h (PARAMS): Remove macro.
79083         (strpbrk): Use ANSI C function declaration.
79084         * lib/strstr.c: Don't include <sys/types.h>.
79085         * lib/strstr.h (PARAMS): Remove macro.
79086         (strstr): Use ANSI C function declarations.
79087
79088 2002-11-14  Karl Berry  <karl@gnu.org>
79089
79090         * config/mkinstalldirs: `do' on separate line, instead of
79091         `for var; do'.
79092
79093 2002-11-06  Bruno Haible  <bruno@clisp.org>
79094
79095         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
79096         * lib/gcd.c (gcd): Likewise.
79097
79098 2002-11-05  Bruno Haible  <bruno@clisp.org>
79099
79100         * lib/gcd.h: New file, from gettext-0.11.5.
79101         * lib/gcd.c: New file, from gettext-0.11.5.
79102
79103 2002-11-05  Bruno Haible  <bruno@clisp.org>
79104
79105         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
79106         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
79107         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
79108         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
79109
79110         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
79111         <libintl.h>.
79112         * lib/makepath.c: Include gettext.h instead of <locale.h> and
79113         <libintl.h>.
79114
79115         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
79116         * lib/human.c: Include gettext.h instead of <libintl.h>.
79117         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
79118         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
79119         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
79120         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
79121         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
79122         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
79123         (textdomain): Remove definition.
79124         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
79125
79126         * lib/long-options.c: Remove include of <libintl.h> and definition of
79127         _.
79128         * lib/same.c: Remove include of <libintl.h> and definition of _.
79129
79130 2002-11-04  Owen Taylor  <otaylor@redhat.com>
79131
79132         * lib/config.charset: A few additions for Solaris.
79133
79134 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
79135
79136         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
79137         * lib/localcharset.c (locale_charset): Declare as extern "C".
79138
79139 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
79140
79141         * lib/config.charset: msdos in uk_UA uses CP1125.
79142
79143 2002-11-04  Bruno Haible  <bruno@clisp.org>
79144
79145         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
79146         * lib/strcase.h: New file, from GNU gettext-0.11.5.
79147         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
79148         * lib/strstr.h: New file, from GNU gettext-0.11.5.
79149         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
79150
79151 2002-11-04  Bruno Haible  <bruno@clisp.org>
79152
79153         * lib/localcharset.c (locale_charset): Don't return an empty string.
79154
79155 2002-11-04  Bruno Haible  <bruno@clisp.org>
79156
79157         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
79158         aliases.
79159
79160 2002-11-04  Bruno Haible  <bruno@clisp.org>
79161
79162         * lib/config.charset: Update for newest glibc. Add canonical names
79163         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
79164
79165 2002-11-04  Bruno Haible  <bruno@clisp.org>
79166
79167         * lib/config.charset: Add support for NetBSD.
79168
79169 2002-11-04  Bruno Haible  <bruno@clisp.org>
79170
79171         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
79172
79173 2002-11-01  Bruno Haible  <bruno@clisp.org>
79174
79175         * configure.in: Add AC_CONFIG_AUX_DIR call.
79176         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
79177         test/Makefile.
79178         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
79179
79180 2002-09-28  Karl Berry  <karl@gnu.org>
79181
79182         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
79183         installed automake until the next release, since changes have been
79184         made.
79185
79186 2002-09-25  Karl Berry  <karl@gnu.org>
79187
79188         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
79189         * lib/getopt*: copy from libc/posix.
79190         * lib/gettext.h: copy from gettext.
79191         * lib/.cppi-disable: add strdup.c, gettext.h.
79192
79193 2002-09-25  Karl Berry  <karl@gnu.org>
79194
79195         * config/srclist.txt: enable gettext.h check.
79196         * config/config.{guess,sub}: update from prep.
79197         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
79198                 from automake 1.6.3.
79199         See srclist*.
79200
79201 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
79202
79203         * regex.c (PATFETCH): Remove the translating fetch.
79204         (PATFETCH_RAW): Rename to PATFETCH.
79205         (set_image_of_range): New fun.
79206         (SET_RANGE_TABLE_WORK_AREA): Use it.
79207         (regex_compile): Don't translate the pattern chars so eagerly.
79208         Only do it when inserting an `exactn' bytecode or when handling
79209         a char-range.
79210         (mutually_exclusive_p): Avoid empty statement.
79211
79212 2002-07-06  Jim Meyering  <meyering@lucent.com>
79213
79214         * m4/README: Don't mention Makefile.am.in.
79215         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
79216
79217 2002-07-01  Jim Meyering  <meyering@lucent.com>
79218
79219         * lib/c-stack.c: Include sys/time.h.
79220         From Volker Borchert.
79221
79222 2002-06-26  Paul Eggert  <eggert@twinsun.com>
79223
79224         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
79225
79226 2002-06-26  Paul Eggert  <eggert@twinsun.com>
79227
79228         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
79229         New macro.  Use it uniformly instead of
79230         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
79231         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
79232         reported by Vin Shelton.
79233
79234 2002-06-22  Paul Eggert  <eggert@twinsun.com>
79235
79236         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
79237         Do not assume SA_SIGINFO behavior.
79238         Bug reported by Jim Meyering on NetBSD 1.5.2.
79239
79240 2002-06-22  Jim Meyering  <meyering@lucent.com>
79241
79242         * m4/c-stack.m4: New file, from diffutils-2.8.2.
79243         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
79244
79245         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
79246         now that configure.ac uses AC_GNU_SOURCE.
79247         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
79248         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
79249
79250         Update to latest tools.  Suggestions from Paul Eggert.
79251         * m4/stdbool.m4: New file, from diffutils-2.8.2.
79252         * m4/gnu-source.m4: Update from diffutils-2.8.2.
79253         * m4/fnmatch.m4: Likewise.
79254         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
79255         to AC_HEADER_STDBOOL
79256
79257 2002-06-22  Jim Meyering  <meyering@lucent.com>
79258
79259         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
79260         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
79261
79262 2002-06-22  Jim Meyering  <meyering@lucent.com>
79263
79264         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
79265
79266         * lib/exitfail.c, exitfail.h: Likewise.
79267         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
79268
79269         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
79270         of fnmatch.h.
79271         (EXTRA_DIST): Add fnmatch_loop.c.
79272         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
79273
79274         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
79275         * lib/fnmatch.c: Update from diffutils-2.8.2.
79276         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
79277         * lib/fnmatch.h: Remove file.
79278
79279 2002-06-21  Jim Meyering  <meyering@lucent.com>
79280
79281         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
79282         * m4/mbrtowc.m4: Likewise.
79283
79284         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
79285         * m4/mbswidth.m4: Reflect name change:
79286         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
79287         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
79288
79289         * m4/lib-link.m4: Update from gettext-0.11.2.
79290         * m4/gettext.m4: Likewise.
79291
79292         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
79293         From Alfred M. Szmidt.
79294
79295 2002-06-18  Paul Eggert  <eggert@twinsun.com>
79296
79297         * lib/file-type.h: Report an error if neither S_ISREG nor
79298         S_IFREG is defined, instead of using a test specific to glibc
79299         2.2.  This should be safe, since POSIX requires S_ISREG and
79300         Unix Version 7 had S_IFREG.  We don't need to check for
79301         <sys/types.h> since we don't use any symbols that it defines.
79302
79303 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
79304
79305         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
79306         $@-t, so that each temporary file name is unique and valid in the first
79307         8 characters, for operation under DOS.
79308
79309 2002-06-15  Paul Eggert  <eggert@twinsun.com>
79310
79311         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
79312
79313 2002-06-15  Jim Meyering  <meyering@lucent.com>
79314
79315         Work even with DJGPP 2.03, which lacks support for symlinks.
79316         From Richard Dawe.
79317         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
79318         is defined.
79319         * lib/lchown.c (S_ISLNK): Likewise.
79320
79321 2002-06-15  Jim Meyering  <meyering@lucent.com>
79322
79323         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
79324         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
79325         have been included before this file.
79326
79327 2002-06-14  Jim Meyering  <meyering@lucent.com>
79328
79329         * lib/file-type.h: Use the version from diffutils-2.8.2.
79330         * lib/file-type.c: Likewise.
79331
79332 2002-06-07  Jim Meyering  <meyering@lucent.com>
79333
79334         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
79335         They're needed at least for NetBSD 1.5.2.
79336         ($statxfs_includes): Include those same headers.
79337         ($statxfs_includes): Include sys/vfs.h if available.
79338         ($statxfs_includes): Likewise for sys/statvfs.h.
79339         Check for the following members in both structs statfs and statvfs:
79340         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
79341
79342 2002-06-01  Jim Meyering  <meyering@lucent.com>
79343
79344         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
79345         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
79346
79347 2002-05-28  Jim Meyering  <meyering@lucent.com>
79348
79349         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
79350         Reported by Volker Borchert.
79351
79352 2002-05-27  Jim Meyering  <meyering@lucent.com>
79353
79354         Fix a problem seen only on nonconforming systems whereby ls.c's
79355         use of localtime, and then of gettimeofday would cause trouble:
79356         the localtime call used to initialize rpl_gettimeofday's save
79357         mechanism would clobber ls's current local time information so
79358         that in any long listing the first file would always be listed
79359         with date 1970-01-01.  Analysis by Volker Borchert.
79360
79361         * lib/gettimeofday.c (localtime): Undefine.
79362         (rpl_localtime): New function.
79363
79364 2002-05-27  Jim Meyering  <meyering@lucent.com>
79365
79366         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
79367         localtime.
79368
79369         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
79370         use the replacement function; it wouldn't resolve at link time.
79371         Reported by Volker Borchert.
79372
79373 2002-05-22  Jim Meyering  <meyering@lucent.com>
79374
79375         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
79376         file-type.h.
79377         * lib/file-type.h: New file.
79378         * lib/file-type.c (file_type): New file/function.  Extracted from
79379         diffutils.
79380
79381 2002-04-30  Jim Meyering  <meyering@lucent.com>
79382
79383         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
79384
79385 2002-04-29  Paul Eggert  <eggert@twinsun.com>
79386
79387         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
79388
79389 2002-04-29  Paul Eggert  <eggert@twinsun.com>
79390
79391         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
79392         Do not check for alloca.h (no longer used) or stdbool.h (was never
79393         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
79394
79395 2002-04-29  Paul Eggert  <eggert@twinsun.com>
79396
79397         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
79398
79399 2002-04-29  Jim Meyering  <meyering@lucent.com>
79400
79401         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
79402         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
79403         Use AC_FUNC_STRNLEN here instead.
79404
79405         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
79406         With autoconf-2.53a, it's part of AC_PROG_CC.
79407
79408 2002-04-28  Paul Eggert  <eggert@twinsun.com>
79409
79410         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
79411         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
79412
79413 2002-04-28  Paul Eggert  <eggert@twinsun.com>
79414
79415         * lib/sig2str.h, lib/sig2str.c: New files.
79416         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
79417
79418 2002-04-28  Paul Eggert  <eggert@twinsun.com>
79419
79420         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
79421         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
79422         of 127, since 64 is the largest conceivable number for ancient
79423         nonstandard hosts.
79424         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
79425
79426 2002-04-28  Jim Meyering  <meyering@lucent.com>
79427
79428         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
79429
79430 2002-04-24  Jim Meyering  <meyering@lucent.com>
79431
79432         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
79433         (jm_PREREQ): Use it.
79434
79435         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
79436         mach/mach.h fcntl.h.
79437         Check for this function: setlocale.
79438
79439 2002-04-24  Jim Meyering  <meyering@lucent.com>
79440
79441         * lib/gettext.h: New file, from Gettext.
79442         * lib/Makefile.am (INCLUDES): Remove -I../intl.
79443         (libfetish_a_SOURCES): Add gettext.h.
79444
79445 2002-04-16  Jim Meyering  <meyering@lucent.com>
79446
79447         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
79448         ut_pid, ut_id, ut_exit.
79449
79450 2002-04-16  Jim Meyering  <meyering@lucent.com>
79451
79452         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
79453         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
79454         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
79455
79456 2002-04-12  Jim Meyering  <meyering@lucent.com>
79457
79458         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
79459         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
79460         existence of the getmntinfo function.  Needed for Darwin 5.3.
79461
79462         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
79463         This is necessary at least on Darwin 5.3.
79464
79465         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
79466         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
79467         strnlen.o in the library, and that makes some versions of ranlib
79468         object.
79469
79470 2002-04-12  Jim Meyering  <meyering@lucent.com>
79471
79472         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
79473
79474 2002-04-09  Jim Meyering  <meyering@lucent.com>
79475
79476         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
79477         to be more precise.  Rather than saying we're checking whether the
79478         function `works', say what we're testing.
79479         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
79480         Reported by Bruno Haible.
79481
79482 2002-03-10  Jim Meyering  <meyering@lucent.com>
79483
79484         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
79485         Suggestion from Santiago Vila.
79486
79487 2002-03-08  Jim Meyering  <meyering@lucent.com>
79488
79489         * lib/rename.c: Mention that this wrapper is needed also on
79490         mips-dec-ultrix4.4 systems.
79491
79492 2002-03-02  Jim Meyering  <meyering@lucent.com>
79493
79494         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
79495         not HAVE_CLOCK_SETTIME.
79496
79497 2002-02-27  Paul Eggert  <eggert@twinsun.com>
79498
79499         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
79500         Check for clock_settime.
79501
79502 2002-02-27  Paul Eggert  <eggert@twinsun.com>
79503
79504         * lib/nanosleep.h: Rename to....
79505         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
79506
79507         * lib/gettime.c: New file.
79508         * lib/settime.c: New file.
79509         * lib/stime.c: Remove.
79510
79511         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
79512         timespec.h.  Remove nanosleep.h.
79513
79514 2002-02-25  Paul Eggert  <eggert@twinsun.com>
79515
79516         * m4/acl.m4: New file.
79517         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
79518         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
79519
79520 2002-02-25  Paul Eggert  <eggert@twinsun.com>
79521
79522         * lib/acl.c, lib/acl.h: New files.
79523         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
79524
79525 2002-02-24  Jim Meyering  <meyering@lucent.com>
79526
79527         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
79528         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
79529         cause trouble.  Reported by Nelson Beebe.
79530
79531 2002-02-23  Paul Eggert  <eggert@twinsun.com>
79532
79533         * lib/path-concat.c (xpath_concat): Reorder code to pacify
79534         compilers that don't know that xalloc_die never returns.
79535
79536 2002-02-20  Jim Meyering  <meyering@lucent.com>
79537
79538         * lib/getdate.c: Regenerate using bison-1.33.
79539
79540 2002-02-17  Jim Meyering  <meyering@lucent.com>
79541
79542         * config/config.guess (main): Don't use `head -1'; it's no longer
79543         portable. Use `sed 1q' instead.
79544
79545 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
79546
79547         * m4/codeset.m4: Upgrade to gettext-0.11.
79548         * m4/gettext.m4: Upgrade to gettext-0.11.
79549         * m4/glibc21.m4: Upgrade to gettext-0.11.
79550         * m4/iconv.m4: Upgrade to gettext-0.11.
79551         * m4/isc-posix.m4: Upgrade to gettext-0.11.
79552         * m4/lcmessage.m4: Upgrade to gettext-0.11.
79553         * m4/lib-ld.m4: New file, from gettext-0.11.
79554         * m4/lib-link.m4: New file, from gettext-0.11.
79555         * m4/lib-prefix.m4: New file, from gettext-0.11.
79556         * m4/progtest.m4: Upgrade to gettext-0.11.
79557
79558 2002-02-15  Paul Eggert  <eggert@twinsun.com>
79559
79560         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
79561         (jm_PREREQ): Use it.
79562
79563 2002-02-15  Paul Eggert  <eggert@twinsun.com>
79564
79565         * lib/posixver.c, lib/posixver.h: New files.
79566         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
79567
79568 2002-02-02  Paul Eggert  <eggert@twinsun.com>
79569             Bruno Haible  <bruno@clisp.org>
79570
79571         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
79572         (fwrite_success_callback): New declaration.
79573         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
79574         print_unicode_char. Call failure callback instead of error.
79575         (fwrite_success_callback): New function.
79576         (exit_failure_callback): New function.
79577         (fallback_failure_callback): New function.
79578         (print_unicode_char): Call unicode_to_mb.
79579
79580 2002-01-26  Jim Meyering  <meyering@lucent.com>
79581
79582         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
79583         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
79584
79585 2002-01-26  Jim Meyering  <meyering@lucent.com>
79586
79587         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
79588
79589 2002-01-22  Paul Eggert  <eggert@twinsun.com>
79590
79591         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
79592
79593 2002-01-22  Jim Meyering  <meyering@lucent.com>
79594
79595         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
79596         Otherwise, some versions of automake would omit the rule that makes
79597         Makefile from Makefile.in.
79598
79599 2002-01-21  Paul Eggert  <eggert@twinsun.com>
79600
79601         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
79602         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
79603         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
79604         (memcoll): Set errno to zero if there is no error.
79605
79606         * lib/quotearg.c (quotearg_buffer_restyled):
79607         Fix bug with quoting buffers containing NUL when backslashing escapes.
79608         This bug was exposed by the other changes in this patch.
79609         (quotearg_n_options): New arg ARGSIZE.
79610         All callers changed.
79611         (quoting_options_from_style): New function.
79612         (quotearg_n_style): Use it.
79613         (quotearg_n_style_mem): New function.
79614
79615         * lib/quotearg.h (quotearg_n_style_mem): New function.
79616
79617 2002-01-19  Jim Meyering  <meyering@lucent.com>
79618
79619         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
79620         Remove useless quotes: DF_PROG="df".
79621         * m4/strnlen.m4: New file.
79622
79623 2002-01-16  Paul Eggert  <eggert@twinsun.com>
79624
79625         * lib/backupfile.c (ISDIGIT): Comment fix.
79626         * lib/getdate.y (ISDIGIT): Likewise.
79627         * lib/posixtm.c (ISDIGIT, year): Likewise.
79628         * lib/strverscmp.c (ISDIGIT): Likewise.
79629         * lib/userspec.c (ISDIGIT): Likewise.
79630
79631 2002-01-16  Jim Meyering  <meyering@lucent.com>
79632
79633         * lib/getdate.y: Add three semicolons, each just before a closing
79634         brace. Bison (as of version 1.31) no longer papers over that mistake.
79635
79636 2002-01-05  Jim Meyering  <meyering@lucent.com>
79637
79638         * lib/version-etc.c (version_etc_copyright): Update copyright year.
79639
79640 2001-12-19  Paul Eggert  <eggert@twinsun.com>
79641
79642         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
79643         not silently exit merely because the output buffer happens to
79644         have nothing pending.
79645
79646 2001-12-18  Paul Eggert  <eggert@twinsun.com>
79647
79648         See the big note in ../ChangeLog.
79649         * lib/human.c (suffixes): Prefer K to k for 1024.
79650         (generate_suffix_backwards): New function.
79651         (human_readable_inexact): Use it.
79652         * lib/xstrtol.c (__xstrtol): If there is no number but there
79653         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
79654         Accept 'K' as well as 'k'.
79655
79656 2001-12-15  Jim Meyering  <meyering@lucent.com>
79657
79658         * lib/regex.h (__restrict_arr): Update from libc.
79659
79660         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
79661         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
79662         (STREQ): Define.
79663
79664 2001-12-14  Jim Meyering  <meyering@lucent.com>
79665
79666         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
79667         Suggestion from Bruno Haible.
79668
79669 2001-12-10  Jim Meyering  <meyering@lucent.com>
79670
79671         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
79672         xrealloc, Instead, include "xalloc.h".
79673         (initbuffer): Don't cast xmalloc return value to char*.
79674         (readline): Reword comment.
79675         Don't cast xrealloc return value to char*
79676         Return NULL, not 0.
79677
79678 2001-12-09  Jim Meyering  <meyering@lucent.com>
79679
79680         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
79681         about `signed and unsigned type in conditional expression'.
79682         * lib/posixtm.c (posix_time_parse): Likewise.
79683
79684         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
79685
79686         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
79687         to avoid a pedantic warning.
79688
79689         * lib/getstr.c: Don't include assert.h.
79690         (getstr): Remove warning-evoking assertions.
79691         Return -1 if offset parameter is out of bounds.
79692         Change the type of a local from int to size_t.
79693
79694         * lib/strftime.c (my_strftime_localtime_r): Include this function
79695         definition in the `#if ! HAVE_TM_GMTOFF' block.
79696
79697         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
79698         Include xalloc.h instead.
79699
79700 2001-12-02  Jim Meyering  <meyering@lucent.com>
79701
79702         * lib/tempname.c: Don't declare getenv, thus reverting the change of
79703         2001-11-18.  It's no longer necessary, now that stdlib.h is always
79704         included.
79705
79706         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
79707         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
79708
79709 2001-11-30  Akim Demaille  <akim@epita.fr>
79710
79711         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
79712         before being defined.
79713
79714 2001-11-27  Paul Eggert  <eggert@twinsun.com>
79715
79716         * lib/quotearg.h (quotearg_n, quotearg_n_style):
79717         First arg is int, not unsigned.
79718         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
79719         (SIZE_MAX, UINT_MAX): New macros.
79720         (quotearg_n_options): Abort if N is negative.
79721         Avoid overflow check on hosts where size_t is 64 bits and int
79722         is 32 bits, as overflow is impossible there.
79723         Fix off-by-one typo that caused unnecessary reallocation.
79724
79725 2001-11-27  Jim Meyering  <meyering@lucent.com>
79726
79727         * lib/tempname.c: Merge with version from libc.
79728         * lib/regex.c: Likewise.
79729
79730         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
79731         systems for which STDC_HEADERS is 0, it was not included, resulting in
79732         a warning about an integer-to-pointer conversion problem with getenv.
79733         Reported by Volker Borchert.
79734
79735 2001-11-26  Jim Meyering  <meyering@lucent.com>
79736
79737         * lib/gtod.h: Remove file.
79738         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
79739         * lib/gettimeofday.c: Don't include gtod.h.
79740         (GTOD_init): Remove function.
79741         (rpl_gettimeofday): Do its job here instead, rather than aborting.
79742         Suggestion from Volker Borchert.
79743
79744 2001-11-23  Jim Meyering  <meyering@lucent.com>
79745
79746         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
79747         it.
79748         * lib/hash.c (struct hash_table): Define it here instead.
79749
79750 2001-11-22  Jim Meyering  <meyering@lucent.com>
79751
79752         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
79753
79754 2001-11-20  Jim Meyering  <meyering@lucent.com>
79755
79756         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
79757         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
79758
79759 2001-11-19  Jim Meyering  <meyering@lucent.com>
79760
79761         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
79762         directory.  Use "conftestXXXXXX" as the template.
79763         Suggestion from Paul Eggert.
79764
79765         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
79766         immediately, so the test doesn't mistakenly hit the max-open-files
79767         limit.
79768
79769 2001-11-18  Paul Eggert  <eggert@twinsun.com>
79770
79771         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
79772         (TEMPORARIES): New macro.
79773         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
79774         removes an artificial limitation (e.g. HP-UX 10.20, where
79775         TMP_MAX is 17576).
79776
79777 2001-11-18  Jim Meyering  <meyering@lucent.com>
79778
79779         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
79780
79781 2001-11-18  Jim Meyering  <meyering@lucent.com>
79782
79783         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
79784         on SunOS 4.
79785
79786         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
79787         files will be created before anything else.
79788
79789 2001-11-17  Paul Eggert  <eggert@twinsun.com>
79790
79791         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
79792         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
79793
79794 2001-11-17  Jim Meyering  <meyering@lucent.com>
79795
79796         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
79797         Prompted by a report from Bob Proulx.
79798
79799         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
79800         Instead, require UTILS_FUNC_MKSTEMP.
79801
79802 2001-11-17  Jim Meyering  <meyering@lucent.com>
79803
79804         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
79805         Now, that's done as part of AC_FUNC_STRTOD.
79806
79807 2001-11-17  Jim Meyering  <meyering@lucent.com>
79808
79809         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
79810         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
79811         rather than group writable.  Patch by Juan F. Codagnone.
79812
79813         * lib/readtokens.c: Remove explicit declarations of xmalloc and
79814         xrealloc, Instead, include "xalloc.h".
79815
79816         * lib/mountlist.c: Include unlocked-io.h after all system headers.
79817         Remove explicit declarations of xmalloc, xrealloc,
79818         and xstrdup.  Instead, include "xalloc.h".
79819
79820         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
79821         unlocked-io.h.
79822         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
79823         Likewise.
79824         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
79825
79826         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
79827         Reported by Padraig Brady.
79828
79829         * lib/mkstemp.c: #undef mkstemp.
79830         Include config.h.
79831         (rpl_mkstemp): Rename from mkstemp.
79832         Protoize.
79833
79834 2001-11-16  Jim Meyering  <meyering@lucent.com>
79835
79836         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
79837         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
79838         determine the amount of total physical memory, use pstat_getstatic.
79839         HPUX-11 doesn't define _SC_PHYS_PAGES.
79840         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
79841         If sysconf couldn't be used to determine the amount of available
79842         physical memory, use both pstat_getstatic and pstat_getdynamic.
79843         Based on a patch from Bob Proulx.
79844
79845 2001-11-10  Jim Meyering  <meyering@lucent.com>
79846
79847         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
79848         (jm_PREREQ): Use it.
79849
79850 2001-11-09  Jim Meyering  <meyering@lucent.com>
79851
79852         * m4/jm-macros.m4: Require autoconf-2.52f.
79853         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
79854         Use these AC_-prefixed names, not the AM_-prefixed ones.
79855
79856         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
79857
79858 2001-11-05  Jim Meyering  <meyering@lucent.com>
79859
79860         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
79861
79862 2001-11-04  Jim Meyering  <meyering@lucent.com>
79863
79864         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
79865         $DEFS.
79866
79867 2001-11-03  Jim Meyering  <meyering@lucent.com>
79868
79869         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
79870         of AC_DEFUN.
79871
79872         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
79873         know the name of the variable in the macro definition.
79874
79875 2001-11-03  Jim Meyering  <meyering@lucent.com>
79876
79877         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
79878         in argmatch_to_argument call.
79879
79880         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
79881         argument.
79882
79883         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
79884         e.g., a fault due to an attempt to free a NULL pointer.
79885
79886 2001-11-01  Jim Meyering  <meyering@lucent.com>
79887
79888         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
79889         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
79890
79891 2001-11-01  Jim Meyering  <meyering@lucent.com>
79892
79893         * lib/dirfd.c, lib/dirfd.h: New files.
79894         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
79895
79896         * lib/hash.c (hash_print) [TESTING]: Clean up.
79897
79898 2001-10-22  Paul Eggert  <eggert@twinsun.com>
79899
79900         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
79901         to avoid a warning if -Wall.
79902
79903 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
79904
79905         * README: New file
79906         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
79907         (per RMS's instructions, this is now the canonical source)
79908         * lgpl/, gpl/: New directories.
79909
79910 2001-10-21  Paul Eggert  <eggert@twinsun.com>
79911
79912         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
79913
79914 2001-10-21  Jim Meyering  <meyering@lucent.com>
79915
79916         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
79917         this code would end up calling gettext even in packages built
79918         with --disable-nls.
79919         * lib/getopt.c (_): Likewise.
79920         * lib/regex.c (_): Likewise.
79921
79922 2001-10-20  Paul Eggert  <eggert@twinsun.com>
79923
79924         * m4/error.m4 (jm_PREREQ_ERROR):
79925         Do not invoke AC_CHECK_FUNCS with strerror_r, as
79926         AC_FUNC_STRERROR_R does that.
79927         Check for strerror declaration.
79928
79929         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
79930         are supposed to have them these days.
79931         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
79932         Merge changes from latest Autoconf CVS.
79933         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
79934         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
79935         POSIX decided to standardize on the int flavor of strerror_r.
79936
79937 2001-10-20  Paul Eggert  <eggert@twinsun.com>
79938
79939         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
79940         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
79941         Use strerror_r that is only a macro, even if it is not a function.
79942         (strerror): Check for HAVE_DECL_STRERROR before declaring.
79943         (private_strerror): Use prototypes, not old-style function definition.
79944         (print_errno_message): New function.
79945         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
79946         char*-flavored one.
79947         (error_tail, error, error_at_line): Use it.
79948
79949 2001-10-11  Jim Meyering  <meyering@lucent.com>
79950
79951         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
79952         and quote_n (1, ... to avoid clobbering a buffer.
79953
79954 2001-10-05  Jim Meyering  <meyering@lucent.com>
79955
79956         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
79957         hash-pjw.h.
79958         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
79959         * lib/hash-pjw.h: New file.
79960
79961 2001-09-30  Jim Meyering  <meyering@lucent.com>
79962
79963         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
79964         `struct fsstat' has the `f_fstypename' member.
79965         Use that to define FS_TYPE, which is now used to make
79966         the getfsstat link test tighter.
79967
79968 2001-09-30  Jim Meyering  <meyering@lucent.com>
79969
79970         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
79971         Include <sys/ucred.h>, for Apple Darwin.
79972         Include sys/mount.h and sys/fs_types.h only if available.
79973         (FS_TYPE): Define.
79974         (read_filesystem_list): Use FS_TYPE.
79975
79976 2001-09-29  Paul Eggert  <eggert@twinsun.com>
79977
79978         * lib/exclude.c (excluded_filename): 0 -> false, since it's
79979         a boolean context.
79980
79981 2001-09-29  Jim Meyering  <meyering@lucent.com>
79982
79983         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
79984         [one-argument getmntent function]): Include stdio.h before mntent.h.
79985         SunOS 4.1.x needs it for the declaration of `FILE'.
79986         Patch by Volker Borchert.
79987
79988         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
79989         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
79990         sys/fs_types.h, and make the link-test for getfsstat guard #include
79991         directives with appropriate #if HAVE_*_H tests so that we can
79992         detect getfsstat on Apple Darwin1.3.7 systems.
79993         Reported by Nelson Beebe.
79994         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
79995
79996 2001-09-28  Paul Eggert  <eggert@twinsun.com>
79997
79998         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
79999         #defines strtoimax.  Also treat the other strto* functions
80000         like strtoimax.
80001
80002         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
80003         Check for strtoul and strtoumax,
80004         as those declarations are made even in the signed case.
80005         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
80006         Likewise, for strtol and strtoimax.
80007
80008 2001-09-28  Paul Eggert  <eggert@twinsun.com>
80009
80010         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
80011         #defines strtoimax.  Also treat the other strto* functions
80012         like strtoimax.
80013
80014         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
80015         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
80016         (strtoimax, strtoumax): Do not declare if already defined as a macro.
80017
80018 2001-09-26  Jim Meyering  <meyering@lucent.com>
80019
80020         Most macros in unlocked-io.h had the wrong number of arguments.
80021         * lib/gen-uio: New script.
80022         (USE_UNLOCKED_IO): Define to 1 if not already defined.
80023         * lib/unlocked-io.hin: Remove file.
80024         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
80025         rather than trying to embed it here.
80026         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
80027         Reported by Padraig Brady.
80028
80029 2001-09-25  Volker Borchert  <bt@teknon.de>
80030
80031         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
80032         `result'.
80033
80034 2001-09-24  Jim Meyering  <meyering@lucent.com>
80035
80036         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
80037
80038 2001-09-23  Jim Meyering  <meyering@lucent.com>
80039
80040         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
80041         instead of the mere test for existence of mntent.h.  The latter
80042         would get a false-positive on AIX 3.4 systems.
80043         In the outer getmntent if-block, don't die if neither of the getmntent
80044         tests succeeds.  Instead, just fall through and continue with the
80045         remaining tests.
80046
80047 2001-09-23  Jim Meyering  <meyering@lucent.com>
80048
80049         * lib/mountlist.c: Remove useless parentheses in #if directives.
80050         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
80051         the deprecated MOUNTED symbol is no longer defined in mntent.h.
80052
80053 2001-09-22  Jim Meyering  <meyering@lucent.com>
80054
80055         * m4/gettext.m4: New file.  From gettext.
80056         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
80057         * m4/progtest.m4: Likewise
80058         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
80059         * m4/glibc21.m4: Likewise.
80060
80061         * m4/libintl.m4: Remove.  No longer used.
80062
80063 2001-09-22  Jim Meyering  <meyering@lucent.com>
80064
80065         * lib/localcharset.c: Update from latest gettext.
80066         * lib/config.charset: Likewise.
80067
80068 2001-09-20  Jim Meyering  <meyering@lucent.com>
80069
80070         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
80071         strtoimax.
80072         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
80073         strtoumax.
80074
80075 2001-09-20  Jim Meyering  <meyering@lucent.com>
80076
80077         * lib/xstrtol.c (strtoimax): Guard declaration with
80078         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
80079         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
80080         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
80081         (strtoumax): Likewise, for completeness (it wasn't necessary).
80082
80083 2001-09-17  Paul Eggert  <eggert@twinsun.com>
80084
80085         * lib/strtoimax.c (HAVE_LONG_LONG):
80086         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
80087         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
80088         to work around bug in IBM C compiler.
80089
80090 2001-09-17  Jim Meyering  <meyering@lucent.com>
80091
80092         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
80093         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
80094         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
80095         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
80096         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
80097         whenever the right hand side need not be expanded by the shell.
80098
80099 2001-09-16  Paul Eggert  <eggert@twinsun.com>
80100
80101         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
80102         library.  It's not correct, as some older glibcs are buggy.
80103         fnmatch wasn't fixed until glibc 2.2.
80104
80105         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
80106         special shell magic here.
80107
80108 2001-09-16  Jim Meyering  <meyering@lucent.com>
80109
80110         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
80111         * m4/jm-macros.m4: Require it.
80112
80113 2001-09-16  Jim Meyering  <meyering@lucent.com>
80114
80115         * lib/mkdir.c: New file.
80116
80117 2001-09-15  Jim Meyering  <meyering@lucent.com>
80118
80119         * m4/jm-macros.m4: Check for help2man.
80120
80121 2001-09-11  Jim Meyering  <meyering@lucent.com>
80122
80123         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
80124         The body, by Paul Eggert, was moved here from configure.in.
80125         * m4/jm-macros.m4: Require UTILS_HOST_OS.
80126
80127 2001-09-04  Paul Eggert  <eggert@twinsun.com>
80128
80129         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
80130         (jm_PREREQ): Use it.
80131
80132 2001-09-04  Paul Eggert  <eggert@twinsun.com>
80133
80134         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
80135         Use ssize_t, not int, to store result of readlink.
80136         Check for ssize_t overflow as well as size_t overflow,
80137         as POSIX says the result of readlink is implementation-defined
80138         when ssize_t overflows.
80139         Remove unnecessary cast to char*.
80140         Use free+malloc instead of realloc, as the storage doesn't need
80141         to be preserved and it's clearer and can be more efficient that way.
80142         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
80143         * lib/xreadlink.h (xreadlink): Update prototype.
80144
80145 2001-09-04  Paul Eggert  <eggert@twinsun.com>
80146
80147         * lib/xgetcwd.c: Revert some of the previous change; intead,
80148         fix the HAVE_GETCWD_NULL code to behave more like the
80149         !HAVE_GETCWD_NULL code used to.
80150
80151         Include "xalloc.h".
80152         (xgetcwd): Do not return NULL when memory is exhausted; instead,
80153         invoke xalloc_die.
80154
80155 2001-09-03  Paul Eggert  <eggert@twinsun.com>
80156
80157         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
80158         sys/param.h, as pathmax.h includes them.
80159
80160 2001-09-03  Paul Eggert  <eggert@twinsun.com>
80161
80162         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
80163         (jm_PREREQ_XGETCWD): New macro.
80164
80165         * m4/getcwd.m4: New file.
80166
80167 2001-09-03  Paul Eggert  <eggert@twinsun.com>
80168
80169         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
80170         like the HAVE_GETCWD_NULL code.
80171         Include pathmax.h if not HAVE_GETCWD.
80172         Do not include xalloc.h.
80173         (INITIAL_BUFFER_SIZE): New symbol.
80174         Do not use xmalloc / xrealloc, since the caller is responsible for
80175         handling errors.  Preserve errno around `free' during failure.
80176         Do not overrun buffer when using getwd.
80177
80178 2001-09-03  Paul Eggert  <eggert@twinsun.com>
80179
80180         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
80181         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
80182         getcwd (NULL, 0).
80183
80184 2001-09-03  Paul Eggert  <eggert@twinsun.com>
80185
80186         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
80187         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
80188         spotted by Jim Meyering.
80189
80190 2001-09-03  Jim Meyering  <meyering@lucent.com>
80191
80192         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
80193         failure.
80194
80195 2001-09-02  Jim Meyering  <meyering@lucent.com>
80196
80197         * lib/error.c: Update from GNU libc.
80198
80199 2001-09-01  Jim Meyering  <meyering@lucent.com>
80200
80201         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
80202         Used by df.
80203
80204 2001-09-01  Jim Meyering  <meyering@lucent.com>
80205
80206         * lib/xreadlink.c: New file.
80207         * lib/xreadlink.h: New file.
80208         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
80209         xreadlink.h.
80210
80211         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
80212         doesn't conflict with sparc Solaris 7's definition in
80213         /usr/include/sys/int_types.h.
80214
80215         * lib/exclude.c: Use `""', not `<>' to #include non-system header
80216         files.
80217         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
80218         and strncasecmp as r-values.  Unixware didn't have declarations.
80219
80220 2001-08-31  Paul Eggert  <eggert@twinsun.com>
80221
80222         * lib/xstrtol.h: Add copyright notice.
80223         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
80224         LONGINT_INVALID_SUFFIX_CHAR.
80225
80226 2001-08-31  Paul Eggert  <eggert@twinsun.com>
80227
80228         * lib/xstrtol.c (strtoimax): New decl.
80229
80230 2001-08-31  Paul Eggert  <eggert@twinsun.com>
80231
80232         * lib/xgetcwd.c: Don't include pathmax.h.
80233         Include stdlib.h and unistd.h if available.
80234         Include xalloc.h.
80235         (xmalloc, xstrdup, free): Remove decls.
80236         (xgetcwd): Don't assume sizes fit in unsigned.
80237         Check for overflow when computing sizes.
80238         Simplify reallocation code.
80239
80240 2001-08-31  Paul Eggert  <eggert@twinsun.com>
80241
80242         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
80243         a directory's st_size can have an arbitrary value, so the old
80244         usage could waste an arbitrary amount of memory.  All uses
80245         changed.
80246         * lib/savedir.h: Update prototype.
80247
80248 2001-08-31  Paul Eggert  <eggert@twinsun.com>
80249
80250         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
80251
80252         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
80253         old strtoimax.c.
80254
80255         Also, make the following further changes to make this file's
80256         configuration more similar to that of strtol.c:
80257         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
80258         (strtoumax, uintmax_t, strtoull, strtol): Remove.
80259         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
80260         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
80261         changed to signed values.
80262
80263         And make the following changes as well:
80264         Fix copyright notice, as 1999 was missing.
80265         (verify): New macro.
80266         (strtoimax): Check sizes at compile-time, not run-time.
80267         Prefer strtol to strtoll if both work.
80268         (main): Remove; it was not that useful and was a pain to maintain.
80269
80270         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
80271
80272 2001-08-31  Jim Meyering  <meyering@lucent.com>
80273
80274         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
80275         Use an initial, malloc'd, buffer of length 128 rather than
80276         a statically allocated one of length 1024.
80277
80278 2001-08-30  Paul Eggert  <eggert@twinsun.com>
80279
80280         Simplify code, partly by assuming autoconf 2.52 semantics.
80281
80282         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
80283
80284         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
80285         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
80286         All uses removed.
80287         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
80288         Move AC_REQUIRE to next-to-top level, to avoid confusion.
80289         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
80290         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
80291         jm_AC_HEADER_INTTYPES_H.
80292         * m4/jm-macros.m4 (jm_MACROS): Likewise.
80293
80294         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
80295
80296         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
80297         Quote first arg of AC_DEFUN.
80298         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
80299         since they are needed to parse the include file even if we need
80300         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
80301         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
80302         but with opposite signedness.
80303
80304 2001-08-30  Paul Eggert  <eggert@twinsun.com>
80305
80306         Merge 'exclude' changes from tar 1.13.22.
80307         This fixes one or two unlikely storage allocation overflow bugs,
80308         but doesn't change user-visible behavior otherwise.
80309
80310 2001-08-30  Paul Eggert  <eggert@twinsun.com>
80311
80312         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
80313         (jm_PREREQ_EXCLUDE): New macro.
80314
80315 2001-08-30  Paul Eggert  <eggert@twinsun.com>
80316
80317         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
80318         tm to be declared.
80319
80320 2001-08-30  Paul Eggert  <eggert@twinsun.com>
80321
80322         * lib/hash.c: Remove '2001' from copyright notice.
80323
80324 2001-08-30  Paul Eggert  <eggert@twinsun.com>
80325
80326         * lib/full-write.h: New file.
80327         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
80328         * lib/full-write.c: Correct credits, as cccp.c no longer
80329         exists and anyway it was so heavily changed from the old cccp
80330         code as to be unrecognizable.  Include full-write.h.
80331         (full_write): Return size_t, with short writes meaning failure.
80332         All callers changed.  This fixes a bug with large buffers
80333         on 64-bit hosts.
80334         * lib/utime.c: Include full-write.h.
80335
80336 2001-08-30  Paul Eggert  <eggert@twinsun.com>
80337
80338         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
80339         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
80340         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
80341         Include if available.
80342         (<xalloc.h>): Include
80343         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
80344         (verify): New macro.  Use it to verify that EXCLUDE macros do not
80345         collide with FNM macros.
80346         (struct patopts): New struct.
80347         (struct exclude): Use it, as exclude patterns now come with options.
80348         (new_exclude): Support above changes.
80349         (new_exclude, add_exclude_file):
80350         Initial size must now be a power of two to simplify overflow checking.
80351         (free_exclude, fnmatch_no_wildcards): New function.
80352         (excluded_filename): No longer requires options arg, as the options
80353         are determined by add_exclude.  Now returns bool, not int.
80354         (excluded_filename, add_exclude):
80355         Add support for the fancy new exclusion options.
80356         (add_exclude, add_exclude_file): Now takes int options arg.
80357         Check for arithmetic overflow when computing sizes.
80358         (add_exclude_file): xrealloc might modify errno, so don't
80359         realloc until after errno might be used.
80360
80361         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
80362         New macros.
80363         (free_exclude): New decl.
80364         (add_exclude, add_exclude_file): Now takes int options arg.
80365         (excluded_filename): No longer requires options arg, as the options
80366         are determined by add_exclude.  Now returns bool, not int.
80367
80368 2001-08-30  Paul Eggert  <eggert@twinsun.com>
80369
80370         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
80371
80372 2001-08-27  Jim Meyering  <meyering@lucent.com>
80373
80374         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
80375
80376         * lib/version-etc.c (N_): Remove definition.
80377         Revert most of last change.
80378         Instead, simply don't mark the `Copyright...' string for translation.
80379         Based on advice from Paul Eggert.
80380
80381         * lib/strtoxmax.c: Tweak comment.
80382
80383 2001-08-26  Jim Meyering  <meyering@lucent.com>
80384
80385         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
80386
80387         * m4/xstrtoimax.m4: New file.
80388         * m4/xstrtoumax.m4: Add comments explaining why we
80389         AC_REPLACE_FUNCS(strtol).
80390
80391 2001-08-26  Jim Meyering  <meyering@lucent.com>
80392
80393         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
80394         of copyright with `%s' so translators don't get an untranslated
80395         message in 2002.
80396         (COPYRIGHT_YEAR): Define.
80397         (version_etc): Use fprintf rather than fputs.
80398         Suggestion from Ulrich Drepper.
80399
80400         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
80401
80402         * lib/strtoll.c: New file, from GNU libc.
80403         * lib/xstrtoimax.c: New file.
80404
80405         * lib/xstrtol.h: Add xstrtoimax.
80406         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
80407         * lib/strtoimax.c: New file.  Likewise, but first define
80408         STRTOUXMAX_SIGNED.
80409
80410         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
80411         ...
80412         * lib/strtoxmax.c: ... then renamed to this.
80413
80414 2001-08-18  Paul Eggert  <eggert@twinsun.com>
80415
80416         * m4/inttypes.m4: Add AC_PREREQ(2.13).
80417         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
80418         (jm_AC_TYPE_INTMAX_T): New macro.
80419         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
80420
80421         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
80422
80423         * m4/longlong.m4: Renamed from ulonglong.m4.
80424         * m4/inttypes.m4: Renamed from inttypes_h.m4.
80425         * m4/uintmax_t.m4: Removed.
80426
80427 2001-08-13  Paul Eggert  <eggert@twinsun.com>
80428
80429         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
80430         Port to Solaris 8, where 'sed' requires a space after the 'r'
80431         command, and where sh dislikes "$/".  Clean up the spacing a bit.
80432         Redirect output to $tmp just once.
80433
80434 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
80435
80436         * lib/addext.c (<errno.h>): Include.
80437         (errno): Declare if not defined.
80438         (addext): Work correctly when pathconf returns -1 and leaves
80439         errno alone because there is no limit.  Also, work even if
80440         pathconf returns a value greater than SIZE_MAX.
80441
80442 2001-08-12  Jim Meyering  <meyering@lucent.com>
80443
80444         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
80445         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
80446         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
80447         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
80448         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
80449         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
80450         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
80451         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
80452         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
80453         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
80454         utime.m4, utimes.m4, xstrtoumax.m4:
80455         Quote the first argument in each use of AC_DEFUN.
80456
80457 2001-08-12  Jim Meyering  <meyering@lucent.com>
80458
80459         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
80460         Simply `return getcwd (NULL, 0);'.
80461         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
80462         Use 1300 as initial value for length, not PATH_MAX.
80463
80464         * lib/pathmax.h: Clean up cpp syntax.
80465
80466 2001-08-12  Jim Meyering  <meyering@lucent.com>
80467
80468         * lib/gettimeofday.c: New file.
80469         * lib/gtod.h: New file.
80470         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
80471
80472 2001-08-05  Jim Meyering  <meyering@lucent.com>
80473
80474         * m4/jm-macros.m4: Require autoconf-2.52.
80475
80476 2001-08-04  Jim Meyering  <meyering@lucent.com>
80477
80478         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
80479         stmt, to get in sync with glibc.
80480
80481 2001-08-03  Paul Eggert  <eggert@twinsun.com>
80482
80483         The following changes are from gettext 0.10.39 as maintained by
80484         Bruno Haible.
80485
80486         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
80487         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
80488         with inverted sense.  All uses changed.
80489
80490         * lib/mbswidth.c: Don't include <limits.h>.
80491         Include <stdlib.h> and <string.h> unconditionally.
80492         (iswcntrl, mbsinit, ISCNTRL): New macros.
80493         (mbsnwidth): Use K&R style function declarations.
80494         Don't bother checking for MB_LEN_MAX == 1, since the compiler
80495         can optimize it when MB_CUR_MAX == 1.
80496         The width of control characters is zero, not 1.
80497
80498 2001-08-03  Paul Eggert  <eggert@twinsun.com>
80499
80500         The following changes are from gettext 0.10.39 as maintained by
80501         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
80502
80503         * m4/codeset.m4: Upgrade to serial AM1.
80504         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
80505         all uses changed.  Quote first arg of AC_DEFUN.
80506         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
80507
80508         * m4/iconv.m4: Upgrade to serial AM2.
80509         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
80510         Add --with-libconv-prefix.
80511         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
80512         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
80513         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
80514         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
80515         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
80516
80517         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
80518         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
80519         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
80520         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
80521         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
80522         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
80523         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
80524         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
80525         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
80526
80527         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
80528         string.h any more.
80529
80530         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
80531         not the default value.
80532
80533         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
80534         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
80535         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
80536         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
80537         Also check for iswcntrl, used for wcwidth fallback.
80538         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
80539         to Autoconf 2.13.
80540
80541 2001-08-03  Jim Meyering  <meyering@lucent.com>
80542
80543         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
80544         as it was in the original.  Reported by Paul Eggert.
80545
80546 2001-07-16  Jim Meyering  <meyering@lucent.com>
80547
80548         * m4/gettimeofday.m4: New file.
80549         Prompted by a report from Bernhard Baehr.
80550
80551 2001-07-15  Jim Meyering  <meyering@lucent.com>
80552
80553         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
80554         stuff. Now it's in ../Makefile.cfg.
80555
80556 2001-07-15  Jim Meyering  <meyering@lucent.com>
80557
80558         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
80559         (BUILT_SOURCES): Add unlocked-io.h.
80560         (io_functions): Define.
80561         (unlocked-io.h): New rule.
80562         (DISTCLEANFILES): Add unlocked-io.h.
80563         (all-local): Depend on unlocked-io.h, to ensure it is created.
80564
80565         * lib/unlocked-io.hin: New file
80566
80567         * lib/regex.c: Update from glibc.
80568
80569 2001-07-05  Jim Meyering  <meyering@lucent.com>
80570
80571         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
80572         recommendation.
80573         (libfetish_a_SOURCES): Put all .h files here instead.
80574         Remove a thus-exposed (better checks in automake) duplicate and
80575         two unnecessary .h files.
80576
80577 2001-07-04  Jim Meyering  <meyering@lucent.com>
80578
80579         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
80580         that generates jm-glibc-io.m4 so that it doesn't trigger any make
80581         distcheck failure.
80582
80583 2001-07-02  Jim Meyering  <meyering@lucent.com>
80584
80585         The following changes were prompted by suggestions from Bruno Haible.
80586
80587         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
80588         is now generated.
80589         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
80590         definition of EXTRA_DIST.
80591         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
80592         ensure that the generated file is created/updated whenever the list
80593         of $(unlocked_functions) is changed.
80594         (jm-glibc-io.m4): New rule.
80595         (unlocked-io.h): New rule -- currently unused.
80596
80597 2001-06-24  Jim Meyering  <meyering@lucent.com>
80598
80599         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
80600         unmatched right bracket, rather than kludging it with an extra,
80601         falsely-matching quote in a comment.  Patch by Akim Demaille.
80602
80603 2001-06-11  Jim Meyering  <meyering@lucent.com>
80604
80605         * lib/regex.c: Update from GNU libc.
80606
80607 2001-05-27  Jim Meyering  <meyering@lucent.com>
80608
80609         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
80610         Check for ut_type in struct utmp.
80611
80612 2001-05-27  Jim Meyering  <meyering@lucent.com>
80613
80614         * lib/readutmp.h (UT_TYPE): Define.
80615
80616 2001-05-24  Jim Meyering  <meyering@lucent.com>
80617
80618         * lib/argmatch.c: Include "quote.h".
80619         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
80620         quote function.  Reported by Göran Uddeborg.
80621
80622 2001-05-22  Jim Meyering  <meyering@lucent.com>
80623
80624         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
80625         now that we use the package-supplied version unconditionally.
80626         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
80627
80628 2001-05-21  Jim Meyering  <meyering@lucent.com>
80629
80630         * m4/regex.m4: Change a couple backticks to single quotes to avoid
80631         shell syntax errors.
80632
80633 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
80634
80635         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
80636
80637 2001-05-20  Paul Eggert  <eggert@twinsun.com>
80638
80639         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
80640         Don't bother to check library strftime, since
80641         we'll be using our own my_strftime function anyway.
80642         Define my_strftime instead of strftime.
80643
80644 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
80645
80646         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
80647         which is not yet declared.
80648
80649 2001-05-15  Jim Meyering  <meyering@lucent.com>
80650
80651         * m4/regex.m4: Use proper quoting so brackets appear in the test
80652         program.
80653         Reported by, and with help from, Bruno Haible.
80654
80655 2001-05-13  Jim Meyering  <meyering@lucent.com>
80656
80657         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
80658         undefined.
80659
80660 2001-05-11  Paul Eggert  <eggert@twinsun.com>
80661
80662         dirname code cleanup.  base_name now behaves more compatibly
80663         with POSIX basename when given file names that have trailing
80664         slashes, and similarly for dir_name.  Add new primitives
80665         base_len and dir_len.  Put the directory-name-related decls
80666         into dirname.h.
80667
80668         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
80669         * lib/backupfile.c (base_name): Likewise.
80670         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
80671         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
80672         * lib/makepath.c (strip_trailing_slashes): Likewise.
80673         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
80674         ISSLASH): Likewise.
80675         * lib/rename.c (strip_trailing_slashes): Likewise.
80676         * lib/same.c (base_name): Likewise.
80677         * lib/stripslash.c (ISSLASH): Likewise.
80678
80679         * lib/addext.c: Include <dirname.h> after size_t is defined.
80680         * lib/backupfile.c: Likewise.
80681
80682         * lib/addext.c (addext): Use base_len to trim redundant
80683         trailing slashes instead of doing it ourselves.
80684         But do not trim the last slash if it is not redundant.
80685
80686         * lib/backupfile.c (find_backup_file_name,
80687         max_backup_version): Use base_len instead of rolling it ourselves.
80688         Handle the case of "" and (on DOS) "C:" correctly.
80689
80690         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
80691         needed. Include <string.h>, <dirname.h>.
80692         (base_name): Allow file names ending in slashes, other than names
80693         that are all slashes.  In this case, return the basename followed
80694         by the slashes.  This is more general, and can be used in places
80695         where the original base_name purposely had an assertion failure.
80696         (base_len): New function.
80697
80698         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
80699         Do not include <assert.h>; no longer needed.
80700         Include xalloc.h.
80701         (memrchr): Remove decl.
80702         (dir_name_r): Remove.
80703         (dir_len): Renamed from dirlen.  All callers changed.
80704         Rewrite in terms of base_name, for simplicity and consistency.
80705         (dir_name): Never return NULL.  All callers changed.
80706         Do not include <stdlib.h> in test program; no longer needed.
80707         return 0; is fine for test program.
80708
80709         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
80710         New macros.
80711         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
80712
80713         * lib/path-concat.c (path_concat): Use base_len to compute
80714         base length, not strlen; this means we cannot rely on memcpy
80715         to null-terminate.
80716
80717         * lib/same.c (STREQ): Remove.
80718         (same_name): Handle the case where the basename ends in trailing '/'.
80719
80720         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
80721         a slash was stripped.  Do not strip the last slash after a
80722         file system prefix.
80723
80724 2001-05-11  Paul Eggert  <eggert@twinsun.com>
80725
80726         * lib/Makefile.am (libfetish_a_SOURCES):
80727         Add strftime.c, since we now compile it on all hosts.
80728
80729         * lib/strftime.c (my_strftime):
80730         Define to nstrftime if emacs, but only if my_strftime is not defined.
80731         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
80732         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
80733         Add one more extra argument: a nanoseconds value.
80734         All uses changed.
80735         (ns): New macro.
80736         (my_strftime function): Add %N format.
80737         (emacs_strftimeu): Renamed from emacs_strftime,
80738         with extra ut argument.
80739
80740 2001-05-09  Paul Eggert  <eggert@twinsun.com>
80741
80742         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
80743
80744 2001-04-21  Jim Meyering  <meyering@lucent.com>
80745
80746         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
80747         doesn't interfere.
80748
80749 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
80750
80751         * m4/ftruncate.m4: Check for chsize.
80752         Link with ftruncate.o unconditionally if ftruncate is missing.
80753         This was required when cross-compiling to i586-mingw32msvc.
80754
80755 2001-04-08  Jim Meyering  <meyering@lucent.com>
80756
80757         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
80758         recomputed; that's necessary when the offset spans a DST transition.
80759         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
80760
80761 2001-04-02  Jim Meyering  <meyering@lucent.com>
80762
80763         * lib/regex.h, regex.c: Update from GNU libc.
80764
80765 2001-03-24  Jim Meyering  <meyering@lucent.com>
80766
80767         * m4/jm-macros.m4: Require autoconf-2.49d.
80768
80769 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
80770
80771         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
80772
80773 2001-03-19  Paul Eggert  <eggert@twinsun.com>
80774
80775         * lib/version-etc.c (version_etc_copyright): Update to 2001.
80776
80777 2001-03-17  Jim Meyering  <meyering@lucent.com>
80778
80779         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
80780         now that the version in autoconf is equivalent.
80781         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
80782
80783         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
80784         Suggestion from Akim Demaille.
80785
80786         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
80787         (jm_PREREQ_TEMPNAME): New function.
80788
80789 2001-03-16  Paul Eggert  <eggert@twinsun.com>
80790
80791         * lib/tempname.c (uint64_t): Define to uintmax_t if
80792         not defined, and if UINT64_MAX is not defined.
80793         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
80794         Reported by John David Anglin.
80795
80796 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
80797
80798         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
80799         resolve alias if codeset is empty.
80800         * lib/config.charset (BeOS): Use wildcard syntax.
80801
80802 2001-03-13  Jim Meyering  <meyering@lucent.com>
80803
80804         * lib/path-concat.c (path_concat)
80805         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
80806         concatenating e.g., `C:' and `foo'.
80807         From Bruno Haible.
80808
80809 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
80810
80811         * lib/localcharset.c (locale_charset): Don't use
80812         setlocale(LC_CTYPE,NULL). Don't return NULL.
80813         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
80814
80815 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
80816
80817         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
80818         support for DOS/DJGPP.
80819
80820 2001-03-01  Paul Eggert  <eggert@twinsun.com>
80821
80822         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
80823         lacks mkstemp.  Compile our own tempname.c if we compile our own
80824         mkstemp.c, as mkstemp relies on tempname.
80825
80826 2001-03-01  Jim Meyering  <meyering@lucent.com>
80827
80828         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
80829         AH_VERBATIM really does output its argument verbatim.
80830
80831 2001-02-28  Paul Eggert  <eggert@twinsun.com>
80832
80833         * lib/Makefile.am (libfetish_a_SOURCES):
80834         Add dup-safer.c, fopen-safer.c.
80835         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
80836
80837         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
80838         * lib/unistd-safer.h: New files.
80839
80840 2001-02-25  Paul Eggert  <eggert@twinsun.com>
80841
80842         The mkstemp replacement is taken from glibc 2.2.2, with some
80843         portability fixes for use outside glibc, as follows:
80844
80845         * lib/tempname.c (struct_stat64): New macro.
80846         (direxists, __gen_tempname): Use it.
80847         This avoids a portability problem with Solaris 8.
80848
80849         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
80850         (<stddef.h>, <stdint.h>, <string.h>):
80851         Include only if STDC_HEADERS || _LIBC.
80852         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
80853         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
80854         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
80855         (__set_errno): Define this macro if <errno.h> doesn't.
80856         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
80857         Define these macros if <stdio.h> doesn't.
80858         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
80859         Define these macros if <sys/stat.h>
80860         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
80861         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
80862         __xstat64): Define if not _LIBC.
80863         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
80864         (__gen_tempname): Invoke gettimeofday only if
80865         HAVE_GETTIMEOFDAY || _LIBC;
80866         otherwise, fall back on plain "time".
80867         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
80868
80869         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
80870
80871         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
80872
80873 2001-02-18  Paul Eggert  <eggert@twinsun.com>
80874
80875         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
80876
80877 2001-02-17  Paul Eggert  <eggert@twinsun.com>
80878
80879         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
80880         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
80881         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
80882         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
80883
80884 2001-02-17  Paul Eggert  <eggert@twinsun.com>
80885
80886         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
80887         Remove workaround macros for hosts that have mbrtowc but not
80888         mbstate_t, as we now insist on proper declarations for both
80889         before using mbrtowc.
80890
80891 2001-02-17  Jim Meyering  <meyering@lucent.com>
80892
80893         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
80894         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
80895         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
80896         UnixWare 7.1.1.
80897
80898         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
80899         rather than AC_CACHE_VAL.
80900
80901 2001-02-17  Jim Meyering  <meyering@lucent.com>
80902
80903         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
80904         around included file name.
80905
80906         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
80907
80908         * lib/strftime.c: Update from GNU libc (the only changes were to
80909         comments).
80910
80911 2001-02-17  Jim Meyering  <meyering@lucent.com>
80912
80913         * lib/regex.c: Update from libc.
80914
80915 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
80916
80917         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
80918         clash.
80919
80920 2001-02-16  Paul Eggert  <eggert@twinsun.com>
80921
80922         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
80923         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
80924         Reported by Mark Hounschell via Paul Eggert.
80925
80926 2001-02-07  Jim Meyering  <meyering@lucent.com>
80927
80928         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
80929
80930 2001-02-05  Jim Meyering  <meyering@lucent.com>
80931
80932         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
80933         it includes the patch required for `large file' support with at least
80934         HP-UX's 10.20 /bin/cc.
80935
80936 2001-02-03  Jim Meyering  <meyering@lucent.com>
80937
80938         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
80939         AS_IF, now that it works once again (mysteriously).
80940         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
80941
80942 2001-01-30  Jim Meyering  <meyering@lucent.com>
80943
80944         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
80945         * m4/chown.m4: Rename conftestchown to conftest.chown.
80946         * m4/rename.m4: s/conftestdir/conftest.d1/ and
80947         s/conftestdir2/conftest.d2/.
80948         * m4/utimes.m4: s/conftestdata/conftest.data/
80949         Inspired by Pavel Roskin's change in autoconf.
80950
80951 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
80952
80953         * lib/config.charset: Update for FreeBSD 4.2.
80954
80955 2001-01-27  Jim Meyering  <meyering@lucent.com>
80956
80957         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
80958         a use of AS_IF.
80959         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
80960
80961 2001-01-26  Jim Meyering  <meyering@lucent.com>
80962
80963         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
80964         quotearg.c includes it.
80965
80966 2001-01-26  Jim Meyering  <meyering@lucent.com>
80967
80968         * lib/quotearg.c: Include stddef.h.
80969         * lib/quote.c: Include stddef.h.
80970         Reported by Axel Kittenberger.
80971
80972         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
80973         line in double quotes so that it evokes a better diagnostic.
80974         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
80975         Reported by Axel Kittenberger.
80976
80977 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
80978
80979         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
80980         as if it was a `charset'.
80981
80982 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
80983
80984         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
80985         has const.
80986
80987 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
80988
80989         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
80990         to avoid a warning.  Add back 'const' to inptr.
80991
80992 2001-01-20  Jim Meyering  <meyering@lucent.com>
80993
80994         Be sure that headers are checked before used in code compiled
80995         for the type checks.
80996         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
80997         In place of that, invoke jm_CHECK_ALL_TYPES.
80998         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
80999         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
81000         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
81001         The check for ssize_t was mistakenly run before the test for unistd.h.
81002
81003         The configure-time check for stdbool.h was missing.
81004         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
81005         (jm_PREREQ_HASH): New function.
81006
81007 2001-01-17  Jim Meyering  <meyering@lucent.com>
81008
81009         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
81010         for autoconf-2.49c.
81011         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
81012
81013 2001-01-16  Jim Meyering  <meyering@lucent.com>
81014
81015         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
81016         From Bruno Haible.
81017
81018 2001-01-14  Jim Meyering  <meyering@lucent.com>
81019
81020         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
81021         foo and bar.  Create conftestdir/ in the script, not in the C code.
81022         Remove directories in the script, not in the C code.
81023         Remove conftestdir{,2} before trying to create the directory.
81024         Make the entire configure script fail if the mkdir fails.
81025
81026 2001-01-14  Jim Meyering  <meyering@lucent.com>
81027
81028         * lib/rename.c: New file.  From Volker Borchert.
81029         Include stdlib.h, string.h or strings.h, and xalloc.h.
81030         Use strip_trailing_slashes rather than open-coding it.
81031
81032 2001-01-03  Paul Eggert  <eggert@twinsun.com>
81033
81034         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
81035
81036 2001-01-03  Jim Meyering  <meyering@lucent.com>
81037
81038         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
81039         of local `inptr' to avoid warning with some system declarations of
81040         iconv.
81041
81042 2001-01-02  Volker Borchert  <bt@teknon.de>
81043
81044         * m4/rename.m4: New file.
81045         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
81046
81047 2001-01-01  Jim Meyering  <meyering@lucent.com>
81048
81049         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
81050         even on systems with utmpx.h.  It's necessary for the declaration of
81051         utmp's ut_user member.  Reported by Andreas Jaeger.
81052
81053         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
81054         available. They are required for the declarations of getgrgid and
81055         getpwuid resp.
81056         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
81057         Reported by Andreas Jaeger.
81058
81059 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
81060
81061         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
81062         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
81063         so `make install' also works in VPATH builds.
81064
81065 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
81066
81067         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
81068         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
81069         can be used in subdirectories.
81070
81071 2000-12-29  Paul Eggert  <eggert@twinsun.com>
81072
81073         * lib/modechange.c: Do not assume that mode_t uses the
81074         traditional octal encoding.  E.g. "chmod 1 FOO" should set
81075         the other-execute bit of FOO even if S_IXOTH != 1.
81076
81077         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
81078         WOTH, XOTH, ALLM): New macros.
81079         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
81080          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
81081         Use them.
81082         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
81083         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
81084         (mode_compile):
81085         No need to use uintmax_t; unsigned long is long enough.
81086         Don't bother to get suffix since we don't use it.
81087
81088 2000-12-26  Jim Meyering  <meyering@lucent.com>
81089
81090         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
81091         better with autoheader.
81092
81093 2000-12-24  Jim Meyering  <meyering@lucent.com>
81094
81095         * lib/hash.c (is_prime): Return explicit boolean values.
81096         (hash_get_first): Return NULL to appease Irix5.6's 89.
81097         Reported by Nelson Beebe.
81098
81099 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
81100
81101         * lib/localcharset.c (locale_charset): Add support for Win32.
81102
81103 2000-12-18  Paul Eggert  <eggert@twinsun.com>
81104
81105         * lib/physmem.h, lib/physmem.c: New files.
81106
81107         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
81108         (noinst_HEADERS): Add physmem.h.
81109
81110         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
81111         't' for compatibility with Solaris 8 sort.
81112
81113 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
81114
81115         * lib/config.charset: Add support for BeOS.
81116
81117 2000-12-17  Jim Meyering  <meyering@lucent.com>
81118
81119         * m4/dos.m4 (jm_AC_DOS): New file and macro.
81120         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
81121
81122 2000-12-16  Jim Meyering  <meyering@lucent.com>
81123
81124         This bug had a serious impact on chown: `chown N:M FILE' (for integer
81125         N and M) would have treated it like `chown N:N FILE'.
81126
81127         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
81128
81129 2000-12-16  Jim Meyering  <meyering@lucent.com>
81130
81131         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
81132         SHELLS_FILE to a file name that's useful on djgpp systems.
81133         Include stdlib.h.
81134         (ADDITIONAL_DEFAULT_SHELLS): Define.
81135         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
81136         Based mostly on a patch from Prashant TR.
81137
81138 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
81139
81140         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
81141         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
81142         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
81143
81144 2000-12-08  Andreas Schwab  <schwab@suse.de>
81145
81146         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
81147         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
81148
81149 2000-12-07  Jim Meyering  <meyering@lucent.com>
81150
81151         * lib/stripslash.c (ISSLASH): Define.
81152         (strip_trailing_slashes): Use ISSLASH rather than comparing against
81153         `/'.
81154         From Prashant TR.
81155
81156         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
81157         (dir_name_r): Declare this function as static.
81158         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
81159         manifest itself on a name containing a mix of slashes and
81160         backslashes.
81161         Make this function work with names starting with a DOS-style
81162         drive letter and colon prefix.
81163         (dir_name): Append `.' if necessary.
81164         Based mostly on patches from Prashant TR and Eli Zaretskii.
81165
81166         * lib/dirname.h (dir_name_r): Remove prototype.
81167
81168 2000-12-06  Paul Eggert  <eggert@twinsun.com>
81169
81170         * m4/off_t-format.m4: Remove this file.
81171         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
81172
81173 2000-12-06  Jim Meyering  <meyering@lucent.com>
81174
81175         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
81176         replacement strtoull, we may well need the replacement strtoul, too.
81177         Check for declarations of strtoul and strtoull.
81178         Check for strtol.  Mainly as a cue to cause automake to include
81179         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
81180         Check for limits.h -- strtol.c needs it.
81181
81182 2000-12-05  Jim Meyering  <meyering@lucent.com>
81183
81184         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
81185
81186 2000-12-04  Jim Meyering  <meyering@lucent.com>
81187
81188         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
81189         Also include memory.h, stdlib.h, unistd.h if appropriate.
81190         Reported by Andreas Jaeger (conflicting declaration of malloc).
81191
81192 2000-12-02  Jim Meyering  <meyering@lucent.com>
81193
81194         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
81195         * m4/jm-macros.m4 (jm_MACROS): require it.
81196
81197 2000-12-02  Jim Meyering  <meyering@lucent.com>
81198
81199         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
81200
81201 2000-12-01  Paul Eggert  <eggert@twinsun.com>
81202
81203         * lib/memrchr.c: Include <config.h> before any system include file.
81204
81205 2000-11-30  Jim Meyering  <meyering@lucent.com>
81206
81207         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
81208
81209 2000-11-30  Jim Meyering  <meyering@lucent.com>
81210
81211         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
81212
81213 2000-11-29  Paul Eggert  <eggert@twinsun.com>
81214
81215         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
81216
81217 2000-11-26  Jim Meyering  <meyering@lucent.com>
81218
81219         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
81220
81221 2000-11-22  Paul Eggert  <eggert@twinsun.com>
81222
81223         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
81224         size of (size_t) -1; it's not portable.
81225
81226 2000-11-17  Jim Meyering  <meyering@lucent.com>
81227
81228         * lib/strstr.c: Update from GNU libc.
81229
81230 2000-11-17  Akim Demaille  <akim@epita.fr>
81231
81232         * lib/obstack.h: Formatting changes.
81233         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
81234         prevent type checking.
81235         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
81236         cast the value to (void *): assigning a `foo *' to a `void *'
81237         variable is valid.
81238         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
81239
81240 2000-11-16  Jim Meyering  <meyering@lucent.com>
81241
81242         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
81243
81244 2000-11-11  Jim Meyering  <meyering@lucent.com>
81245
81246         * lib/error.c: Add a couple #includes, merging from GNU libc version.
81247
81248 2000-11-10  Jim Meyering  <meyering@lucent.com>
81249
81250         * lib/obstack.h: Update from GNU libc.
81251         * lib/obstack.c: Likewise.
81252
81253 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
81254
81255         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
81256
81257 2000-11-06  Paul Eggert  <eggert@twinsun.com>
81258
81259         * lib/getusershell.c (setusershell): Use rewind rather than
81260         fseek/fseeko, to avoid configuration hassles with fseeko.
81261         Don't bother opening SHELLS_FILE if shellstream is NULL;
81262         it's not necessary.
81263
81264 2000-11-05  Jim Meyering  <meyering@lucent.com>
81265
81266         * lib/makepath.h (make_dir): Declare.
81267         * lib/makepath.c (make_dir): Remove `static' attribute.
81268         Tweak a comment.
81269
81270 2000-11-04  Jim Meyering  <meyering@lucent.com>
81271
81272         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
81273
81274 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
81275
81276         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
81277         last one in a bucket, advance to the next bucket.
81278
81279 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
81280
81281         * lib/fnmatch.c: Do not comment out all the code if we are using
81282         the GNU C library, because in some cases we are replacing buggy
81283         code in the GNU C library itself.
81284
81285 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
81286
81287         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
81288         (regex_compile): Catch bogus \(\1\).
81289
81290 2000-10-30  Paul Eggert  <eggert@twinsun.com>
81291
81292         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
81293         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
81294         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
81295
81296 2000-10-30  Paul Eggert  <eggert@twinsun.com>
81297
81298         * lib/error.h, getline.h, modechange.h:
81299         Remove "2000" from Copyright line, as the file hasn't been
81300         changed this year other than in the copyright notice.
81301
81302         * lib/xalloc.h: Add "2000" to Copyright line, as this file
81303         was changed this year.
81304
81305 2000-10-29  Jim Meyering  <meyering@lucent.com>
81306
81307         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
81308         renaming.
81309         * m4/ls-mntd-fs.m4: Likewise
81310
81311 2000-10-29  Jim Meyering  <meyering@lucent.com>
81312
81313         * lib/xstat.in: Fix grammar in comment.
81314
81315 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
81316
81317         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
81318         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
81319         doesn't define __restrict_arr.
81320
81321 2000-10-28  Jim Meyering  <meyering@lucent.com>
81322
81323         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
81324         (jm_PREREQ_MEMCHR): New function.
81325
81326 2000-10-28  Jim Meyering  <meyering@lucent.com>
81327
81328         * lib/memchr.c: Update from libc.
81329         Adjust for portability:
81330         [HAVE_STDLIB_H]: Include stdlib.h.
81331         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
81332         Undef __memchr, too.
81333         [!weak_alias]: Define __memchr to memchr.
81334
81335         * lib/regex.c: Update from libc.
81336         * lib/regex.h: Likewise.
81337         * lib/getopt1.c: Likewise.
81338         * lib/memcmp.c: Likewise.
81339
81340         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
81341         Avoid using fseek, when possible -- it's broken by design.
81342         Patch by Ulrich Drepper.
81343
81344 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
81345
81346         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
81347         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
81348         Giving in to popular pressure to shut up the compiler with casts.
81349
81350 2000-10-26  Jim Meyering  <meyering@lucent.com>
81351
81352         * lib/strftime.c: Update from libc.
81353
81354 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
81355
81356         * regex.c: More `unsigned char' -> `re_char' changes.
81357         Also change several `int' into `re_wchar_t'.
81358         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
81359         (PUSH_FAILURE_POINTER): Don't cast any more.
81360         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
81361         We want GCC to complain, since this piece of code makes
81362         re_match non-reentrant, which *should* be fixed.
81363         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
81364         (EXTEND_BUFFER): Use RETALLOC.
81365         (SET_LIST_BIT): Don't cast.
81366         (re_wchar_t): New type.
81367         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
81368         that those two functions will always properly return.
81369         (IMMEDIATE_QUIT_CHECK): Cast to void.
81370         (analyse_first): Use recursion rather than an explicit stack.
81371         (re_compile_fastmap): Can't fail anymore.
81372         (re_search_2): Don't check re_compile_fastmap for failure.
81373         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
81374         Now also sets the new value (passed in a new argument).
81375         (re_match_2_internal): Use it.
81376         Also, use a new var `reg' of type size_t when looping through regs
81377         rather than reuse the inappropriate `mcnt'.
81378
81379 2000-10-25  Jim Meyering  <meyering@lucent.com>
81380
81381         * lib/obstack.c: Update from libc.
81382
81383 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
81384
81385         * regex.c (regex_compile): Change the way of handling a range from
81386         a char less than 256 to a char not less than 256.
81387
81388 2000-10-24  Andrew Innes  <andrewi@gnu.org>
81389
81390         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
81391         NT-Emacs only.
81392         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
81393         so that re_search functions only quit when callers expect them to.
81394
81395 2000-10-23  Jim Meyering  <meyering@lucent.com>
81396
81397         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
81398         wrong.  That set_locale call must not have any side effects.
81399         From Paul Eggert.
81400
81401 2000-10-22  Jim Meyering  <meyering@lucent.com>
81402
81403         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
81404         [CYCLIC]: Remove now-unused definition.
81405
81406         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
81407         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
81408         Suggestion from Ulrich Drepper.
81409
81410 2000-10-21  Jim Meyering  <meyering@lucent.com>
81411
81412         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
81413         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
81414         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
81415
81416 2000-10-21  Jim Meyering  <meyering@lucent.com>
81417
81418         * lib/dirname.c (memrchr): Declare if necessary.
81419         (dir_name): Remove the restriction that there be no
81420         trailing slashes.  Now, this code skips past them, effectively
81421         ignoring them.
81422         [TEST_DIRNAME] (main): New unit tests.
81423
81424         * lib/memrchr.c: New file from GNU libc.
81425         Undef __memrchr, too.
81426         [!weak_alias]: Define __memrchr to memrchr.
81427         Guard weak_alias use with `#ifdef weak_alias'.
81428
81429 2000-10-21  Jim Meyering  <meyering@lucent.com>
81430
81431         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
81432         (dir_name): Use dir_name_r.
81433         * lib/dirname.h (dir_name_r): Declare it.
81434
81435 2000-10-17  Jim Meyering  <meyering@lucent.com>
81436
81437         * lib/quote.h (PARAMS): Define and use.
81438         Reported by Akim Demaille.
81439
81440         * lib/getopt.c: Update from libc.
81441
81442 2000-10-16  Jim Meyering  <meyering@lucent.com>
81443
81444         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
81445         setlocale.
81446         From Jan Fedak.
81447
81448 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
81449
81450         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
81451
81452 2000-09-25  Jim Meyering  <meyering@lucent.com>
81453
81454         * lib/md5.h (rol): Define (from GnuPG).
81455
81456         * lib/sha.c: Give credit (GnuPG) where due.
81457         (M): Use rol rather than open-coding it.
81458         Add a FIXME comment.
81459
81460 2000-09-21  Jim Meyering  <meyering@lucent.com>
81461
81462         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
81463         Reported by Michael Stone.
81464
81465 2000-09-20  Jim Meyering  <meyering@lucent.com>
81466
81467         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
81468         (noinst_HEADERS): Add sha.h.
81469         Based on code from Scott G. Miller and from GnuPG.
81470
81471 2000-09-18  Jim Meyering  <meyering@lucent.com>
81472
81473         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
81474         LIBS. Otherwise, everyone ends up linking with -lelf for some
81475         configurations.
81476         Reported by Mike Stone.
81477
81478 2000-09-15  Jim Meyering  <meyering@lucent.com>
81479
81480         * lib/regex.c: Update from libc.
81481
81482 2000-09-10  Jim Meyering  <meyering@lucent.com>
81483
81484         * lib/getopt.c (_getopt_internal): Update from glibc.
81485
81486 2000-09-09  Jim Meyering  <meyering@lucent.com>
81487
81488         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
81489         think it should be used as a general replacement for isascii.
81490         * lib/fnmatch.c: Likewise.
81491         * lib/mbswidth.c: Likewise
81492         * lib/regex.c: Likewise.
81493
81494         Don't use atoi.
81495         * lib/userspec.c: Include sys/param.h and limits.h.
81496         Include xstrtol.h.
81497         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
81498         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
81499         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
81500         UID, GID.  Check range.
81501
81502 2000-09-06  Jim Meyering  <meyering@lucent.com>
81503
81504         * lib/getopt.c (_getopt_internal): Update from glibc.
81505
81506 2000-08-30  Jim Meyering  <meyering@lucent.com>
81507
81508         * lib/strftime.c: Merge in changes from GNU libc.
81509
81510 2000-08-26  Jim Meyering  <meyering@lucent.com>
81511
81512         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
81513         * m4/fpending.m4: New file.
81514
81515 2000-08-26  Jim Meyering  <meyering@lucent.com>
81516
81517         * lib/closeout.c: Include "__fpending.h".
81518         (close_stdout_status): Return right away if there's nothing to flush.
81519
81520         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
81521         * lib/__fpending.c: New file.
81522         * lib/__fpending.h: New file.
81523
81524 2000-08-20  Jim Meyering  <meyering@lucent.com>
81525
81526         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
81527         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
81528         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
81529
81530 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
81531
81532         Improve fileutils installation on systems where running
81533         programs (like install) can't be unlinked.
81534         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
81535         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
81536
81537 2000-08-07  Paul Eggert  <eggert@twinsun.com>
81538
81539         Standardize on "memory exhausted" instead of "Memory exhausted"
81540         or "virtual memory exhausted".
81541         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
81542         "virtual memory exhausted".
81543         * lib/same.c (same_name): Invoke xalloc_die instead of printing
81544         our own message.
81545         * lib/userspec.c (parse_user_spec): Likewise.
81546         * lib/bumpalloc.h: comment fix
81547         * lib/same.c, userspec.c: Include xalloc.h.
81548
81549         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
81550         not char *const and pointing to a constant array.
81551         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
81552         (xrealloc): Comment fix.
81553
81554         * lib/userspec.c (parse_user_spec):
81555         Don't translate a message until just before returning,
81556         to avoid unnecessary translation.
81557
81558 2000-08-07  Jim Meyering  <meyering@lucent.com>
81559
81560         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
81561         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
81562         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
81563         getgroups.c, gethostname.c, getopt.h, group-member.c,
81564         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
81565         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
81566         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
81567         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
81568         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
81569         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
81570         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
81571         yesno.c: Back out Copyright date changes for each file with no change
81572         this year.  This eases coordination with other programs using the same
81573         source code modules.  From Paul Eggert.
81574
81575 2000-08-06  Paul Eggert  <eggert@twinsun.com>
81576
81577         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
81578         not char, for compatibility with glibc 2.1.3 strftime.c.
81579
81580 2000-08-03  Greg McGary  <greg@mcgary.org>
81581
81582         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
81583         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
81584         (EXTEND_BUFFER): Use them.
81585
81586 2000-08-01  Jim Meyering  <meyering@lucent.com>
81587
81588         * lib/dirname.c (ISSLASH): Define.
81589         (BACKSLASH_IS_PATH_SEPARATOR): Define.
81590         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
81591         both `\' and `/' may be use as path separators.
81592         Based on a patch from Prashant TR.
81593
81594 2000-07-31  Paul Eggert  <eggert@twinsun.com>
81595
81596         * lib/quotearg.c (quotearg_n_options): Don't make the initial
81597         slot vector a constant, since it might get modified.
81598
81599 2000-07-31  Jim Meyering  <meyering@lucent.com>
81600
81601         * lib/xmalloc.c: Use `virtual memory exhausted', not
81602         `Memory exhausted'.
81603         * lib/obstack.c (print_and_abort): Likewise.
81604
81605 2000-07-30  Paul Eggert  <eggert@twinsun.com>
81606
81607         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
81608         buffer, so that the caller can always quote one small
81609         component of a "memory exhausted" message in slot 0.
81610         From a suggestion by Jim Meyering.
81611
81612 2000-07-30  Jim Meyering  <meyering@lucent.com>
81613
81614         * lib/makepath.c (make_path): Quote the other instance, too.
81615
81616         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
81617         (STATIC_BUF_SIZE): Define.
81618         (quotearg_n_options): Use only statically allocated storage when
81619         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
81620         than STATIC_BUF_SIZE.
81621
81622 2000-07-29  Jim Meyering  <meyering@lucent.com>
81623
81624         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
81625         * lib/dirname.c (dir_name): Likewise.
81626
81627         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
81628         `/'.
81629
81630         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
81631         (dir_name): Assert that there are no trailing slashes.
81632
81633 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
81634
81635         * lib/mbswidth.h (mbswidth): Add a flags argument.
81636         (mbswidth): New declaration.
81637         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
81638         * lib/mbswidth.c (mbswidth): Add a flags argument.
81639         (mbsnwidth): New function.
81640
81641 2000-07-24  Jim Meyering  <meyering@lucent.com>
81642
81643         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
81644
81645 2000-07-23  Paul Eggert  <eggert@twinsun.com>
81646
81647         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
81648
81649 2000-07-23  Paul Eggert  <eggert@twinsun.com>
81650
81651         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
81652         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
81653         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
81654         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
81655         invoke multibyte primitives.
81656
81657 2000-07-23  Paul Eggert  <eggert@twinsun.com>
81658
81659         * lib/quotearg.c:
81660         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
81661         so that mbstate_t is always defined.
81662
81663         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
81664         be 1 in at least one GCC installation, and this configuration
81665         error is likely to be common.  Ignoring MB_LEN_MAX hurts
81666         performance on hosts that have mbrtowc but have only unibyte
81667         locales, but I assume these hosts are rare.
81668
81669 2000-07-23  Paul Eggert  <eggert@twinsun.com>
81670
81671         * lib/mbswidth.c (_XOPEN_SOURCE):
81672         Don't define; this causes problems on Solaris 7.
81673         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
81674
81675 2000-07-23  Jim Meyering  <meyering@lucent.com>
81676
81677         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
81678         too: getgrgid, getpwuid, getuid.
81679
81680 2000-07-23  Jim Meyering  <meyering@lucent.com>
81681
81682         * lib/basename.c (base_name): Add an assertion.
81683
81684 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
81685
81686         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
81687         shadow its mbsinit function.
81688
81689 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
81690
81691         * lib/mbswidth.h: New file.
81692         * lib/mbswidth.c: New file.
81693         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
81694         (noinst_HEADERS): Add mbswidth.h.
81695
81696 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
81697
81698         * lib/config.charset: Add support for FreeBSD. Improve support for
81699         HP-UX and IRIX 6.
81700
81701 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
81702
81703         * m4/mbswidth.m4: New file.
81704         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
81705
81706 2000-07-15  Jim Meyering  <meyering@lucent.com>
81707
81708         * lib/makepath.c: Include quote.h.
81709         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
81710         corresponding argument in a `quote (...)' call.
81711         Give better diagnostics.
81712
81713         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
81714         (noinst_HEADERS): Add quote.h.
81715
81716         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
81717         from tar's src/misc.c.
81718         * lib/quote.h: New file.  Prototypes for same.
81719
81720 2000-07-14  Paul Eggert  <eggert@twinsun.com>
81721
81722         From a suggestion by Bruno Haible.
81723         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
81724         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
81725         to decide whether to define the BeOS workaround macro;
81726         this adjusts to the change to AC_MBSTATE_T.
81727
81728 2000-07-14  Jim Meyering  <meyering@lucent.com>
81729
81730         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
81731         jm_AC_TYPE_UINTMAX_T.
81732
81733 2000-07-13  Paul Eggert  <eggert@twinsun.com>
81734
81735         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
81736
81737         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
81738         quotearg_buffer_restyled): Add support for
81739         clocale_quoting_style.  Undo previous change to
81740         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
81741         and "{RIGHT QUOTATION MARK}" msgids.
81742
81743 2000-07-10  Paul Eggert  <eggert@twinsun.com>
81744
81745         From a suggestion by Bruno Haible.
81746         * m4/mbstate_t.m4 (AC_MBSTATE_T):
81747         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
81748         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
81749         and mbstate_t, to a single-part test that simply defines mbstate_t.
81750         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
81751         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
81752
81753 2000-07-10  Jim Meyering  <meyering@lucent.com>
81754
81755         * m4/strerror_r.m4: Mirror the correction made in autoconf.
81756
81757         * m4/gnu-source.m4: Output to confdefs.h directly.
81758         Suggestion from Akim Demaille.
81759
81760 2000-07-09  Paul Eggert  <eggert@twinsun.com>
81761
81762         The old behavior of quoting `like this' doesn't look good with
81763         newer, ISO-style fonts.  See:
81764         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
81765
81766         Instead, quote "like this" by default.  Let the translator
81767         tailor the locale-specific quoting behavior by providing
81768         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
81769
81770         * lib/quotearg.c (N_): New macro.
81771         (gettext_default): New function.
81772         (quotearg_buffer_restyled): Use
81773         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
81774         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
81775
81776 2000-07-09  Jim Meyering  <meyering@lucent.com>
81777
81778         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
81779         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
81780
81781         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
81782         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
81783
81784 2000-07-09  Jim Meyering  <meyering@lucent.com>
81785
81786         * lib/Most files: Update copyright dates to include 2000.
81787
81788 2000-07-08  Jim Meyering  <meyering@lucent.com>
81789
81790         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
81791         if not defined.
81792         (xgethostname): Remove now-unnecessary #ifdef.
81793         Move declaration of `err' into loop where it's used.
81794
81795 2000-07-05  Paul Eggert  <eggert@twinsun.com>
81796         and Bruno Haible  <haible@clisp.cons.org>
81797
81798         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
81799         only if the test for an object-type mbstate_t fails.  This
81800         prevents us from mistakenly reporting that mbstate_t is a
81801         system object type after we "#define mbstate_t int" to work
81802         around its lack.
81803
81804 2000-07-05  Paul Eggert  <eggert@twinsun.com>
81805         and Bruno Haible  <haible@clisp.cons.org>
81806
81807         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
81808
81809 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
81810
81811         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
81812         to strerror_r.
81813         Include <ctype.h> for use of isalpha.
81814
81815 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
81816
81817         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
81818         by allocating a larger buffer. Test the gethostname return value for
81819         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
81820         returns an error and ENAMETOOLONG isn't defined.
81821
81822 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
81823
81824         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
81825         dimension.
81826
81827 2000-07-04  Jim Meyering  <meyering@lucent.com>
81828
81829         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
81830         of the deprecated AC_CHECKING.
81831
81832 2000-07-04  Jim Meyering  <meyering@lucent.com>
81833
81834         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
81835         Reported by Bruno Haible.
81836
81837 2000-07-04  Jim Meyering  <meyering@lucent.com>
81838
81839         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
81840         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
81841         lacks mbrtowc.
81842
81843 2000-07-03  Paul Eggert  <eggert@twinsun.com>
81844
81845         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
81846         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
81847
81848 2000-07-03  Paul Eggert  <eggert@twinsun.com>
81849         and Bruno Haible  <haible@clisp.cons.org>
81850
81851         * lib/quotearg.c (mbrtowc):
81852         Assign to *pwc, and return 1 only if result is nonzero.
81853         (iswprint): Use ISPRINT when substituting our own mbrtowc.
81854
81855 2000-07-03  Jim Meyering  <meyering@lucent.com>
81856
81857         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
81858
81859 2000-07-03  Jim Meyering  <meyering@lucent.com>
81860
81861         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
81862         This is necessary to get a definition of e.g., UTMP_FILE on
81863         HP-UX 10.20.
81864         From Bob Proulx.
81865
81866 2000-07-02  Jim Meyering  <meyering@lucent.com>
81867
81868         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
81869
81870         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
81871         AC_LIBOBJ(function_name).
81872         * m4/chown.m4: Likewise.
81873         * m4/fnmatch.m4: Likewise.
81874         * m4/ftruncate.m4: Likewise.
81875         * m4/getgroups.m4: Likewise.
81876         * m4/getline.m4: Likewise.
81877         * m4/group-member.m4: Likewise.
81878         * m4/jm-macros.m4: Likewise.
81879         * m4/lstat.m4: Likewise.
81880         * m4/malloc.m4: Likewise.
81881         * m4/memcmp.m4: Likewise.
81882         * m4/nanosleep.m4: Likewise.
81883         * m4/putenv.m4: Likewise.
81884         * m4/realloc.m4: Likewise.
81885         * m4/regex.m4: Likewise.
81886         * m4/stat.m4: Likewise.
81887         * m4/strftime.m4: Likewise.
81888
81889 2000-07-02  Jim Meyering  <meyering@lucent.com>
81890
81891         * lib/quotearg.c (mbstate_t): Don't define here.
81892
81893 2000-07-02  Jim Meyering  <meyering@lucent.com>
81894
81895         * lib/nanosleep.c (SIGCONT): Define if not already defined.
81896
81897 2000-07-01  Jim Meyering  <meyering@lucent.com>
81898
81899         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
81900
81901 2000-07-01  Jim Meyering  <meyering@lucent.com>
81902
81903         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
81904         problem.
81905
81906 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
81907
81908         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
81909         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
81910
81911 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
81912
81913         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
81914         per change in ../m4/ls-mntd-fs.m4.
81915         (read_filesystem_list): Ignore symbolic links.
81916
81917 2000-06-29  Jim Meyering  <meyering@lucent.com>
81918
81919         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
81920         for declaration of strcmp.
81921
81922         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
81923
81924         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
81925         Avoid warning by casting result to `char *' to remove `const'.
81926
81927 2000-06-28  Jim Meyering  <meyering@lucent.com>
81928
81929         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
81930         included by quotearg.c, for which we perform this test.  From
81931         Bruno Haible.
81932
81933 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
81934
81935         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
81936         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
81937         <utmpx.h> exists, put readutmp.o into LIBOBJS.
81938
81939 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
81940
81941         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
81942
81943 2000-06-26  Paul Eggert  <eggert@twinsun.com>
81944
81945         savedir now sets errno on failure and invokes xmalloc to get memory.
81946         Fix a couple of other minor bugs while we're at it.
81947
81948         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
81949         (NAMLEN): Remove macro.
81950         (malloc, realloc): Remove decls.
81951         (stpcpy): Likewise.
81952         ("xalloc.h"): Include.
81953         (NAME_SIZE_DEFAULT): New macro.
81954         (savedir): Use xmalloc / xrealloc to allocate memory.
81955         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
81956         Skip "" directory entries.
81957         Use strlen to calculate directory entry length, since the old method
81958         is rarely used these days and isn't worth supporting.
81959         Don't use a pointer after freeing it.
81960         Check for integer overflow when calculating allocation size.
81961         Use memcpy to copy entries, instead of stpcpy.
81962         Set errno properly when returning NULL.
81963         Check for readdir error.
81964
81965 2000-06-26  Jim Meyering  <meyering@lucent.com>
81966
81967         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
81968
81969 2000-06-25  Jim Meyering  <meyering@lucent.com>
81970
81971         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
81972         Linux header bug when _XOPEN_SOURCE is defined to 500.
81973
81974 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
81975
81976         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
81977         deficiency.
81978
81979 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
81980
81981         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
81982         Include xalloc.h.
81983         Don't include <stdlib.h>.  Don't declare malloc, realloc.
81984
81985 2000-06-24  Jim Meyering  <meyering@lucent.com>
81986
81987         * m4/strerror_r.m4: Revive this file -- to try out an experimental
81988         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
81989         for which strerror does return char*, but which lacks a conveniently
81990         accessible declaration of the function.  If the compile-test says
81991         strerror_r doesn't work, then resort to a `run'-test that works on
81992         BeOS and segfaults on DEC Unix.
81993
81994 2000-06-24  Jim Meyering  <meyering@lucent.com>
81995
81996         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
81997
81998 2000-06-23  Paul Eggert  <eggert@twinsun.com>
81999
82000         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
82001         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
82002
82003 2000-06-23  Paul Eggert  <eggert@twinsun.com>
82004
82005         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
82006         (mbrtowc, mbstate_t): Define substitutes if
82007         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
82008         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
82009         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
82010
82011 2000-06-23  Jim Meyering  <meyering@lucent.com>
82012
82013         * m4/afs.m4: Add missing AC_MSG_RESULT.
82014         Reported by Bruno Haible.
82015
82016         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
82017         Suggestion from Bruno Haible.
82018
82019 2000-06-23  Jim Meyering  <meyering@lucent.com>
82020
82021         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
82022
82023 2000-06-21  Jim Meyering  <meyering@lucent.com>
82024
82025         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
82026
82027 2000-06-21  Jim Meyering  <meyering@lucent.com>
82028
82029         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
82030         (noinst_HEADERS): Add getstr.h.
82031
82032         * lib/getline.c (getstr): Move into a separate file.
82033         * lib/getstr.c (getstr): New file, extracted from getline.c, with
82034         the following changes: new parameter, delim2; both delim[12]
82035         parameters have type `int', not `char'.  The latter would lose
82036         with 8-bit delimiters.
82037         * lib/getstr.h: New file.
82038
82039 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
82040
82041         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
82042         than 1024, return a memory chunk of least possible size, instead
82043         of size PATH_MAX + 2. In the loop, increment the size proportionally.
82044         Use free/xmalloc instead of xrealloc to avoid copying for very long
82045         paths.
82046
82047 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
82048
82049         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
82050         the empty string.
82051
82052 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
82053
82054         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
82055         address, not strdup.  Include <stdlib.h> and don't declare free().
82056
82057 2000-06-19  Jim Meyering  <meyering@lucent.com>
82058
82059         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
82060
82061 2000-06-18  Jim Meyering  <meyering@lucent.com>
82062
82063         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
82064
82065         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
82066         `checking whether...' message to be consistent with that of the
82067         lstat test.
82068
82069 2000-06-18  Jim Meyering  <meyering@lucent.com>
82070
82071         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
82072         Besides, these days every porting target provides a mkdir function.
82073
82074         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
82075         needed. (this snippet comes from src/system.h).
82076
82077 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
82078
82079         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
82080
82081 2000-06-15  Paul Eggert  <eggert@twinsun.com>
82082
82083         * lib/human.c (adjust_value): New function.
82084         (human_readable_inexact): Apply rounding style even when
82085         printing approximate values.
82086
82087 2000-06-14  Paul Eggert  <eggert@twinsun.com>
82088
82089         * lib/human.c (human_readable_inexact): Allow an input block
82090         size that is not a multiple of the output block size, and vice versa.
82091         Reported by Piergiorgio Sartor.
82092
82093 2000-06-14  Paul Eggert  <eggert@twinsun.com>
82094
82095         * lib/getdate.y (get_date): Apply relative times after time
82096         zone indicator, not before.  Reported by Todd A. Jacobs.
82097
82098 2000-06-13  Jim Meyering  <meyering@lucent.com>
82099
82100         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
82101
82102         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
82103
82104 2000-06-12  Paul Eggert  <eggert@twinsun.com>
82105
82106         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
82107
82108 2000-06-12  Jim Meyering  <meyering@lucent.com>
82109
82110         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
82111         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
82112         optional argument.
82113         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
82114         the optional argument, `lib'.
82115
82116 2000-06-08  Jim Meyering  <meyering@lucent.com>
82117
82118         * m4/largefile.m4: Remove file (now that it's part of autoconf).
82119
82120 2000-06-04  Paul Eggert  <eggert@twinsun.com>
82121
82122         Rewrite largefile configuration so that we don't need to run
82123         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
82124         AC_CANONICAL_HOST in configure.in -- jmm]
82125
82126         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
82127         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
82128         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
82129         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
82130         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
82131         All uses changed.
82132         Instead of inspecting the output of getconf, try to compile the
82133         test program without and with the macro definition.
82134         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
82135         for getconf.  Instead, check for the needed flags by compiling
82136         test programs.
82137
82138 2000-06-04  Paul Eggert  <eggert@twinsun.com>
82139
82140         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
82141
82142 2000-06-04  Jim Meyering  <meyering@lucent.com>
82143
82144         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
82145         SunOS 4.1.4 for which gid_t is an unsigned type.
82146
82147 2000-06-03  Jim Meyering  <meyering@lucent.com>
82148
82149         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
82150         now that autoconf requires that.
82151
82152         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
82153         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
82154         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
82155
82156 2000-06-03  Jim Meyering  <meyering@lucent.com>
82157
82158         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
82159
82160 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
82161
82162         * m4/glibc21.m4: New file.
82163         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
82164
82165 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
82166
82167         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
82168         newer, don't install charset.alias.
82169         * lib/config.charset: Change the Linux/glibc rules so they become empty
82170         on glibc-2.1 or newer.
82171
82172 2000-06-02  Jim Meyering  <meyering@lucent.com>
82173
82174         * lib/mountlist.c: Back out last change.  Instead, do this...
82175         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
82176         me_dummy member using the same `ignore'-testing code.
82177         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
82178         fs_type strings.
82179         From Mark D. Roth.
82180
82181 2000-05-29  Jim Meyering  <meyering@lucent.com>
82182
82183         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
82184         mounts with the `ignore' attribute.  Based on a patch from
82185         Mark D. Roth.
82186
82187 2000-05-28  Jim Meyering  <meyering@lucent.com>
82188
82189         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
82190         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
82191         * m4/stat.m4: Likewise.
82192         * m4/lstat.m4: Likewise.
82193         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
82194
82195         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
82196         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
82197
82198 2000-05-26  Jim Meyering  <meyering@lucent.com>
82199
82200         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
82201
82202 2000-05-24  Jim Meyering  <meyering@lucent.com>
82203
82204         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
82205         autoconf requires that.
82206         * m4/lib-check.m4: Likewise.
82207         * m4/jm-macros.m4: Likewise.
82208         * m4/strftime.m4: Likewise.
82209
82210         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
82211         AC_CHECK_DECLS, now that autoconf requires that.
82212
82213 2000-05-22  Jim Meyering  <meyering@lucent.com>
82214
82215         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
82216         * m4/lstat.m4: Likewise.
82217
82218 2000-05-22  Jim Meyering  <meyering@lucent.com>
82219
82220         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
82221
82222 2000-05-20  Jim Meyering  <meyering@lucent.com>
82223
82224         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
82225         (jm_PREREQ): Use it.
82226
82227 2000-05-18  Jim Meyering  <meyering@lucent.com>
82228
82229         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
82230         back, too, since it may have been modified by allocate_entry.
82231         (hash_delete): Rewrite to use neither the assignment operator
82232         nor the comma operator in an if-expression.
82233
82234 2000-05-15  Paul Eggert  <eggert@twinsun.com>
82235
82236         * lib/closeout.c:
82237         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
82238         Remove; no longer needed.
82239         "quotearg.h": Add include.
82240         (file_name): Do not bother to explicitly initialize to NULL; it's less
82241         efficient on some hosts.
82242         (close_stdout_status): Remove test as to whether stdout was already
82243         closed; it breaks for the case "echo x | sort >&-".
82244         Quote file name colons.
82245         Do not assume that _("write error") lacks format strings.
82246
82247 2000-05-15  Jim Meyering  <meyering@lucent.com>
82248
82249         * lib/version-etc.c (version_etc_copyright): Update the copyright
82250         string used in all --version output.
82251
82252 2000-05-14  Jim Meyering  <meyering@lucent.com>
82253
82254         * lib/closeout.c (close_stdout_set_file_name): New function.
82255         (close_stdout_status): Use new file-scoped global.
82256         Return right away if fstat says the stdout file descriptor is invalid.
82257         * lib/closeout.h (close_stdout_set_file_name): Declare.
82258
82259 2000-05-10  Jim Meyering  <meyering@lucent.com>
82260
82261         * lib/closeout.c [default_exit_status]: New file-scoped variable.
82262         (close_stdout_set_status): New function.
82263         * lib/closeout.h (close_stdout_set_status): Declare.
82264
82265 2000-05-09  Jim Meyering  <meyering@lucent.com>
82266
82267         * m4/gettext.m4: Rename this...
82268         * m4/libintl.m4: ...to this.
82269
82270 2000-05-08  Jim Meyering  <meyering@lucent.com>
82271
82272         * lib/long-options.c: Don't include closeout.h.
82273         (parse_long_options): Don't call close_stdout for --version.
82274
82275 2000-05-06  Paul Eggert  <eggert@twinsun.com>
82276
82277         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
82278         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
82279         2.1.3 bug.  This avoids a clash when files like regex.c define
82280         _GNU_SOURCE.
82281
82282 2000-05-06  Jim Meyering  <meyering@lucent.com>
82283
82284         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
82285         (AC_REPLACE_FUNCS): Add strnlen.
82286
82287         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
82288         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
82289
82290         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
82291         AC_SEARCH_LIBS call for nanosleep.
82292         (LIB_NANOSLEEP): Set and AC_SUBST.
82293
82294 2000-05-06  Jim Meyering  <meyering@lucent.com>
82295
82296         * lib/strnlen.c: Undefine __strnlen and strnlen.
82297         [!weak_alias]: Define __strnlen to strnlen.
82298
82299         * lib/atexit.c: New file, from libiberty.
82300
82301 2000-05-06  Jim Meyering  <meyering@lucent.com>
82302
82303         * lib/closeout.c (close_stdout_status): Also check for errors on the
82304         stderr stream.
82305
82306 2000-05-05  Jim Meyering  <meyering@lucent.com>
82307
82308         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
82309         AC_SEARCH_LIBS call for clock_gettime.
82310         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
82311
82312         * m4/search-libs.m4: Update from autoconf.
82313
82314         su doesn't work on Solaris 2.6.
82315         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
82316         <shadow.h>.  Reported by Dragos Harabor.
82317
82318 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
82319
82320         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
82321         memcpy instead of xmalloc, xrealloc, path_concat.
82322         (locale_charset): Treat empty environment variables as absent.
82323         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
82324
82325 2000-05-04  Jim Meyering  <meyering@lucent.com>
82326
82327         * lib/getopt.c: Update from glibc.
82328         * lib/obstack.c: Likewise.
82329         * lib/obstack.h: Likewise.
82330         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
82331         file
82332
82333         * lib/regex.h: Likewise.
82334         * lib/strndup.c: Likewise.
82335         * lib/strnlen.c: New file, from glibc.
82336
82337 2000-05-03  Jim Meyering  <meyering@lucent.com>
82338
82339         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
82340
82341 2000-05-02  Paul Eggert  <eggert@twinsun.com>
82342
82343         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
82344         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
82345         compile-time test, rather than inspecting host and OS, to
82346         decide whether to define _LARGEFILE_SOURCE.
82347
82348 2000-05-01  Jim Meyering  <meyering@lucent.com>
82349
82350         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
82351
82352         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
82353         Based on a patch from Bruno Haible.
82354
82355 2000-05-01  Jim Meyering  <meyering@lucent.com>
82356
82357         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
82358
82359 2000-04-29  Jim Meyering  <meyering@lucent.com>
82360
82361         * lib/path-concat.c: Declare strdup only if it's not defined.
82362         * lib/canon-host.c: Likewise.
82363
82364 2000-04-28  Jim Meyering  <meyering@lucent.com>
82365
82366         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
82367         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
82368         is included first, then limits.h is included by locale.h by libintl.h.
82369         From John David Anglin.
82370
82371 2000-04-25  Jim Meyering  <meyering@lucent.com>
82372
82373         * lib/makepath.c (S_IRWXUGO): Define.
82374         (make_path): Always perform explicit chmod if MODE specifies any
82375         of the `special' permission bits.  Prompted by a bug report against
82376         install from Mate Wierdl and Joost van Baal.
82377
82378 2000-04-18  Jim Meyering  <meyering@lucent.com>
82379
82380         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
82381         (jm_PREREQ): Use it.
82382
82383 2000-04-18  Jim Meyering  <meyering@lucent.com>
82384
82385         * lib/README: New file.
82386
82387         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
82388         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
82389
82390 2000-04-17  Jim Meyering  <meyering@lucent.com>
82391
82392         Get it right :-)
82393         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
82394         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
82395         Suggestion from Akim Demaille.
82396
82397 2000-04-17  Jim Meyering  <meyering@lucent.com>
82398
82399         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
82400         the definition of it to rpl_strftime also defined-away the system's
82401         declaration.
82402
82403 2000-04-15  Jim Meyering  <meyering@lucent.com>
82404
82405         Use `C' to denote so-called `contiguous' files, the same way
82406         that tar does.
82407         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
82408         (ftypelet): Use S_ISCTG.
82409         From Michael Deutschmann.
82410
82411 2000-04-14  Jim Meyering  <meyering@lucent.com>
82412
82413         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
82414         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
82415         clobbered.
82416
82417 2000-04-14  Jim Meyering  <meyering@lucent.com>
82418
82419         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
82420
82421 2000-04-13  Jim Meyering  <meyering@lucent.com>
82422
82423         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
82424         AH_VERBATIM to insert required #ifndef into config.h.in.
82425         Suggestion from Akim Demaille.
82426
82427 2000-04-12  Jim Meyering  <meyering@lucent.com>
82428
82429         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
82430         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
82431         Christian Krackowizer.
82432
82433         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
82434         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
82435         (AC_SYS_LARGEFILE): Require.
82436         (AM_C_PROTOTYPES): Require.
82437
82438 2000-04-08  Jim Meyering  <meyering@lucent.com>
82439
82440         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
82441         names don't conflict.  Reported by Eli Zaretskii.
82442
82443 2000-04-07  Jim Meyering  <meyering@lucent.com>
82444
82445         * lib/putenv.c: Move inclusion of errno.h so it follows that of
82446         sys/types.h, to work around system header problems on AIX 3.2.5.
82447         From Bruno Haible.
82448
82449 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
82450
82451         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
82452         bug.  Deal with the different error behavior of Irix iconv.
82453
82454 2000-04-05  Paul Eggert  <eggert@twinsun.com>
82455
82456         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
82457         IRIX if the installer said otherwise.
82458
82459 2000-04-05  Jim Meyering  <meyering@lucent.com>
82460
82461         Portability tweaks required for ultrix4.3.
82462         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
82463         (jm_CHECK_DECLS): Add getutent to the list of functions.
82464         (_jm_DECL_HEADERS): Add utmpx.h.
82465         From John David Anglin.
82466
82467         * m4/strftime.m4: Back out the 2000-04-02 change.
82468         Instead of that change, simply undefine putenv in the test program.
82469
82470 2000-04-05  Jim Meyering  <meyering@lucent.com>
82471
82472         Portability tweaks required for ultrix4.3.
82473         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
82474         getutent.
82475         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
82476         * lib/canon-host.c: Declare strdup.
82477         * lib/path-concat.c: Likewise.
82478         From John David Anglin.
82479
82480 2000-04-04  Jim Meyering  <meyering@lucent.com>
82481
82482         Be more DOS 8.3-friendly.
82483         * lib/ref-add.sin: Renamed from ref-add.sed.in.
82484         * lib/ref-del.sin: Renamed from ref-del.sed.in.
82485         * lib/Makefile.am: Reflect renaming.
82486         Reported by Eli Zaretskii.
82487
82488         Use a temporary file name that won't clash with `charset.alias'
82489         in the DOS 8.3 name space.
82490         * lib/Makefile.am (charset_tmp): Define.
82491         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
82492         (uninstall-local): Likewise.
82493         Reported by Eli Zaretskii.
82494
82495 2000-04-03  Jim Meyering  <meyering@lucent.com>
82496
82497         * m4/gettext.m4: Fix typo in comment.
82498
82499         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
82500         textutils/configure.in).  Suggestion from Paul Eggert.
82501         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
82502
82503 2000-04-02  Paul Eggert  <eggert@twinsun.com>
82504
82505         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
82506         variable in the shell rather than using putenv, which isn't
82507         portable.  This avoids the configure-time inter-test dependency
82508         on the potentially-renamed putenv function.
82509
82510 2000-03-30  Paul Eggert  <eggert@twinsun.com>
82511
82512         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
82513         before checking struct stat.st_blksize, so that
82514         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
82515
82516 2000-03-29  Paul Eggert  <eggert@twinsun.com>
82517
82518         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
82519         since strftime.c uses HAVE_STRFTIME to decide whether to use
82520         the underlying strftime.
82521
82522 2000-03-29  Paul Eggert  <eggert@twinsun.com>
82523
82524         * lib/time/strftime.c (my_strftime): Make sure we call the system
82525         strftime, not ourselves, when invoking the underlying strftime.
82526
82527 2000-03-24  Jim Meyering  <meyering@lucent.com>
82528
82529         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
82530         (charset_alias): Define.
82531         (install-exec-local): Factor out common code.
82532         (uninstall-local): Split lines longer than 80.
82533         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
82534         (SUFFIXES): Define.
82535         (.sed.in.sed): New rule.  Don't redirect directly to $@.
82536         (CLEANFILES): Add ref-add.sed and ref-del.sed.
82537
82538 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
82539
82540         * lib/config.charset: Output a line containing "Packages using this
82541         file".
82542         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
82543         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
82544         ref-del.sed): New rules.
82545
82546 2000-03-17  Jim Meyering  <meyering@lucent.com>
82547
82548         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
82549         Otherwise, include <strings.h>
82550
82551 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
82552
82553         * lib/unicodeio.c (utf8_wctomb): New function.
82554         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
82555         format instead of in UCS-4 with platform dependent endianness.
82556
82557 2000-03-10  Jim Meyering  <meyering@lucent.com>
82558
82559         * m4/lib-check.m4: Look for getspnam in -lgen, too.
82560         From Marco Franzen.
82561
82562 2000-03-07  Paul Eggert  <eggert@twinsun.com>
82563
82564         * lib/savedir.c (savedir): Work even if directory size is
82565         negative; this can happen with some screwy NFS configurations.
82566
82567 2000-03-06  Jim Meyering  <meyering@lucent.com>
82568
82569         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
82570         if it's NULL (because we ran out of memory).  From Bruno Haible.
82571
82572 2000-03-05  Jim Meyering  <meyering@lucent.com>
82573
82574         * lib/localcharset.c ("path-concat.h"): Include.
82575         (get_charset_aliases): Use path_concat instead of ANSI string
82576         concatenation.
82577
82578         * lib/unicodeio.h (PARAMS): Define.
82579         Use it to guard prototype.
82580
82581 2000-03-04  Jim Meyering  <meyering@lucent.com>
82582
82583         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
82584         for lib/localcharset.c.
82585
82586 2000-03-04  Jim Meyering  <meyering@lucent.com>
82587
82588         * lib/Makefile.am (install-exec-local): Create $(libdir) before
82589         installing into it.
82590         (uninstall-local): Uncomment this rule so `make distcheck' works
82591         once again.
82592
82593         * lib/unicodeio.c (<errno.h>): Include it.
82594         (errno): Declare if not defined.
82595
82596         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
82597
82598         * lib/config.charset: New version, incorporating remarks from a linux
82599         i18n mailing list.  From Bruno Haible.
82600
82601 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
82602
82603         * m4/codeset.m4: New file.
82604         * m4/iconv.m4: New file.
82605         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
82606
82607 2000-03-03  Jim Meyering  <meyering@lucent.com>
82608
82609         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
82610
82611 2000-03-02  Jim Meyering  <meyering@lucent.com>
82612
82613         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
82614         the messages come out on separate lines.
82615
82616         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
82617         rather than jm_CHECK_DECLARATIONS.
82618         * m4/decl.m4: Remove now-unused file.
82619
82620         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
82621         geteuid.
82622
82623 2000-03-02  Jim Meyering  <meyering@lucent.com>
82624
82625         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
82626
82627 2000-03-01  Jim Meyering  <meyering@lucent.com>
82628
82629         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
82630         * lib/unicodeio.c: Likewise.
82631
82632 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
82633
82634         * lib/config.charset: New file.
82635         * lib/localcharset.c: New file.
82636         * lib/unicodeio.h, lib/unicodeio.c: New files.
82637         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
82638         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
82639         (noinst_HEADERS): Add unicodeio.h.
82640         (all-local, install-exec-local, charset.alias): New targets.
82641
82642 2000-02-28  Paul Eggert  <eggert@twinsun.com>
82643
82644         * lib/quotearg.c (ALERT_CHAR): New macro.
82645         (quotearg_buffer_restyled): Use it.
82646
82647 2000-02-27  Jim Meyering  <meyering@lucent.com>
82648
82649         * m4/check-decl.m4: Add getenv to the list.
82650
82651 2000-02-27  Jim Meyering  <meyering@lucent.com>
82652
82653         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
82654         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
82655
82656         * lib/backupfile.c: Guard inclusion of stdlib.h with
82657         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
82658         Declare malloc if needed.
82659
82660         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
82661         `#ifndef HAVE_DECL..'
82662         now that autoconf always defines the HAVE_DECL_ symbols.
82663         * lib/human.c: Likewise.
82664         * lib/same.c: Likewise.
82665         * lib/strtoumax.c: Likewise.
82666
82667         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
82668         declaration check was not run.
82669         * lib/hash.c: Likewise.
82670         * lib/human.c: Likewise.
82671         * lib/same.c: Likewise.
82672         * lib/strtoumax.c: Likewise.
82673
82674         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
82675         `.', then first look up the entire `.'-containing string as a login
82676         name.
82677
82678 2000-02-23  Jim Meyering  <meyering@lucent.com>
82679
82680         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
82681         in place of my hack.
82682
82683 2000-02-18  Paul Eggert  <eggert@twinsun.com>
82684
82685         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
82686         (textint): New typedef.
82687         (parser_control): Member year changed from int to textint.
82688         All uses changed.
82689         (YYSTYPE): Removed; replaced by %union with int and textint members.
82690         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
82691         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
82692         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
82693         (tSNUMBER, tUNUMBER): Now of type <textintval>.
82694         (date, number, to_year): Use width of number in digits, not its value,
82695         to determine whether it's a 2-digit year, or a 2-digit time.
82696         (yylex): Store number of digits of numeric tokens.
82697         Reported by John Kendall.
82698
82699         (parser_control): Changed from struct parser_control to typedef (for
82700         consistency).  All uses changed.
82701
82702         (tID): Removed; not used.
82703         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
82704
82705 2000-02-14  Paul Eggert  <eggert@twinsun.com>
82706
82707         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
82708         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
82709
82710 2000-02-12  Jim Meyering  <meyering@lucent.com>
82711
82712         * lib/userspec.c (ISDIGIT): Define it.
82713         (isdigit): Remove definition.
82714         (is_number): Use ISDIGIT, not isdigit.
82715         <libintl.h>: Include.
82716         (_ and N_): Define.
82717         (parse_user_spec): Mark translatable strings.
82718
82719 2000-02-10  Jim Meyering  <meyering@lucent.com>
82720
82721         With these changes, nanosleep.[ch] are finally enough like the other
82722         lib/* replacement files to compile on a few more losing systems.
82723
82724         * lib/nanosleep.h: Don't include config.h.
82725         Remove prototype from declaration of nanosleep.
82726         (PARAMS): Remove now-unneeded definition.
82727         * lib/nanosleep.c: #undef nanosleep.
82728         (rpl_nanosleep): Rename from nanosleep.
82729
82730 2000-02-10  Jim Meyering  <meyering@lucent.com>
82731
82732         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
82733         gnu_nanosleep to rpl_nanosleep.
82734
82735 2000-02-09  Jim Meyering  <meyering@lucent.com>
82736
82737         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
82738         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
82739
82740 2000-02-08  Akim Demaille  <akim@epita.fr>
82741
82742         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
82743         `[' and `]' and remove uses of `changequote'.
82744         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
82745         (AC_SYS_LARGEFILE): Likewise.
82746         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
82747         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
82748         of changequote.
82749         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
82750         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
82751         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
82752         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
82753
82754 2000-02-05  Jim Meyering  <meyering@lucent.com>
82755
82756         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
82757         Remove explicit use of AC_HEADER_TIME.  It is required by
82758         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
82759         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
82760         in autoconf whereby the expansion of the latter ended up preceding
82761         the expansion of its prerequisite, AC_HEADER_TIME.
82762         Reported by Volker Borchert.
82763
82764 2000-02-03  Jim Meyering  <meyering@lucent.com>
82765
82766         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
82767
82768 2000-02-03  Jim Meyering  <meyering@lucent.com>
82769
82770         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
82771         rather than with `#if HAVE_UTMPNAME'.
82772
82773 2000-02-02  Jim Meyering  <meyering@lucent.com>
82774
82775         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
82776         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
82777         Reported by Eli Zaretskii.
82778
82779 2000-02-01  Jim Meyering  <meyering@lucent.com>
82780
82781         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
82782
82783 2000-01-31  Jim Meyering  <meyering@lucent.com>
82784
82785         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
82786         functions.  Add the time.h and sys/time.h headers along with the
82787         AC_REQUIRE'ment of AC_HEADER_TIME.
82788
82789 2000-01-31  Jim Meyering  <meyering@lucent.com>
82790
82791         * lib/nanosleep.h (nanosleep): Guard declaration with
82792         `#if ! HAVE_DECL_NANOSLEEP'.
82793         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
82794         the declaration in that vendor's sys/timers.h.
82795         Reported by Christian Krackowizer.
82796
82797         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
82798         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
82799         (ISPRINT): Likewise.
82800         Reported by Tom Tromey.
82801
82802 2000-01-30  Jim Meyering  <meyering@lucent.com>
82803
82804         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
82805
82806         * m4/prereq.m4 (utmp_includes): Define.
82807         Check for ut_user and ut_name members in both struct utmpx
82808         and struct utmp.
82809
82810 2000-01-30  Jim Meyering  <meyering@lucent.com>
82811
82812         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
82813         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
82814         header files where only utmpx.ut_user is declared.
82815
82816         * lib/readutmp.h (UT_USER): Define.
82817
82818 2000-01-29  Jim Meyering  <meyering@lucent.com>
82819
82820         * m4/lib-check.m4: New file containing library-related checks from
82821         fileutils and sh-utils (textutils had none).
82822
82823 2000-01-28  Jim Meyering  <meyering@lucent.com>
82824
82825         * m4/perl.m4: Change format of warning message to look more like that
82826         from the missing script.  Suggestion from François Pinard.
82827
82828 2000-01-25  Jim Meyering  <meyering@lucent.com>
82829
82830         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
82831         well as time.h in the compile check.
82832         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
82833         Fix typo in cross-compiling case: s/yes/no/.
82834
82835 2000-01-23  Jim Meyering  <meyering@lucent.com>
82836
82837         * m4/jm-macros.m4: Move df-related tests here from
82838         fileutils/configure.in
82839
82840         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
82841         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
82842
82843         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
82844         s/space/ac_fsusage_space/.
82845         (jm_FILE_SYSTEM_USAGE): Take two parameters.
82846
82847         * m4/ftruncate.m4: New file (derived from part of
82848         fileutils/configure.in).
82849         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
82850         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
82851
82852         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
82853         AC_SUBST these here, rather than just in sh-util/configure.in, so
82854         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
82855         all the same.
82856         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
82857         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
82858         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
82859         (AC_SUBST(POW_LIBM)): Likewise.
82860         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
82861
82862 2000-01-23  Jim Meyering  <meyering@lucent.com>
82863
82864         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
82865         obstack.c.
82866
82867 2000-01-22  Jim Meyering  <meyering@lucent.com>
82868
82869         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
82870
82871         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
82872
82873         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
82874         configure.in
82875         (AC_CHECK_HEADERS): Likewise for sh-utils.
82876         (AC_CHECK_HEADERS): Likewise for textutils.
82877         Merge the three lists of headers.
82878
82879         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
82880         from fileutils' configure.in.
82881
82882         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
82883         code. Moved tests into their own function (_jm_DECL_HEADERS) in
82884         check-decl.m4.
82885
82886         * m4/check-decl.m4: Use #if rather than #ifdef.
82887         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
82888         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
82889         (_jm_DECL_HEADERS): Define new function.
82890         (jm_CHECK_DECLARATIONS): Require it.
82891
82892 2000-01-22  Jim Meyering  <meyering@lucent.com>
82893
82894         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
82895         [! HAVE_DECL_STRTOULL]: Declare strtoull.
82896         Required for some AIX systems.  Reported by Christian Krackowizer.
82897         [TESTING] (main): New function.
82898
82899         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
82900         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
82901         letters.
82902
82903         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
82904         iswprint.
82905
82906         * lib/strverscmp.c (ISDIGIT): Define.
82907         (strverscmp): Use ISDIGIT, not isdigit.
82908
82909 2000-01-19  Jim Meyering  <meyering@lucent.com>
82910
82911         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
82912         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
82913         defines `struct timespec' in <sys/time.h>
82914
82915         * m4/c-bs-a.m4: Remove uses of changequote altogether.
82916         Thanks to Akim for explaining.
82917
82918 2000-01-17  Paul Eggert  <eggert@twinsun.com>
82919
82920         * lib/nanosleep.c (nanosleep):
82921         Don't use SA_INTERRUPT to decide whether to call sigaction, as
82922         POSIX.1 doesn't require SA_INTERRUPT and some systems
82923         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
82924         it's been part of POSIX.1 since day 1 (in 1988).
82925
82926 2000-01-17  Jim Meyering  <meyering@lucent.com>
82927
82928         * lib/interlock: Remove unused file.  Reported by François Pinard.
82929
82930 2000-01-16  Paul Eggert  <eggert@twinsun.com>
82931
82932         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
82933         alert, backslash, formfeed, and vertical tab unnecessarily in
82934         shell quoting style.
82935
82936 2000-01-16  Jim Meyering  <meyering@lucent.com>
82937
82938         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
82939         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
82940         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
82941         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
82942
82943 2000-01-16  Jim Meyering  <meyering@lucent.com>
82944
82945         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
82946         because the latter didn't work.
82947
82948 2000-01-15  Jim Meyering  <meyering@lucent.com>
82949
82950         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
82951         (AC_REPLACE_FUNCS): Add memcpy and memset.
82952         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
82953         Add strpbrk.
82954         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
82955
82956 2000-01-12  Jim Meyering  <meyering@lucent.com>
82957
82958         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
82959         (jm_PREREQ): Use it.
82960         (jm_PREREQ_READUTMP): New macro.
82961         (jm_PREREQ): Use it.
82962
82963 2000-01-11  Paul Eggert  <eggert@twinsun.com>
82964
82965         Quote multibyte characters correctly.
82966         * m4/c-bs-a.m4: New file.
82967         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
82968         (jm_PREREQ): Use it.
82969
82970 2000-01-11  Paul Eggert  <eggert@twinsun.com>
82971
82972         * m4/uintmax_t.m4: Port to autoconf 2.13.
82973
82974 2000-01-08  Jim Meyering  <meyering@ascend.com>
82975
82976         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
82977         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
82978
82979 2000-01-04  Jim Meyering  <meyering@ascend.com>
82980
82981         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
82982         jm_STRUCT_DIRENT_D_TYPE.
82983         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
82984         jm_STRUCT_DIRENT_D_INO.
82985         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
82986         jm_STRUCT_UTIMBUF.
82987         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
82988         renamings.
82989         * m4/utime.m4: Likewise.
82990
82991         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
82992         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
82993
82994 2000-01-03  Paul Eggert  <eggert@twinsun.com>
82995
82996         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
82997         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
82998
82999 2000-01-02  Jim Meyering  <meyering@ascend.com>
83000
83001         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
83002         remember if this is necessary.
83003
83004 1999-12-26  Jim Meyering  <meyering@ascend.com>
83005
83006         * m4/jm-macros.m4: Use it here.
83007         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
83008
83009 1999-12-23  Jim Meyering  <meyering@ascend.com>
83010
83011         * m4/jm-macros.m4: Check for clock_gettime (moved from
83012         fileutils/configure.in)
83013         Check for gettimeofday.
83014
83015 1999-12-20  Jim Meyering  <meyering@ascend.com>
83016
83017         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
83018         autoconf-2.14a-1999-12-20.
83019
83020 1999-12-19  Jim Meyering  <meyering@ascend.com>
83021
83022         * m4/lstat-slash.m4: New file.
83023         * m4/jm-macros.m4: Use the new macro:
83024         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
83025
83026 1999-12-07  Jim Meyering  <meyering@ascend.com>
83027
83028         * m4/perl.m4: Require that File::Compare be available, too.
83029         Too many systems seem to lack it.
83030
83031         * m4/strftime.m4: Add checks for most of the cpp macros tested in
83032         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
83033
83034 1999-11-18  Paul Eggert  <eggert@twinsun.com>
83035
83036         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
83037         problem with the QNX 4.25 shell, which doesn't propagate exit
83038         status of failed commands inside shell assignments.
83039
83040 1999-11-17  Jim Meyering  <meyering@ascend.com>
83041
83042         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
83043
83044 1999-11-07  Jim Meyering  <meyering@ascend.com>
83045
83046         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
83047
83048 1999-11-06  Jim Meyering  <meyering@ascend.com>
83049
83050         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
83051         * m4/jm-macros.m4 (jm_MACROS): Use it here.
83052
83053 1999-11-05  Jim Meyering  <meyering@ascend.com>
83054
83055         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
83056         configure.in of textutils, fileutils, and sh-utils into this one
83057         (shared between those packages) file.
83058         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
83059         AC_STRUCT_ST_BLKSIZE.
83060
83061 1999-11-03  Jim Meyering  <meyering@ascend.com>
83062
83063         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
83064         of AC_CHECK_TYPE checks includes unistd.h.
83065         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
83066         Suggestion from Akim Demaille.
83067
83068 1999-10-30  Jim Meyering  <meyering@ascend.com>
83069
83070         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
83071         m4-quoted string.
83072         * m4/ls-mntd-fs.m4: Likewise.
83073         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
83074         * m4/jm-winsz1.m4: Likewise.
83075
83076         * m4/const.m4: Remove file, since the fix made it into the experimental
83077         version of autoconf.
83078         * m4/mktime.m4: Likewise.
83079
83080         * m4/check-type.m4: Remove file, now that the latest version of
83081         AC_CHECK_TYPE takes a third arg to specify additional #includes.
83082
83083         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
83084         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
83085         AC_CHECK_TYPE.
83086
83087 1999-10-04  Jim Meyering  <meyering@ascend.com>
83088
83089         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
83090
83091 1999-09-22  Paul Eggert  <eggert@twinsun.com>
83092
83093         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
83094         2.95.1 bug with HP-UX 10.20.
83095
83096 1999-09-17  Jim Meyering  <meyering@ascend.com>
83097
83098         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
83099         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
83100         due to missing strdup (against sh-utils-2.0).
83101
83102 1999-08-29  Jim Meyering  <meyering@ascend.com>
83103
83104         * m4/jm-macros.m4: Require jm_BISON.
83105         * m4/bison.m4: New file.
83106
83107 1999-08-17  Paul Eggert  <eggert@twinsun.com>
83108
83109         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
83110         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
83111
83112 1999-08-05  Jim Meyering  <meyering@ascend.com>
83113
83114         * m4/getline.m4: Rename test file from conftestdata to conftest.data
83115         to avoid conflicts with `conftest' on 8+3 filesystems.
83116         Suggestion from Eli Zaretskii.
83117
83118 1999-08-04  Jim Meyering  <meyering@ascend.com>
83119
83120         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
83121         fileutils and sh-utils (textutils's getline test was inadequate).
83122         (AM_FUNC_GETLINE): Run this test.
83123         (AC_CHECK_FUNCS): Check for getdelim.
83124         Reported by Bob Proulx.
83125
83126 1999-08-02  Jim Meyering  <meyering@ascend.com>
83127
83128         * m4/jm-macros.m4: Add a comment.
83129
83130 1999-08-01  Paul Eggert  <eggert@twinsun.com>
83131
83132         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
83133         <inttypes.h> defines strtoumax as a macro (and not as a
83134         function).
83135
83136 1999-08-01  Paul Eggert  <eggert@twinsun.com>
83137
83138         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
83139         that we can shift, multiply and divide unsigned long long
83140         values; Ultrix cc can't do it.
83141
83142 1999-08-01  Paul Eggert  <eggert@twinsun.com>
83143
83144         * m4/mktime.m4: New file, which is a preview of what should appear
83145         in the next public autoconf release.
83146
83147 1999-08-01  Paul Eggert  <eggert@twinsun.com>
83148
83149         * m4/lfs.m4: Remove this file.
83150         * m4/largefile.m4: New file.  It contains the old contents of
83151         lfs.m4, except that all names with prefix AC_LFS have been
83152         changed to use the prefix AC_SYS_LARGEFILE instead, to be
83153         compatible with future autoconf versions.  Also, some minor m4
83154         quoting problems have been fixed.
83155
83156 1999-08-01  Paul Eggert  <eggert@twinsun.com>
83157
83158         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
83159         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
83160         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
83161         and simplify the shell code.
83162
83163 1999-08-01  Jim Meyering  <meyering@ascend.com>
83164
83165         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
83166         m4.
83167
83168 1999-07-20  Jim Meyering  <meyering@ascend.com>
83169
83170         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
83171
83172 1999-07-15  Jim Meyering  <meyering@ascend.com>
83173
83174         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
83175
83176 1999-05-22  Jim Meyering  <meyering@ascend.com>
83177
83178         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
83179
83180 1999-05-20  Jim Meyering  <meyering@ascend.com>
83181
83182         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
83183         Add a colon after each `then' in case $4 is empty.
83184
83185 1999-05-16  Jim Meyering  <meyering@ascend.com>
83186
83187         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
83188
83189 1999-05-10  Jim Meyering  <meyering@ascend.com>
83190
83191         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
83192
83193         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
83194         AC_FUNC_MKTIME.
83195
83196 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
83197
83198         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
83199
83200 1999-05-04  Paul Eggert  <eggert@twinsun.com>
83201
83202         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
83203         not CPPFLAGS, so that linking works correctly in IRIX.
83204
83205 1999-04-30  Paul Eggert  <eggert@twinsun.com>
83206
83207         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
83208
83209 1999-04-20  Paul Eggert  <eggert@twinsun.com>
83210
83211         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
83212         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
83213         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
83214         jm_AC_TYPE_UNSIGNED_LONG_LONG.
83215         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
83216
83217         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
83218
83219 1999-04-20  Jim Meyering  <meyering@ascend.com>
83220
83221         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
83222         AC_REPLACE xstroull if necessary.  From Paul Eggert.
83223         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
83224
83225 1999-04-18  Jim Meyering  <meyering@ascend.com>
83226
83227         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
83228         * m4/jm-macros.m4: Use it.
83229
83230 1999-04-06  Jim Meyering  <meyering@ascend.com>
83231
83232         * m4/strftime.m4: Remove test for %f.
83233
83234 1999-03-29  Jim Meyering  <meyering@ascend.com>
83235
83236         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
83237         superset of the AC_TYPE_* checks in the textutils, fileutils,
83238         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
83239         AC_TYPE_PID_T.
83240
83241 1999-03-28  Jim Meyering  <meyering@ascend.com>
83242
83243         * m4/jm-macros.m4: Define GNU_PACKAGE here.
83244         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
83245         replaced e.g., in the *.sh files of the sh-utils.
83246
83247 1999-03-20  Jim Meyering  <meyering@ascend.com>
83248
83249         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
83250         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
83251         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
83252
83253 1999-03-19  Jim Meyering  <meyering@ascend.com>
83254
83255         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
83256
83257 1999-03-12  Jim Meyering  <meyering@ascend.com>
83258
83259         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
83260
83261 1999-03-07  Jim Meyering  <meyering@ascend.com>
83262
83263         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
83264         declared.
83265
83266 1999-02-17  Jim Meyering  <meyering@ascend.com>
83267
83268         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
83269         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
83270
83271 1999-02-07  Jim Meyering  <meyering@ascend.com>
83272
83273         * m4/group-member.m4: New file -- extracted from sh-utils'
83274         configure.in.
83275
83276         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
83277         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
83278
83279 1999-02-06  Jim Meyering  <meyering@ascend.com>
83280
83281         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
83282         * m4/fnmatch.m4: Likewise.
83283         * m4/getgroups.m4: Likewise.
83284         * m4/lstat.m4: Likewise.
83285         * m4/malloc.m4: Likewise.
83286         * m4/putenv.m4: Likewise.
83287         * m4/realloc.m4: Likewise.
83288         * m4/regex.m4: Likewise.
83289         * m4/stat.m4: Likewise.
83290         * m4/strftime.m4: Likewise.
83291         Suggestion from Alain Magloire.
83292
83293         * m4/chown.m4: Use `.$ac_objext', not `.o'.
83294         * m4/fnmatch.m4: Likewise.
83295         * m4/getgroups.m4: Likewise.
83296         * m4/getline.m4: Likewise.
83297         * m4/lstat.m4: Likewise.
83298         * m4/malloc.m4: Likewise.
83299         * m4/memcmp.m4: Likewise.
83300         * m4/putenv.m4: Likewise.
83301         * m4/realloc.m4: Likewise.
83302         * m4/regex.m4: Likewise.
83303         * m4/stat.m4: Likewise.
83304         * m4/strftime.m4: Likewise.
83305         Suggestion from Alain Magloire.
83306
83307         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
83308         an argument.
83309
83310         * m4/regex.m4: Add a run-time Test for proper operation of
83311         re_compile_pattern.
83312
83313 1999-01-31  Jim Meyering  <meyering@ascend.com>
83314
83315         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
83316
83317 1999-01-30  Jim Meyering  <meyering@ascend.com>
83318
83319         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
83320
83321         * m4/jm-mktime.m4: Make this a wrapper around the official
83322         AM_FUNC_MKTIME rather than my private copy, now that the official one
83323         is up to date.
83324         * m4/mktime.m4: Remove file.
83325
83326         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
83327         * m4/uptime.m4: Likewise.
83328         * m4/uintmax_t.m4: Likewise.
83329
83330 1999-01-28  Jim Meyering  <meyering@ascend.com>
83331
83332         * m4/jm-macros.m4: Use jm_AFS.
83333         * m4/afs.m4: New file (from fileutils' configure.in).
83334
83335         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
83336         * m4/chown.m4: Likewise.
83337         * m4/d-ino.m4: Likewise.
83338         * m4/d-type.m4: Likewise.
83339         * m4/fnmatch.m4: Likewise.
83340         * m4/getgroups.m4: Likewise.
83341         * m4/gettext.m4: Likewise.
83342         * m4/jm-mktime.m4: Likewise.
83343         * m4/jm-winsz2.m4: Likewise.
83344         * m4/lcmessage.m4: Likewise.
83345         * m4/ls-mntd-fs.m4: Likewise.
83346         * m4/malloc.m4: Likewise.
83347         * m4/memcmp.m4: Likewise.
83348         * m4/putenv.m4: Likewise.
83349         * m4/realloc.m4: Likewise.
83350         * m4/st_mtim.m4: Likewise.
83351         * m4/strftime.m4: Likewise.
83352
83353 1999-01-16  Jim Meyering  <meyering@ascend.com>
83354
83355         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
83356         (ARGMATCH_DIE_DECL): Define.
83357
83358 1999-01-12  Jim Meyering  <meyering@ascend.com>
83359
83360         * m4/Makefile.am.in: Rewrite to avoid using fmt.
83361         Reported by Lars Hecking.
83362
83363 1999-01-10  Jim Meyering  <meyering@ascend.com>
83364
83365         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
83366         gross kludge.
83367         * m4/inttypes_h.m4: Likewise.
83368         * m4/lstat.m4: Likewise.
83369         * m4/malloc.m4: Likewise.
83370         * m4/readdir.m4: Likewise.
83371         * m4/realloc.m4: Likewise.
83372         * m4/st_dm_mode.m4: Likewise.
83373         * m4/stat.m4: Likewise.
83374         * m4/utimbuf.m4: Likewise.
83375         * m4/utimes.m4: Likewise.
83376
83377         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
83378         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
83379         comments in config.h.in are meaningful.
83380
83381         * m4/jm-macros.m4: Require autoconf-2.13 here.
83382
83383         * m4/regex.m4: By default, don't use the included regex.c on systems
83384         with glibc 2.  Suggestion from Uli Drepper.
83385
83386 1999-01-02  Jim Meyering  <meyering@ascend.com>
83387
83388         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
83389
83390 1998-12-18  Jim Meyering  <meyering@ascend.com>
83391
83392         * m4/Makefile.am.in (Makefile.am): Simplify rule.
83393         Based on a suggestion from Lars Hecking.
83394
83395 1998-11-16  Paul Eggert  <eggert@twinsun.com>
83396
83397         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
83398
83399 1998-11-16  Jim Meyering  <meyering@ascend.com>
83400
83401         * m4/lfs.m4: Double-quote the `uname...` expression.
83402
83403 1998-11-14  Jim Meyering  <meyering@ascend.com>
83404
83405         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
83406         * m4/stat.m4: Likewise.
83407
83408 1998-11-03  Jim Meyering  <meyering@ascend.com>
83409
83410         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
83411         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
83412
83413 1998-10-18  Jim Meyering  <meyering@ascend.com>
83414
83415         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
83416
83417 1998-10-17  Jim Meyering  <meyering@ascend.com>
83418
83419         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
83420         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
83421         calls for those previously hard-coded headers.  Instead, take a new
83422         parameter.
83423         (jm_CHECK_DECLARATIONS): Reflect interface change.
83424         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
83425         (jm_CHECK_DECL_LOCALTIME_R): New macro.
83426
83427         * m4/mktime.m4: Test for spring-forward gap before long-running test.
83428
83429 1998-10-14  Jim Meyering  <meyering@ascend.com>
83430
83431         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
83432         instead of "TZ=America/Vancouver".  From Paul Eggert.
83433
83434 1998-10-11  Jim Meyering  <meyering@ascend.com>
83435
83436         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
83437         This adds a test for a recently added compatibility fix for mktime.c.
83438         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
83439
83440 1998-09-27  Jim Meyering  <meyering@ascend.com>
83441
83442         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
83443
83444         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
83445         ../configure.in, including a change from Gordon Matzigkeit to allow
83446         cross-compiling for the Hurd.
83447
83448         * m4/glibc.m4: New file/macro to test for the GNU C Library
83449         versions 1 and 2.  From Gordon Matzigkeit.
83450         Indent.
83451
83452 1998-09-21  Jim Meyering  <meyering@ascend.com>
83453
83454         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
83455
83456 1998-08-18  Paul Eggert  <eggert@twinsun.com>
83457
83458         Port nanosecond-resolution times to UnixWare 2.1.2 and
83459         pedantic Solaris 2.6.
83460
83461         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
83462         AC_STRUCT_ST_MTIM.
83463         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
83464         Generate name of ns member, instead of just 1 or undef.
83465         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
83466
83467 1998-08-15  Jim Meyering  <meyering@ascend.com>
83468
83469         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
83470         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
83471         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
83472         instead of jm_TYPE_SSIZE_T.
83473
83474 1998-08-12  Jim Meyering  <meyering@ascend.com>
83475
83476         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
83477
83478 1998-08-02  Jim Meyering  <meyering@ascend.com>
83479
83480         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
83481         in acconfig.h manually.
83482
83483 1998-07-31  Paul Eggert  <eggert@twinsun.com>
83484
83485         * m4/st_mtim.m4: New file.
83486
83487 1998-07-28  Jim Meyering  <meyering@ascend.com>
83488
83489         * m4/utimes.m4: Undef stat.
83490
83491 1998-07-25  Jim Meyering  <meyering@ascend.com>
83492
83493         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
83494         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
83495
83496 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
83497
83498         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
83499         uid and gid actually remain unchanged.
83500
83501 1998-07-07  Jim Meyering  <meyering@ascend.com>
83502
83503         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
83504
83505 1998-07-04  Jim Meyering  <meyering@ascend.com>
83506
83507         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
83508         to prove that this macro can be used in packages without regex.c.
83509
83510 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
83511
83512         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
83513         is to be used.
83514
83515 1998-07-03  Jim Meyering  <meyering@ascend.com>
83516
83517         * m4/gettext.m4: Add -lintl if it's found to be necessary.
83518
83519         * m4/gettext.m4: New file -- from gettext-0.10.35.
83520         * m4/lcmessage.m4: Likewise.
83521         * m4/progtest.m4: Likewise.
83522
83523         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
83524         * m4/jm-macros.m4: Require the new macro.
83525
83526 1998-06-29  Jim Meyering  <meyering@ascend.com>
83527
83528         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
83529         for the definition of NGROUPS (used in a system header included
83530         by sys/mount.h).
83531
83532 1998-06-28  Jim Meyering  <meyering@ascend.com>
83533
83534         * m4/ls-mntd-fs.m4: New file.
83535         * m4/fstypename.m4: New file.
83536
83537         * m4/jm-macros.m4: Require the new macro.
83538         * m4/jm-glibc-io.m4: New file.
83539
83540 1998-05-19  Jim Meyering  <meyering@ascend.com>
83541
83542         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
83543         * m4/lchown.m4: New file.
83544
83545         * m4/Makefile.am.in: New file.
83546         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
83547
83548 1998-05-14  Jim Meyering  <meyering@ascend.com>
83549
83550         * m4/Makefile.am (EXTRA_DIST): Add them.
83551         * m4/jm-macros.m4: New file.
83552         * m4/utimbuf.m4: New file.
83553
83554 1998-05-12  Jim Meyering  <meyering@ascend.com>
83555
83556         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
83557
83558 1998-05-11  Jim Meyering  <meyering@ascend.com>
83559
83560         * m4/isc-posix.m4: New file.
83561
83562 1998-05-10  Jim Meyering  <meyering@ascend.com>
83563
83564         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
83565
83566 1998-05-09  Jim Meyering  <meyering@ascend.com>
83567
83568         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
83569         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
83570         with automake.
83571
83572         * m4/ssize_t.m4: New file.
83573         * m4/mktime.m4: Remove file -- the new automake has this now.
83574
83575 1998-04-26  Jim Meyering  <meyering@ascend.com>
83576
83577         * m4/assert.m4: New file.
83578         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
83579
83580 1998-04-05  Jim Meyering  <meyering@ascend.com>
83581
83582         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
83583         (jm_PREREQ): Use it here.
83584
83585 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
83586
83587         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
83588         in acconfig.h.
83589
83590 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
83591
83592         * m4/prereq.m4: New file.
83593         * m4/error.m4: New file.
83594         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
83595
83596 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
83597
83598         * m4/getline.m4: Don't set am_cv_func_working_getline before the
83599         cache-check for the same variable -- that defeated the purpose of
83600         the test; the test program was never run.  This was a problem only
83601         on systems with losing getline functions -- HP-UX 10.20 is one.
83602         Reported by Bjorn Helgaas.
83603
83604 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
83605
83606         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
83607
83608 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
83609
83610         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
83611
83612         * m4/const.m4: New file.  Use an initializer in this declaration
83613         typedef int charset[2]; const charset x;
83614         Reported by Bob Glickstein.
83615
83616 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
83617
83618         * m4/chown.m4: Fix reversed types on -1 args to chown.
83619         From Kaveh Ghazi.
83620
83621 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
83622
83623         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
83624         Add lseek and memchr.
83625
83626         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
83627         T.E.Dickey <dickey@clark.net> said that some older preprocessors
83628         have a 20-character limit on names.
83629
83630 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
83631
83632         * m4/inttypes_h.m4: New file.
83633         * m4/uintmax_t.m4: New file.
83634         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
83635
83636
83637         -----
83638
83639         Local Variables:
83640         coding: utf-8
83641         End:
83642
83643         Copyright (C) 1997-2011 Free Software Foundation, Inc.
83644
83645         Copying and distribution of this file, with or without
83646         modification, are permitted provided the copyright notice
83647         and this notice are preserved.